AutoIndent для JavaScript в Vim, который понимает вставку точек с запятой - PullRequest
5 голосов
/ 30 апреля 2010

Я не заканчиваю свои операторы JavaScript точкой с запятой, когда символы новой строки будут работать.Нет пламени, пожалуйста.У меня вопрос, есть ли автоматический пакет отступов для vim, который будет работать?

Вот пример того, насколько он глуп:

$(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

1 Ответ

9 голосов
/ 30 апреля 2010

Я доволен следующим скриптом Vim:

Результат вашего кода после gg=G:

var one = 1
var two = 2
var fun = function(){
  var three = 3
  var four = 4
  var five = 5
}

var fun2 = (function(foo){
  var six = 6
})
...