LINUX.ORG.RU

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

Исправление StillSteal, (текущая версия) :

Кто-то уже редактировал продолжительное время бафферы с treesitter’ом в emacs? Как полет? Присутствуют ли проблемы, которые я опишу ниже?

Мои впечатления от его использования в neovim скорее отрицательные. К самому treesitter претензий нет (разве что не для всех типов файлов парсеры одинаково хороши), а вот реализация neovim’a под вопросом.

Да полностью отпарсенный файл - все супер, быстрее регулярок, подсветка качественная. Но вот только начинаешь редактировать файл, тут и вылезают проблемы. Пока печатаешь неоконченный блок, который сможет отпарсить treesitter - нет подсветки (но это можно пережить), но самое главное не работают отступы от слова совсем. То есть изначально надо все блоки закрывать, чтобы парсер мог правильно отступы расставлять (как пример любые скобочные блоки ( [ {, или обязательно закрывать end’ом в lua любые блоки типа function, if, for и так далее, прежде чем уже редактивать внутри блока). То есть чуть ли обязательно надо пользоваться autopair плагинами и снипеттами. Скорость вставки относительно большого блока кода 100+ строк, в файле скажем на 1000+ строк делается с колосальным делеем и все это усугубляется в несколько раз, если включена поддержка отсутупов и если вставляемый текст временно не парсится нормально. Тоже самое с поиском-заменой в баффере, если она изменяет количество строк в файле.

Почему столько хайпа вокруг treesitter в neovim, когда его поддежка в таком состоянии, для меня загадка.

Исходная версия StillSteal, :

Кто-то уже редактировал продолжительное время бафферы с treesitter’ом в emacs? Как полет? Присутствуют ли проблемы, которые я опишу ниже?

Мои впечатления от его использования в neovim скорее отрицательные. К самому treesitter претензий нет (разве что не для всех типов файлов парсеры одинаково хороши), а вот реализация neovim’a под вопросом.

Да полностью отпарсенный файл - все супер, быстрее регулярок, подсветка качественная. Но вот только начинаешь редактировать файл, тут и вылезают проблемы. Пока печатаешь неоконченный блок, который сможет отпарсить treesitter - нет подсветки (но это можно пережить), но самое главное не работают отступы от слова совсем. То есть изначально надо все блоки закрывать, чтобы парсер мог правильно отступы расставлять (как пример любые скобочные блоки ( [ {, или обязательно закрывать end’ом в lua любые блоки типа function, if, for и так далее, прежде чем уже редактивать внутри блока). Скорость вставки относительно большого блока кода 100+ строк, в файле скажем на 1000+ строк делается с колосальным делеем и все это усугубляется в несколько раз, если включена поддержка отсутупов и если вставляемый текст временно не парсится нормально. Тоже самое с поиском-заменой в баффере, если она изменяет количество строк в файле.

Почему столько хайпа вокруг treesitter в neovim, когда его поддежка в таком состоянии, для меня загадка.