If I understand correctly, you could just install RegReplace and add the following replacements to the reg_replace.sublime-settings file (copy it to Package/User before modifying):
"remove_trailing_spaces": {
"find": " \\t]+$",
"replace": "",
"greedy": true,
"case": true
},
"remove_leading_spaces": {
"find": "^ ]+",
"replace": "",
"greedy": true
},
"80_chars_limit": {
"find": "^(^\\r\\n]{80})(^\\r\\n]+)$",
"replace": "\\1\\n\\2",
"greedy": true
},
"remove_excessive_newlines_after_curly_end_column_0": {
"find": "^(\\}^\\r\\n]*)((\\r?\\n){2,})",
"replace": "\\1\\n",
"greedy": true
},
And then add this command to your Packages/User/Default.sublime-commands file:
{
"caption": "Check Format: Evaluate Code Format",
"command": "reg_replace",
"args": {
"replacements": "80_chars_limit", "remove_trailing_spaces", "remove_leading_spaces", "remove_excessive_newlines_after_curly_end_column_0"],
"find_only": true
}
},
It should highlight all instances of your rules, and allow you replace them with the defined replacements. Granted the regex should find all of the instances, but the replacements are kind of limited, like if you wanted to split a line greater than 80 chars and indent it the same as the first line, you are tough out of luck without writing a custom plugin to do this.
edit:
If you want to break a line that is greater than 80*2 into small pieces, you can enable multi-pass (it will sweep the file executing the regex until it can pass the file without finding anymore instances, or it hits its internal limit of sweeps)
{
"caption": "Check Format: Evaluate Code Format",
"command": "reg_replace",
"args": {
"replacements": "80_chars_limit", "remove_trailing_spaces", "remove_leading_spaces", "remove_excessive_newlines_after_curly_end_column_0"],
"find_only": true,
"multi_pass": true
}
},
edit:
Thinking about this more, I may allow for custom highlights on save in RegReplace in the future. Currently it allows replacements on save, but a highlight only feature might be nice too; one that cleans up after itself.