When I want to "exit" a block of code while writing it, I press <backspace>. For example, I'm writing this:
When I press backspace, I'll get something like this:
But then, I want to leave some space after the block, so I hit <enter>. The result is that the indent of the new line is set to the one of the last non-blank line:
While this seems to be a minor issue, it trips me up all the time. I suppose I should get used to leaving the space first with an <enter>, but I can't seem to do so :). In python, the behaviour is exactly as I want it to be, so I took a cue from that indent file and I tweaked this one to work like that.
I understand there may be some specific reason to have it this way. If so, I have no complaints to rejecting this PR outright.
On pressing backspace+Enter, keep cursor indent
trips me up all the time too
Remove special comment handling
Comments seem to be handled fine without it, except their behaviour
matches the new backspacing behaviour -- when the user backspaces after
a comment line, their indentation is preserved when they hit "Enter".
I also pushed a commit that makes the same behaviour work if the above line is a comment. To do that, I removed special handling of comment indentation. Everything seems to work okay after a few quick tests, but if someone notices any problems, please let me know.
Should this happen when I press o for new line + insert mode and type a #?
edit: found this, http://stackoverflow.com/a/2323728/303712
Smart indent seems to be useful for C, but not necessary in this case.
Seems like smartindent is meant for C -- it probably indents the # over there because it considers it a preprocessor directive. I've pushed a commit that unsets smartindent in coffeescript buffers.
In the end, there has to be an explicit check for comments, or they get
indented just like normal code.
Add coffee_indent_keep_current (#98)
Looking back at the history, this was actually the original behavior before 2a691d9/#69. I prefer the current behavior, but obviously it's a subjective thing, so at long last I've added a config knob coffee_indent_keep_current if you prefer it to work this way.
Thanks, this seems like it should please both camps.