dmacs
tree-sitter-rust
dmacs | tree-sitter-rust | |
---|---|---|
5 | 8 | |
113 | 316 | |
- | 3.8% | |
8.2 | 7.7 | |
6 months ago | 12 days ago | |
Emacs Lisp | JavaScript | |
BSD 2-clause "Simplified" 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.
dmacs
-
Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
(use-package lsp-java :after lsp-mode :hook (java-mode-local-vars . java-lsp) :custom (lsp-jt-root (concat lsp-java-server-install-dir "java-test/server/")) (dap-java-test-runner (concat lsp-java-server-install-dir "test-runner/junit-platform-console-standalone.jar")) ;; Stolen from: https://github.com/dakra/dmacs/blob/master/init.org#java ;; Use Google style formatting by default (lsp-java-format-settings-url "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml") (lsp-java-format-settings-profile "GoogleStyle") (lsp-java-vmargs `("-XX:+UseParallelGC" "-XX:GCTimeRatio=4" "-Dsun.zip.disableMemoryMapping=true" "-noverify" "-Xmx1G" "-XX:+UseG1GC" "-XX:+UseStringDeduplication" ,(concat "-javaagent:" ;; probably need to update this. (expand-file-name "~/.m2/repository/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar")) ,(concat "-Xbootclasspath/a:" (expand-file-name "~/.m2/repository/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar")))) :config ;; Also stolen from: https://github.com/dakra/dmacs/blob/master/init.org#java (defun java-lsp () (setq electric-indent-inhibit nil) (lsp-deferred) (if (bound-and-true-p lsp-mode) (setq-local completion-at-point-functions (list (cape-capf-buster #'cape:lsp-cape) #'cape-file)))))
-
Package wanted: List of recent buffers
For sticky windows I have this in my config:
-
Is there a shared/community-driven `mc/list-file` for `multiple-cursors`?
You can use my mc-list.el as a starting point which should cover a lot of the popular packages.
-
(wishlist) Has anyone built an org-mode + git log integration?
This is my config for orgit:
-
cd'ing to ~ of a remote in eshell
I have an lcd command for that in my config. I think I stole it somewhere but not sure from where exactly:
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
(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))
- 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?
What are some alternatives?
vertico - :dizzy: vertico.el - VERTical Interactive COmpletion
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
rust-analyzer - A Rust compiler front-end for IDEs
meow - Yet another modal editing on Emacs / 猫态编辑
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
dotfiles - I showed you my source code, pls respond
tree-sitter-graphql - Treesitter grammar for GraphQL
tree-sitter-java - Java grammar for tree-sitter
LanguageClient-neovim - Language Server Protocol (LSP) support for vim and neovim.
tree-sitter-css - CSS grammar for Tree-sitter
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]