История изменений
Исправление
Neuromagus,
(текущая версия)
:
Во. По делу: https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
Есть и оф. дока, но я по исходникам рыл.
В двух словах: есть либа на Rust и C, а к ней есть синтаксические дополнения (grammars). Как пример - go или Python, языков много, в оф доке написано скромно, как написать для своего ЯП.
Ну и что надо сделать - tree-sitter встроен в 29 версию, а grammars надо или закомпилить по инструкции или поставить пакетом
В первой ссылке небольшая инструкция, написана человеческим языком, даже такому нубу, как я, зашла (я даже правки вносил :))
Ну а дальше (в инструкции написано), надо указать Emacs забыть как сон заменить major-mode на ts-mode (tree-sitter).
И начнут сыпаться плюшки. Плюшек много. И я понял, что пока люди их обходят стороной. Переписывался с «System Crafter», так он нубасит, пока сам не разобрался, видос не запилит и так далее. Может надо сделать заметку на ЛОР, да вот я не считаю себя компетентным.
Что могу сказать (и что я понимаю) - это быстрее, точнее, даёт унификацию (grammars вынесены, как и LSP). Много работы по перерабботке инструментов. Работа с кодом поменялась в 29 версии.
Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:
- General enough to parse any programming language
- Fast enough to parse on every keystroke in a text editor
- Robust enough to provide useful results even in the presence of syntax errors
- Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
Можно ли самому как-то писать, и скажем интегрировать в SLIME динамически?
Можно, всё можно.
P.S. где встроено и показывает результаты - Nvim, VSCode, Emacs 29 (начально)
P.P.S. https://github.com/theHamsta/tree-sitter-commonlisp
Исправление
Neuromagus,
:
Во. По делу: https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
Есть и оф. дока, но я по исходникам рыл.
В двух словах: есть либа на Rust и C, а к ней есть синтаксические дополнения (grammars). Как пример - go или Python, языков много, в оф доке написано скромно, как написать для своего ЯП.
Ну и что надо сделать - tree-sitter встроен в 29 версию, а grammars надо или закомпилить по инструкции или поставить пакетом
В первой ссылке небольшая инструкция, написана человеческим языком, даже такому нубу, как я, зашла (я даже правки вносил :))
Ну а дальше (в инструкции написано), надо указать Emacs забыть как сон заменить major-mode на ts-mode (tree-sitter).
И начнут сыпаться плюшки. Плюшек много. И я понял, что пока люди их обходят стороной. Переписывался с «System Crafter», так он нубасит, пока сам не разобрался, видос не запилит и так далее. Может надо сделать заметку на ЛОР, да вот я не считаю себя компетентным.
Что могу сказать (и что я понимаю) - это быстрее, точнее, даёт унификацию (grammars вынесены, как и LSP). Много работы по перерабботке инструментов. Работа с кодом поменялась в 29 версии.
Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:
- General enough to parse any programming language
- Fast enough to parse on every keystroke in a text editor
- Robust enough to provide useful results even in the presence of syntax errors
- Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
Можно ли самому как-то писать, и скажем интегрировать в SLIME динамически?
Можно, всё можно.
P.S. где встроено и показывает результаты - Nvim, VSCode, Emacs 29 (начально) P.P.S. https://github.com/theHamsta/tree-sitter-commonlisp
Исправление
Neuromagus,
:
Во. По делу: https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
Есть и оф. дока, но я по исходникам рыл.
В двух словах: есть либа на Rust и C, а к ней есть синтаксические дополнения (grammars). Как пример - go или Python, языков много, в оф доке написано скромно, как написать для своего ЯП.
Ну и что надо сделать - tree-sitter встроен в 29 версию, а grammars надо или закомпилить по инструкции или поставить пакетом
В первой ссылке небольшая инструкция, написана человеческим языком, даже такому нубу, как я, зашла (я даже правки вносил :))
Ну а дальше (в инструкции написано), надо указать Emacs забыть как сон заменить major-mode на ts-mode (tree-sitter).
И начнут сыпаться плюшки. Плюшек много. И я понял, что пока люди их обходят стороной. Переписывался с «System Crafter», так он нубасит, пока сам не разобрался, видос не запилит и так далее. Может надо сделать заметку на ЛОР, да вот я не считаю себя компетентным.
Что могу сказать (и что я понимаю) - это быстрее, точнее, даёт унификацию (grammars вынесены, как и LSP). Много работы по перерабботке инструментов. Работа с кодом поменялась в 29 версии.
Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:
- General enough to parse any programming language
- Fast enough to parse on every keystroke in a text editor
- Robust enough to provide useful results even in the presence of syntax errors
- Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
Можно ли самому как-то писать, и скажем интегрировать в SLIME динамически?
Можно, всё можно.
P.S. где встроено и показывает результаты - Nvim, VSCode, Emacs 29 (начально)
Исходная версия
Neuromagus,
:
Во. По делу: https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
Есть и оф. дока, но я по исходникам рыл.
В двух словах: есть либа на Rust и C, а к ней есть синтаксические дополнения (grammars). Как пример - go или Python, языков много, в оф доке написано скромно, как написать для своего ЯП.
Ну и что надо сделать - tree-sitter встроен в 29 версию, а grammars надо или закомпилить по инструкции или поставить пакетом
В первой ссылке небольшая инструкция, написана человеческим языком, даже такому нубу, как я, зашла (я даже правки вносил :))
Ну а дальше (в инструкции написано), надо указать Emacs забыть как сон заменить major-mode на ts-mode (tree-sitter).
И начнут сыпаться плюшки. Плюшек много. И я понял, что пока люди их обходят стороной. Переписывался с «System Crafter», так он нубасит, пока сам не разобрался, видос не запилит и так далее. Может надо сделать заметку на ЛОР, да вот я не считаю себя компетентным.
Что могу сказать (и что я понимаю) - это быстрее, точнее, даёт унификацию (grammars вынесены, как и LSP). Много работы по перерабботке инструментов. Работа с кодом поменялась в 29 версии.
Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:
- General enough to parse any programming language
- Fast enough to parse on every keystroke in a text editor
- Robust enough to provide useful results even in the presence of syntax errors
- Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
Можно ли самому как-то писать, и скажем интегрировать в SLIME динамически?
Можно, всё можно.