Первый пример XML Builder для Nokogiri выглядит следующим образом:

builder = Nokogiri::XML::Builder.new do |xml|
    xml.root {
      xml.products {
        xml.widget {
          xml.id_ "10"
          xml.name "Awesome widget"
        }
      }
    }
 end
 puts builder.to_xml

Несмотря на то, что у меня установлены файлы Ruby Vim , автоиндент Vim выравнивает приведенный выше пример следующим образом:

builder = Nokogiri::XML::Builder.new do |xml|
  xml.root {
    xml.products {
    xml.widget {
    xml.id_ "10"
    xml.name "Awesome widget"
  }
  }
  }
end
puts builder.to_xml

Кто-нибудь знает, как заставить Vim автоматически делать отступ?

1 ответ1

0

Я могу воспроизвести это.

Правила отступов определены в функции GetRubyIndent , которая находится в /usr/share/vim/vimcurrent/indent/ruby.vim в системах Linux и Unix.

Кажется, проблема в том, что GetMSL возвращает 8 для строки 3, но также возвращает 8 вместо 12 для строки 4.

Если у вас есть немного времени, посмотрите на исходный код и постарайтесь найти и устранить проблему.

Если нет, вы можете сообщить об ошибке на сайте проекта RubyForge Vim/Ruby.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .