tsi.el
elisp-tree-sitter
tsi.el | elisp-tree-sitter | |
---|---|---|
5 | 21 | |
47 | 827 | |
- | 0.2% | |
0.0 | 7.2 | |
almost 2 years ago | 7 months ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tsi.el
-
Does Anyone Have A Working Emacs Config For Indenting JSX Files On The Fly?
I've been building out tsi.el - an emacs minor mode which performs indentation based on a CST returned by tree-sitter. please give it a try if you haven't already, and if you have tried it and it did not meet your needs then I'd love to hear why not!
-
A new SML mode for Emacs built on (a new Standard ML grammar for) tree-sitter
I'd really like to see something that combines the conciseness of SMIE's rule-based indentation system with tree-sitter's richer grammar. There are a couple of projects that I'm looking at, such as https://codeberg.org/FelipeLema/tree-sitter-indent.el and https://github.com/orzechowskid/tsi.el).
-
New to Emacs having problems with Treesitter
;; use our derived mode for tsx files (add-to-list 'auto-mode-alist '("\.tsx\'" . typescriptreact-mode)) ;; by default, typescript-mode is mapped to the treesitter typescript parser ;; use our derived mode to map .tsx -> typescriptreact-mode -> treesitter tsx (add-to-list 'tree-sitter-major-mode-language-alist '(typescriptreact-mode . tsx)) ;; https://github.com/orzechowskid/tsi.el/ ;; great tree-sitter-based indentation for typescript/tsx, css, json (quelpa '(tsi :fetcher github :repo "orzechowskid/tsi.el")) (add-hook 'typescript-mode-hook (lambda () (tsi-typescript-mode 1)))) ```
-
Really sick of the shoddy jsx/tsx handling....would anyone be willing to help me write a major-mode for it?
what are your specific problems? lsp, typescript-mode, and tree-sitter-mode together give me 90% of what I need. I fixed JSX/TSX indentation with a little tool I built (which I should really get around to publishing some day). I'm extremely happy with this setup and use it every day on professional and personal projects.
elisp-tree-sitter
-
How to Get Started with Tree-Sitter
Look at the original integration project https://github.com/emacs-tree-sitter/elisp-tree-sitter, before it was done inside Emacs 29+.
-
function to mark all within brackets, quotes, etc
When tree-sitter is available you may extend expand-region with this one one https://github.com/emacs-tree-sitter/elisp-tree-sitter/issues/20 Works very nice for me. But simple matching pairs should be handled well by expand-region alone
-
How to use Emacs 29 Tree-sitter?
That said, if you want a more complete experience with tree-sitter right now, there’s a 3rd party implementation with support for a lot more languages, and also automatically downloads all supported grammars. It’s available here: https://github.com/emacs-tree-sitter/elisp-tree-sitter
-
why is melpa still necessary for stuff that is built-in to emacs?
Just like there are multiple LSP implementations for emacs (lsp-mode, eglot, lsp-bridge), there are multiple tree-sitter implementations. The one recently included in emacs was never a standalone package, I believe (correct me if that’s wrong), but was created with the purpose of being included in emacs. You will need melpa to download the linked elisp-tree-sitter package (https://github.com/emacs-tree-sitter/elisp-tree-sitter), but not the built in one.
-
tree-sitter has been merged into master
How am I going to even use the built-in one? I was using elisp-tree-sitter. I know I have to add grammar for different languages, but how? I have been searching for a while and still have no clue.
-
Ask HN: S/W development text editor have feature colorizing every iteration?
from github README.rst "Emacs package that provides a standardized framework for manipulating and navigating your source code using tree sitter's concrete syntax tree " -> https://github.com/mickeynp/combobulate
https://www.spacemacs.org/ with https://github.com/emacs-tree-sitter/elisp-tree-sitter then write a iterator/loop query for language(s) editing per https://tree-sitter.github.io/tree-sitter/syntax-highlightin...
tad less installation heavy (sorta) but also makes use of tree-sitter syntax queries : https://www.lunarvim.org (neovim with treesitter syntax)
blockman usage examples: https://www.youtube.com/channel/UC5539gDeAdWqeXcczWuhnBA
Alternative examples / takes (per user interface):
### embedding a block of source code in a document:
** carrotsearch.gethub.io/apidocs/code-blocks
-
regarding feature/tree-sitter branch
However, if you want to use tree-sitter today, there is the tree-sitter package which enables tree-sitter syntax highlighting in a number of popular major modes. I’ve been using it for about six months now in all major modes it supports.
-
how to configure doom emacs (generic emacs too) with a C project
Tree Sitter and lsp-mode might be of help. Looks like both take a bit of work to get going. I have personally not used them, so try out which suits you and let us know how it went.
-
Commercial-Emacs
You can use tree-sitter already if you have dynamic module support: https://github.com/emacs-tree-sitter/elisp-tree-sitter
- Are we living in the golden age of Emacs?
What are some alternatives?
tree-sitter-typescript - TypeScript grammar for tree-sitter
tree-sitter-go - Go grammar for tree-sitter
jtsx - Extends Emacs JSX/TSX built-in support.
tree-sitter - An incremental parsing system for programming tools
tsx-mode.el - a batteries-included Emacs major mode for Typescript, Javascript, TSX, and JSX files
typescript.el - TypeScript-support for Emacs
smelt - Forging Standard ML (SML) in emacs
lsp-treemacs - lsp-mode :heart: treemacs
combobulate - Structured Editing and Navigation in Emacs with Tree-Sitter
tree-sitter-ruby - Ruby grammar for tree-sitter
eglot - A client for Language Server Protocol servers
tree-sitter-kotlin - Kotlin grammar for Tree-sitter