tree-sitter-rust
rust-analyzer
tree-sitter-rust | rust-analyzer | |
---|---|---|
8 | 136 | |
372 | 14,541 | |
2.7% | 1.3% | |
7.8 | 10.0 | |
about 1 month ago | 2 days ago | |
JavaScript | Rust | |
MIT License | Apache License 2.0 |
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-rust
-
Topiary: A code formatting engine leveraging Tree-sitter
Yes. It's typically a fair bit slower than a hand-coded parser. The idea sounds great until you're working on a codebase with 2 million LOC. At that point, the speed of a cold parse is most important, whereas TS is designed for fast re-parsing of a single file. These aren't great numbers but the Rust TS parser is reportedly 2x slower than rustc's https://github.com/tree-sitter/tree-sitter-rust. It's no surprise that you just use the faster option if it's convenient.
- Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
- Treesitter large file performance... Even with everything disabled?
- Building tree-sitter languages for Emacs
-
Is it possible to have Rust doc test comments highlighted in Neovim?
Notes for anyone interested, there is this PR https://github.com/tree-sitter/tree-sitter-rust/pull/128, which merges successive doc comments.
-
Rust and Neovim - A Thorough Guide and Walkthrough
Tree-sitter is a fantastic parser generation and incremental parsing library, that supports Rust language bindings and has an available parser Rust tree-sitter-rust.
-
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
-
Is rust-analyzer for neovim ever going to support semantic syntax highlighting?
I'll be really interested to see what folks end up preferring once nvim 0.5 ships with treesitter support. Do folks have any experience with the Rust grammar?
rust-analyzer
-
Flattening ASTs (and Other Compiler Data Structures)
Rust-analyzer uses a similar technique for parsing https://github.com/rust-lang/rust-analyzer/blob/master/crate... which then gets fed into https://github.com/rust-analyzer/rowan (lossless syntax tree)
-
Zig's Comptime Is Bonkers Good
Also see e.g.
https://github.com/rust-lang/rust-analyzer/issues/14375
- LSP: The Good, the Bad, and the Ugly
- Higher RAII, and the Seven Arcane Uses of Linear Types
-
Cranelift code generation comes to Rust
go build 3.62s user 0.76s system 171% cpu 2.545 total
I was looking forward to parallel front-end[4], but I have not seen any improvement for these small changes.
[1]: https://github.com/rust-lang/rust-analyzer
-
A guide on Neovim's LSP client
For example, intelephense can show diagnostics in real time, there is no need to save the file to get new diagnostics. But rust-analyzer, the language server for rust, can only update diagnostics after saving the file.
-
Top 10 Rusty Repositories for you to start your Open Source Journey
6. Rust Analyzer
-
The rust-analyzer vscode extension is not working at all.
The rust-analyzer readme suggests you go here for support request. But even there, you'll need to provide more details to get useful help.
-
LSP could have been better
For example: https://github.com/rust-lang/rust-analyzer/blob/master/docs/...
> If you create an LSP, it will work best in VS Code.
Any editor can work just as well as (or even better than) VS Code.
-
Discussion Thread
So, apparently the reason why rust-analyzer, the LSP server for Rust does not have persistent caching is because it would make "optimizing initial passes less important".
What are some alternatives?
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
vscode-rust - Rust extension for Visual Studio Code
tree-sitter-graphql - Treesitter grammar for GraphQL
intellij-rust - Rust plugin for the IntelliJ Platform
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
rustfmt - Format Rust code
LanguageClient-neovim - Language Server Protocol (LSP) support for vim and neovim.
sublime-rust - The official Sublime Text 4 package for the Rust Programming Language
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
eglot - A client for Language Server Protocol servers
rust.vim - Vim configuration for Rust.
coc-rust-analyzer - rust-analyzer extension for coc.nvim