evil-textobj-tree-sitter
tree-sitter-typescript
evil-textobj-tree-sitter | tree-sitter-typescript | |
---|---|---|
12 | 10 | |
184 | 311 | |
- | 2.9% | |
6.2 | 6.7 | |
15 days ago | 17 days ago | |
Scheme | JavaScript | |
Apache License 2.0 | 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.
evil-textobj-tree-sitter
-
Let's write an Emacs treesitter major mode
You may be aware but the author of TFA also has a tree-sitter based minor mode called Combobulate for exactly that:
https://www.masteringemacs.org/article/combobulate-structure...
There is also evil-textobj-tree-sitter for tree-sitter based text objects for Evil mode:
https://github.com/meain/evil-textobj-tree-sitter
-
How to Get Started with Tree-Sitter
here are the structural editing tools, and they're great - https://github.com/meain/evil-textobj-tree-sitter
- evil-textobj-tree-sitter: Tree-sitter powered textobjects for evil mode in Emacs
-
Tree-sitter starter guide
evil-mode users already have options, and there seems to be a new package with general applicability too.
-
Best packages to use with evil mode .
evil-textobj-tree-sitter: provides new textobjects to evil-mode, thanks to treesitter
-
Are we living in the golden age of Emacs?
I have a package which lets you target language level constructs like functions, classes, conditionals etc for text objects using tree-sitter. This is specific to evil mode as of now, though making it work outside evil would not be that big an effort. https://github.com/meain/evil-textobj-tree-sitter
-
Tree Sitter and the Complications of Parsing Languages
Other than combobulate, these packages also use tree-sitter for changing code (not just highlighting): * https://codeberg.org/FelipeLema/tree-sitter-indent.el * https://github.com/meain/evil-textobj-tree-sitter
-
Using tree-sitter to create better snippets
this might interest you: https://github.com/meain/evil-textobj-tree-sitter
-
The State of Structural Editing in Emacs?
not lsp, treesitter is the way to go. lsp does not provide AST ATM. There is already https://github.com/meain/evil-textobj-tree-sitter . As a side note, smartparens work on non-lispy code. I am very happy with using in combination with evil-cleverparens.
tree-sitter-typescript
- Let's write an Emacs treesitter major mode
-
How to make `goto_next_test` and `goto_prev_test` work?
I believe goto_next_test requires support from the tree-sitter parser, specifically tree-sitter-javascript in the case of JS and tree-sitter-typescript in the case of TS.
-
Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
(use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))
- Building tree-sitter languages for Emacs
-
Is there an official language spec and/or lexical grammar for TS?
If you need to do efficient AST operations, have you considered treesitter? There is a typescript grammar available https://github.com/tree-sitter/tree-sitter-typescript
- tree-sitter-typescript: TypeScript grammar for tree-sitter
-
Really sick of the shoddy jsx/tsx handling....would anyone be willing to help me write a major-mode for it?
I am curious though, why did you write your own indentation tool? (It works super well btw, amazing work) I thought tree-sitter supported tsx (and found repos like this) so just wondering if you tried those and they didn't work so you wrote your own.
-
Treesitter : Proposal for more precise syntax highlighting
Please have a look at it - https://github.com/tree-sitter/tree-sitter-typescript/issues/177
-
Plugins to help writing a new tree-sitter parser?
You can see a much more in-depth version at https://github.com/tree-sitter/tree-sitter-typescript or https://github.com/tree-sitter/tree-sitter-rust
-
Help Fixing Plugin ( Syntax Plugin ) + RegEx
https://github.com/nvim-treesitter/nvim-treesitter https://github.com/tree-sitter/tree-sitter-typescript
What are some alternatives?
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
tree-sitter-haskell - Haskell grammar for tree-sitter.
combobulate - Structured Editing and Navigation in Emacs with Tree-Sitter
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
lispy - Short and sweet LISP editing
swc - Rust-based platform for the Web
nvim-gps - Simple statusline component that shows what scope you are working inside
tsi.el - treesitter-based indendentation for emacs 28 and 27
things.el - Extensions to thingatpt.el
vim-jsx-typescript - React JSX syntax highlighting for vim and Typescript
gopcaml-mode
tree-sitter-c-sharp - C# Grammar for tree-sitter