LINUX.ORG.RU

История изменений

Исправление 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. Где настроить отдельно, не нашёл. Наверно, плохо искал.

Всех причастных поздравляю с релизом!