Я пытаюсь использовать Vim для кода Groovy на работе. Кажется, он плохо справляется с автоотступами, когда точка с запятой не используется. Я нашел несколько вопросов, связанных с Ruby и JavaScript, с теми же проблемами, но ни одно из исправлений, которые я нашел, не работает для меня. У меня есть filetype plugin indent on
в моем .vimrc, и я не устанавливаю cindent
, autoindent
или smartindent
. Я пытался запустить setlocal nocindent nosmartindent
в буфере Groovy и изменить отступ файла с помощью ggVG=
на тот случай, если есть плагин, устанавливающий их за кулисами, и он все равно всегда ошибается.
Например, я получаю это на небольшом образце (из личного приложения-песочницы libGDX, которое я пишу на Groovy)
@Override
void render () {
Gdx.gl.glClearColor(0.75f, 0.75f, 0.75f, 1)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
batch.begin()
batch.draw(img, 0, 0)
font.draw(batch, "Testing", 300, 400)
batch.end()
}
Обратите внимание на дополнительные отступы после аннотации, открывающей скобки и первой строки функции. Мой .vimrc довольно сложен, но я могу опубликовать ссылку на мои dotfiles, если кто-то думает, что это поможет.
vim -u NONE -U NONE <file.groovy>
в каждой из этих версий, и вижу одно и то же поведение, поэтому я совершенно уверен, что это не плагин или одна из моих настроек .vimrc, вызывающая это. - person DuckPuppy   schedule 09.07.2015void
и}
совпадают с аннотацией в первом столбце файла. - person FDinoff   schedule 09.07.2015void
и}
совпадают с аннотацией, но содержимое метода по-прежнему имеет неправильный отступ. У вас есть другая проблема со всеми строками после первой внутри метода с отступом на один дополнительный уровень? - person DuckPuppy   schedule 09.07.2015