Этот regex разделит на основе случая, который Вы дали выше, хотя он не разделяет кавычки или дополнительные пространства, таким образом, можно хотеть сделать некоторую обработку сообщения на строках. Это должно правильно держать заключенные в кавычки строки вместе все же.
"[^"]+"|\s?\w+?\s
Похоже, это довольно просто - я просто создаю файл
~/.vim/indent/treetop.vim
и делаю его единственное содержимое
runtime! indent/ruby.vim
, и он, кажется, поддерживает все, что мне нужно. Я думаю, он просто не загружал файл отступов Ruby!
Я не уверен, существует ли прямая реализация на Ruby, но плагин vim rails довольно хорошо обрабатывает отступы.
Вы всегда можете просто отредактировать его, чтобы он поддерживал файлы Ruby, не входящие в проект rails. Проверить это.Некоторое время назад я искал это для Vim или Emacs и ничего не нашел, поэтому я начал писать свой собственный режим для Emacs. Так и не дошло, так как я практически перестал использовать TT, но если моя память не подводит, вам нужно только разобрать что-то вроде:
grammar Name
includes # something like "include Something"
rule rule_name
tokens_or_rules {
inner_method {
}
}
<MyModule>
end
end
Что может быть не слишком сложно после прочтения это .
PS: Имейте в виду, что эта грамматика действительно похожа на грамматику, используемую RSpec, которая является естественным Ruby, так что, возможно, вы могли бы получить некоторую помощь, прочитав ее.