tsi.el
combobulate
tsi.el | combobulate | |
---|---|---|
5 | 16 | |
47 | 959 | |
- | - | |
0.0 | 9.1 | |
almost 2 years ago | 3 days ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
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.
combobulate
-
Emacs 29.1 Released
Eh, I've been looking and haven't found anything for other editors that actually tries to use TreeSitter for anything beyond highlighting. The Emacs structural editing packages are still very WIP but at least they exist.
(And also some have been based on the out of tree implementation that's been around for a while now)
Example: https://github.com/mickeynp/combobulate
-
Indent with tree-sitter is nice
Looking at https://github.com/mickeynp/combobulate/blob/master/combobulate-python.el, it at the very least delegates to python-indent-calculate-levels, so the logic is mixed.
- Paredit-like features in non-lisp modes?
-
Could you guys share your experience with different python dev set-ups (elpy, lsp, etc)? What is more simple/beginer friendly?
I went from an old config rich setups from before lsp's to lsp-mode ones etc... Right now I would say that eglot + pylsp gives you the best experience, you can use pyenv and pyvenv mode to manage your virtual environments. Now that treesitter is also being used you can try out https://github.com/mickeynp/combobulate
-
ts-movement: a package to navigate the tree-sitter syntax tree (supports multiple-cursors)
I think the following packages would fit your wishlist, as it is very similar to mine. As mentioned in the replies, there is (https://github.com/magnars/expand-region.el) and (https://github.com/mickeynp/combobulate). I regularly use (https://github.com/Fuco1/smartparens).
-
noob question about tree-sitter in the presence of lsp-mode
re syntactic text objects: https://github.com/mickeynp/combobulate
-
paredit based on treesitter
I haven't used it, but based on the description, it looks like combobulate would be an example of this:
-
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
-
Commercial-Emacs
I don't know what this fork brings to table, but you could try tree-sitter today with your vanilla Emacs using a package[1] that works via dynamic module.
Personally I am more interested in getting structural selection and navigation reliably working for any language. There is also a package named combobulate[2] to help with that.
[1] https://emacs-tree-sitter.github.io/
[2] https://github.com/mickeynp/combobulate
-
tree-sitter highlighting rocks
TIL https://github.com/mickeynp/combobulate Thank you, @snafuchs !
What are some alternatives?
tree-sitter-typescript - TypeScript grammar for tree-sitter
tree-sitter-org - Org grammar for tree-sitter
jtsx - Extends Emacs JSX/TSX built-in support.
evil-textobj-tree-sitter - Tree-sitter powered textobjects for evil mode in Emacs
tsx-mode.el - a batteries-included Emacs major mode for Typescript, Javascript, TSX, and JSX files
tree-sitter-norg - A TreeSitter parser for the Neorg File Format
smelt - Forging Standard ML (SML) in emacs
commercial-emacs - "Evil will always triumph, because good is dumb." -- Spaceballs (1987)
eglot - A client for Language Server Protocol servers
ts-movement - Emacs 29+ minor mode for syntax tree navigation using Tree Sitter
elisp-tree-sitter - Emacs Lisp bindings for tree-sitter
neorg - Modernity meets insane extensibility. The future of organizing your life in Neovim.