tree-sitter
indent-blankline.nvim
Our great sponsors
tree-sitter | indent-blankline.nvim | |
---|---|---|
62 | 71 | |
16,106 | 3,643 | |
8.1% | - | |
9.8 | 8.5 | |
1 day ago | 15 days ago | |
Rust | Lua | |
MIT License | 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.
tree-sitter
-
Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter
I learned from a google search that these days upstream tree-sitter provides WebAssembly bindings.
Source: https://github.com/tree-sitter/tree-sitter/tree/master/lib/b...
NPM: https://www.npmjs.com/package/web-tree-sitter
Download from the latest Github release: js file (https://github.com/tree-sitter/tree-sitter/releases/download...) and wasm file (https://github.com/tree-sitter/tree-sitter/releases/download...)
-
Difftastic, a structural diff tool that understands syntax
Tree-sitter optimizes for performance (to use in editors), not for correctness. In fact even TS' core developers advocate for not bothering too much with correctness of grammars[1]. I imagine this constraint would be a deal-breaker for GitHub or anyone else in their position.
[1] https://github.com/tree-sitter/tree-sitter/issues/130#issuec...
-
Effective Neovim Setup. A Beginner’s Guide
This is a plugin that provides a simple way to use the tree-sitter in Neovim and also provides functionalities like highlighting, etc.
-
Topiary: A code formatting engine leveraging Tree-sitter
From the tree-sitter side, I am tracking https://github.com/tree-sitter/tree-sitter/issues/1942
We rely on the Rust bindings from the main tree-sitter repository on the C library. Loading and matching the queries on the source file is done by this library, and so out of scope for Topiary.
-
Shiki Syntax Highlighter
Is tree-sitter really slower than TextMate grammars? Some benchmarks indicate that this isn't really the case [1]. On the other hand, breaking parse trees is a real issue, because the error-recovery in tree-sitter is pretty rudimentary [2][3], but as you said, it's not an issue for Shiki.
Several TextMate grammars suffer from inaccuracy bugs, and issues of maintainability. Perhaps the biggest hindrance in the adoption of tree-sitter, is that the most popular editor, VSCode, still doesn't support it.
[1]: https://github.com/microsoft/vscode/pull/161479
Tree-sitter is going to be a lot slower to load: https://github.com/tree-sitter/tree-sitter/issues/1942.
It's ok for things like editor but using it in a SSG for example is hard when just loading the syntaxes will take multiple times the time it takes to render the whole thing with a regex based highlighter.
-
It seems that some BIG improvements of Treesitter on BIG FILEs have been merged into Nightly! (minutes ago!)
u/lewis6991 I think the biggest performance gain was made by tree-sitter itself: https://github.com/tree-sitter/tree-sitter/pull/2085
-
Looking for Tree-sitter query documentations and guides
I asked on the repo's discussions but responses are limited and not explanatory (I'm not shaming anyone here, discussions aren't a place for detailed how-tos and documentations anyway).
-
Will Treesitter ever be stable on big files?
The following discussion here. TS query cannot be incremental, that is why I regard it as design fault.
indent-blankline.nvim
-
Use the builtin `listchars` option to implement minimalistic indent guides
Compared to the feature-rich plugins, this simple implementation has many drawbacks, such as not displaying indent guides on empty lines. I think its only advantage might be its extreme simplicity. Yes, I pursue minimalism so I wrote this piece of code. For a better (maybe best) and more comprehensive experience, please check indent-blankline.nvim.
- Looking For A Plugin For Indentations
-
Treesitter Error: attempt to index local 'query' (a nil value)
i think it's indent-blankline
- Is there a way to get these vertical code boundaries (vertical lines showing blocks of code) like in vscode ?
-
Looking for some kinda specific plugins for visibility
https://github.com/lukas-reineke/indent-blankline.nvim complements further.
-
Color scheme changes when rust_analyzer finishes
I think he meant the indent guides? In which case the best plugin is https://github.com/lukas-reineke/indent-blankline.nvim
-
How to add code block margin line in neovim?
You are looking for the indent-blankline plugin
-
darkrose.nvim - a low-contrast colorscheme based on rose colors for dark theme lovers
I use indent-blankline.nvim for them, which is also supported by my plugin.
-
kui.nvim - an experiment into a real graphical framework, with kitty & cairo
Looking at the screenshots, https://github.com/lukas-reineke/indent-blankline.nvim is not that far off (look at last screenshot in readme). It seems it could be extended to have an underline under the last line of the indent block and also a line on the right side in the same way the line on the left side is drawn.
-
Trouble detecting shiftwidth correctly
VsCode has an internal function from auto-detecting indentation, while my config uses vim-sleuth with indent-blankline.nvim.
What are some alternatives?
indentLine - A vim plugin to display the indention levels with thin vertical lines
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
Visual Studio Code - Visual Studio Code
indent-guides.nvim
nvim-treesitter-refactor - Refactor module for nvim-treesitter
nvim-lspconfig - Quickstart configs for Nvim LSP
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
goyo.vim - :tulip: Distraction-free writing in Vim
nvcode-color-schemes.vim - A bunch of generated colorschemes (treesitter supported)
impatient.nvim - Improve startup time for Neovim