I don't end my JavaScript statements with semicolons when newlines will work. No flames, please. My question is, is there an automatic indentation package for vim that will work?
Here is an example of how dumb it is:
$(function(){
var foo // code starts here,
// The following line breaks things, but adding a comment to it fixes things
({a:1})
var foo // everything is stuck left now.
({a:1})
var foo // previous line justifies all following lines wherever you put it
function flat(){
var foo // function starts out right, but the next line dedents it
({a:1})
var foo
}
var foo // now we're over here
if (foo) {
var foo // this if block doesn't close properly
} else if (foo){ // add a comment here to dedent the else body
var foo
} else if (foo){
var foo
} // add a comment here to indent and break the following lines
var foo
})
// all parenthesis match, but yet our indentations don't