csharp-mode
tree-sitter
csharp-mode | tree-sitter | |
---|---|---|
4 | 62 | |
153 | 16,555 | |
0.0% | 2.1% | |
0.0 | 9.8 | |
over 1 year ago | 2 days ago | |
Emacs Lisp | Rust | |
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.
csharp-mode
-
Error trying to load csharp mode -- weird interaction with R-mode???
csharp-mode is an installed package. Status: Installed in ‘csharp-mode-20210105.1950/’ (unsigned). Delete Version: 20210105.1950 Summary: C# mode derived mode Homepage: https://github.com/emacs-csharp/csharp-mode Keywords: c# languages oop mode Other versions: 0.11.0 (installed), 20211124.1105 (Melpa), 20200402.919 (melpa), 1.1.1 (Melpa Stable), 0.9.0 (marmalade).
- csharp-mode: A major-mode for editing C# in emacs
-
Tree-sitter: an incremental parsing system for programming tools
Tooting my own horn, Emacs’ csharp-mode[1] is undergoing a rewrite to be 100% based on tree-sitter rather than regexps.
The new code runs way faster and is so much nicer to work with.
Once all the kinks are gone, I can’t imagine going back.
[1] https://github.com/emacs-csharp/csharp-mode/blob/master/csha...
- Csharpmode Adds Support For Treesitter
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.
- An incremental parsing system for programming tools
-
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
-
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
[2]: https://github.com/tree-sitter/tree-sitter/issues/1870
[3]: https://github.com/tree-sitter/tree-sitter/issues/224
-
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.
-
Detailed syntax highlighting
Hi, so I've recently decided to give Neovim yet another try, this time using some predefined plugins with kickstart.nvim, for syntax it uses tree-sitter.
What are some alternatives?
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
elisp-tree-sitter - Emacs Lisp bindings for tree-sitter
Visual Studio Code - Visual Studio Code
tree-sitter-c - C grammar for tree-sitter
indent-blankline.nvim - Indent guides for Neovim
tree-sitter-kotlin - Kotlin grammar for Tree-sitter
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
Moose - MOOSE - Platform for software and data analysis.
language-server-protocol - Defines a common protocol for language servers.
moose - Multiphysics Object Oriented Simulation Environment
coc-explorer - 📁 Explorer for coc.nvim