История изменений
Исправление lwo, (текущая версия) :
За два дня до выхода 0.9 не дождался и перебазировал свой патч на предрелизную версию 0.9 (master) ради EditorConfig (который заработал отлично). А вот lua не трогал, у меня пока что init.vim по старинке.
Попробовал подсветку tree-sitter с доступным в интернете плагином и парсером C++. Завелось без проблем! Видно, что более продвинуто, чем regex-движок. Но при этом не заметно анализа: подсветка не отличает локальные переменные от членов, имя функции определяет по скобкам после, а макросы по капсу. Я понимаю, что парсеры на основе TS призваны быть сильно проще и быстрее языковых серверов (наверно, он и не лезет во включенные #include
файлы?), но через это оно и не сильно полезнее, чем примитивная подсветка ИМХО.
Автоматические выравнивания с парсером tree-sitter оказались умнее стандартного движка в случаях со switch
/case
, но при этом не следуют (или не полностью) моему cinoptions
. Где настроить отдельно, не нашёл. Наверно, плохо искал.
Также в стандартном движке foldmethod=syntax
у neovim есть странные баги, когда он, видимо, забывает обновить информацию о фолдах при некоторых операциях редактирования и в результате они слетают и сворачивают вообще не то, что нужно (например между скобками, которые друг другу не соответствуют). Решается повторным :set fdm=syntax
, при котором он, видимо, это дело пересчитывает. Я предполагаю, что с нормальным (пусть и примитивным) парсером языка на базе tree-sitter этого бага тоже нет; по крайней мере, не встретил.
Всех причастных поздравляю с релизом!
Исходная версия lwo, :
За два дня до выхода 0.9 не дождался и перебазировал свой патч на предрелизную версию 0.9 (master) ради EditorConfig (который заработал отлично). А вот lua не трогал, у меня пока что init.vim по старинке.
Попробовал подсветку tree-sitter с доступным в интернете плагином и парсером C++. Завелось без проблем! Видно, что более продвинуто, чем regex-движок. Но при этом не заметно анализа: подсветка не отличает локальные переменные от членов, имя функции определяет по скобкам после, а макросы по капсу. Я понимаю, что парсеры на основе TS призваны быть сильно проще и быстрее языковых серверов (наверно, он и не лезет во включенные #include
файлы?), но через это оно и не сильно полезнее, чем примитивная подсветка ИМХО.
Автоматические выравнивания с парсером tree-sitter оказались умнее стандартного движка в случаях со switch
/case
, но при этом не следуют (или не полностью) моему cinoptions
. Где настроить отдельно, не нашёл. Наверно, плохо искал.
Всех причастных поздравляю с релизом!