Posso obter o vim para recuar corretamente este código Ruby (Nokogiri)?

0

O primeiro Exemplo do Construtor de XML para o Nokogiri se parece com isto:

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

Apesar de eu ter os arquivos Ruby Vim instalados, o autoindente do Vim nivela o exemplo acima assim:

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

Alguém sabe como fazer com que o Vim indique isso corretamente?

    
por Nathan Long 21.02.2011 / 21:26

1 resposta

0

Eu posso reproduzir isso.

As regras de indentação são definidas na função GetRubyIndent , que está em /usr/share/vim/vimcurrent/indent/ruby.vim nos sistemas Linux e Unix.

O problema parece ser que GetMSL retorna 8 para a linha 3, mas também retorna 8 em vez de 12 para a linha 4.

Se você tiver algum tempo, dê uma olhada no código-fonte e tente localizar e corrigir o problema.

Se não, você pode querer denunciá-lo como um bug no site do projeto RubyForge Vim / Ruby .

    
por 21.02.2011 / 23:37