Size: a a a

2021 January 22

EG

Emmanuel Goldstein in pro.vim
Yaroslav Schekin
И, кстати, в vim можно за несколько минут написать свою простую подсветку (и это удобно отлаживать), и тут же использовать.
Т.е. это "дёшево и сердито".
А что с этим в neovim + tree-sitter (ну или tree-sitter + любой другой редактор, где он уже используется)?
Всё очень просто — если нет подсветки через tree-sitter, используется обычная вимовская
источник

NS

Ni Shi in pro.vim
добрый вечер. как то видел бинд клавишь для перемещения между окнами с фичей проверки окна. (что то вроде если справа есть окно то перехожу в него если нет то делаю вертикальный сплит и перехожу в право) но теперь не могу найти такое. никто не видел?
источник

SB

Sergey Batalev in pro.vim
Ni Shi
добрый вечер. как то видел бинд клавишь для перемещения между окнами с фичей проверки окна. (что то вроде если справа есть окно то перехожу в него если нет то делаю вертикальный сплит и перехожу в право) но теперь не могу найти такое. никто не видел?
Явно писать собственную функцию на вимскрипте
источник

YS

Yaroslav Schekin in pro.vim
Emmanuel Goldstein
Всё очень просто — если нет подсветки через tree-sitter, используется обычная вимовская
Ну так и получается, что это "всё просто" — его дефект.
Аналогично, можно ли быстро поправить / изменить "под себя" какой-то синтаксис (в vim-е это было бы добавление нескольких правил в after/syntax, или уж исправление самого syntax file, и этим тут же можно пользоваться)?
источник

YS

Yaroslav Schekin in pro.vim
В общем, tree-sitter — это не только "песни и розы", врождённых недостатков у него (и его интеграций) хватает.

Я ни в коем случае не хочу сказать, что vim syntax хорош — его реализация просто ужасна (но то, что он "может" многое без нужды во "внешних" средствах — это всё-таки плюс), и отсюда следует и "качество" большинства syntax files.
источник

NG

Nicholas Guriev in pro.vim
Yaroslav Schekin
В общем, tree-sitter — это не только "песни и розы", врождённых недостатков у него (и его интеграций) хватает.

Я ни в коем случае не хочу сказать, что vim syntax хорош — его реализация просто ужасна (но то, что он "может" многое без нужды во "внешних" средствах — это всё-таки плюс), и отсюда следует и "качество" большинства syntax files.
как я понял, treesitter полезен в дополнение к syntax файлам вима, а не как их полноценная замена
источник

SB

Sergey Batalev in pro.vim
Nicholas Guriev
как я понял, treesitter полезен в дополнение к syntax файлам вима, а не как их полноценная замена
Конечно, он некоторые файлы и не умеет хайлайтить
источник

YS

Yaroslav Schekin in pro.vim
Sergey Batalev
Конечно, он некоторые файлы и не умеет хайлайтить
Если верить https://github.com/nvim-treesitter/nvim-treesitter#supported-languages , то "некоторые" = "почти все". ;)
Т.е. там 45 против 600 с чем-то (и это только в дистрибутиве) у vim.
Хотя, если честно, большинство из оставшихся языков / типов файлов не так популярны, по идее...
источник

G

GNU/Vsevolod in pro.vim
Yaroslav Schekin
> Не умеет, потому что он на асте работает

Т.е. "тащит" не нужную именно для этой задачи структуру.
Потенциально огромную, между прочим.

> Про менять на лету не понял, это для чего?

Для того, чтобы способ подсветки данного кода менять "на лету" (и vim это умеет, в отличие от).

> Умеет, например гитхаб вшивает файлы с лексикой прямо в сервер

"Вшивает" и "работать без lexers" — это совсем разные вещи. Т.е. чисто декларативно в нём практически используемые не контекстно-свободные конструкций без "мудрения" в lexers просто не реализуешь.
Это же так "продвинуто" — vim и то больше может в некоторых местах. ;)

> мне так разраб в дискассе сказал

"Разраб" там любит поговорить (покритиковать другие подходы, например), это да. Популярности, видно, хочется. ;)
что такое способ подсветки?
источник

G

GNU/Vsevolod in pro.vim
Nicholas Guriev
как я понял, treesitter полезен в дополнение к syntax файлам вима, а не как их полноценная замена
Не, если триситтер умеет в этот filetype, то он замещает вимовский собой полностью (и кстати лагать перестает, сразу видно)
источник

SB

Sergey Batalev in pro.vim
Yaroslav Schekin
Если верить https://github.com/nvim-treesitter/nvim-treesitter#supported-languages , то "некоторые" = "почти все". ;)
Т.е. там 45 против 600 с чем-то (и это только в дистрибутиве) у vim.
Хотя, если честно, большинство из оставшихся языков / типов файлов не так популярны, по идее...
Scala, ts, yaml, vue
источник

SB

Sergey Batalev in pro.vim
Там много чего нету
источник

SB

Sergey Batalev in pro.vim
GNU/Vsevolod
Не, если триситтер умеет в этот filetype, то он замещает вимовский собой полностью (и кстати лагать перестает, сразу видно)
Регулярки зло, это точно
источник

NG

Nicholas Guriev in pro.vim
Yaroslav Schekin
Если верить https://github.com/nvim-treesitter/nvim-treesitter#supported-languages , то "некоторые" = "почти все". ;)
Т.е. там 45 против 600 с чем-то (и это только в дистрибутиве) у vim.
Хотя, если честно, большинство из оставшихся языков / типов файлов не так популярны, по идее...
полагаю, самые сложные реализованы через treesitter
источник

G

GNU/Vsevolod in pro.vim
Yaroslav Schekin
> Не умеет, потому что он на асте работает

Т.е. "тащит" не нужную именно для этой задачи структуру.
Потенциально огромную, между прочим.

> Про менять на лету не понял, это для чего?

Для того, чтобы способ подсветки данного кода менять "на лету" (и vim это умеет, в отличие от).

> Умеет, например гитхаб вшивает файлы с лексикой прямо в сервер

"Вшивает" и "работать без lexers" — это совсем разные вещи. Т.е. чисто декларативно в нём практически используемые не контекстно-свободные конструкций без "мудрения" в lexers просто не реализуешь.
Это же так "продвинуто" — vim и то больше может в некоторых местах. ;)

> мне так разраб в дискассе сказал

"Разраб" там любит поговорить (покритиковать другие подходы, например), это да. Популярности, видно, хочется. ;)
Вим же тоже не сможет правильно подсветить без синтакс файлов, откуда ему метаданные брать?
источник

EG

Emmanuel Goldstein in pro.vim
Sergey Batalev
Scala, ts, yaml, vue
Оно ещё и не в релизе
источник

NG

Nicholas Guriev in pro.vim
нет, наверное, смысла для каких-нибудь ini-файлов пилить целый модуль в treesitter
источник

SB

Sergey Batalev in pro.vim
Emmanuel Goldstein
Оно ещё и не в релизе
Ну тут согласен, как и nvim 0.5
источник

YS

Yaroslav Schekin in pro.vim
GNU/Vsevolod
что такое способ подсветки?
Вот, например: https://buttondown.email/hillelwayne/archive/syntax-highlighting-is-a-waste-of-an-information/
И, кстати, даже в дистрибутиве vim были syntax files, которые генерируют синтаксис (правила подсветки!), читая входной файл.
А что на это может сказать tree-sitter? ;)
источник

EG

Emmanuel Goldstein in pro.vim
0.5 это вечный найтли, увы
источник