I have been using the Whitesmith syntax without even knowing it for many years.

I started using it back in the days of Microsoft C for DOS and then nearly all coding examples I saw used this format.

I too find this notation easy on the eyes and easy to pick out the level of the code and blocks of similar code. The code is logically seperated and clean to read. My brain, limited as it is, does not have to think about matching braces or counting braces. Visually for me the code looks right and my brain can concentrate on the content.

I also would be very interested in Sublime supporting this syntax style.

Using a whole extra line for an opening brace? I have never been able to understand why anyone would waste the space and not use One True Brace Style. If there is a reason, please enlighten me. The beginning of a block can always be located because the "for" / "while" / "if" / "else" keyword should be highlighted - so then what is the reason.

More lines for the same code means more scrolling and less methods shown at screen at one time --> takes longer to navigate around in your code.

The fact is that some people or code will use a brace style that you dislike for whatever reason (they might just like it, or they might hate it but are forced to use it because of some requirement). Some people might even dislike the brace style that you prefer, even if as far as you can tell there's absolutely no defect in it.

So, people have said that it is possible to do this with a plugin, but I haven't seen anyone point to how exactly to do it. Can someone please give some guidance on how one would go about writing a plugin that formats code this way?

Using a whole extra line for an opening brace? I have never been able to understand why anyone would waste the space and not use One True Brace Style. If there is a reason, please enlighten me. The beginning of a block can always be located because the "for" / "while" / "if" / "else" keyword should be highlighted - so then what is the reason.

More lines for the same code means more scrolling and less methods shown at screen at one time --> takes longer to navigate around in your code.

For anyone else interested in whitesmith indenting, it does look as though this could be done with a plugin. I found this plugin for customised lisp/clojure indent behaviour which should serve as a useful starting point for writing a custom autoindent, whitesmith style. I'm not interested in whitesmith myself so I'll bow out here - but I did take a look at the plugin code and upon cursory glance it seems to have all of the needed elements.

Don't be ashamed of using Whitesmiths notation. It's a sign of maturity.

Whitesmiths was around long before the current K&R/Linux/Windows way of doing it was invented. In fact, the history of K&R goes back to a 1990's book on programming for Windows. For those of us who have been programming since the 70's and managed to avoid Windows, we've not been infected with K&R formatting.

And I add my voice to those who would like to see Whitesmiths in SublimeText. It's pretty much the only reason I stick with my current IDE and don't switch to Sublime.

In fact, the history of K&R goes back to a 1990's book on programming for Windows.

"K&R" are Kernighan and Ritchie, the authors of the book The C Programming Language (and of course, they're also the authors of, well, the C programming language). I don't know what programming book you're thinking of, but I assure you that the K&R brace style predates that book. And, for that matter, predates Windows.

(Ironically, while the Whitesmiths style also predates Windows, Wikipedia suggests that it was popularized largely by... early books on programming for Windows.)

this Whitesmiths indentation style is highly incompatible with the TextMate Indentation Rules - for example, I imagine you would want it so that when pressing { on an otherwise blank line, it would indent the brace. There is no way to do this using the indentation rules. However, you could write a keybinding to insert a tab (which would get converted to your preferred number of spaces if you don't use tabs) followed by the { character. I think this is probably your best option. If you wanted, you could prevent the reindent command from moving those braces, but there wouldn't be an easy way to get it to indent the braces for you.

Again, for } you would probably want a keybinding to insert the }, followed by a new line and to adjust the indentation one level backwards on the new line. Because there is no way using the indentation rules to say, dedent the next line after a } on the previous/current line.