tree-sitter-ruby
semshi
tree-sitter-ruby | semshi | |
---|---|---|
9 | 9 | |
155 | 1,004 | |
3.2% | - | |
0.0 | 0.0 | |
about 2 months ago | over 1 year ago | |
JavaScript | Python | |
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-ruby
-
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))
- Building tree-sitter languages for Emacs
-
Best Syntax Highlighter for Ruby?
Just use tree-sitter with neovim. It has a Ruby plugin as well https://github.com/tree-sitter/tree-sitter-ruby
-
Tree-sitter: an incremental parsing system for programming tools
@chrisseaton you are correct, the JSON file is generated. The handwritten parts are:
- https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a0...
semshi
-
Understanding highlighting for Python in Neovim
Try https://github.com/numirias/semshi Semantic Highlighting for Python in Neovim
-
Treesitter python issue?
Yes, I think treesitter highlight is yet limited and still a mess. I am still sitting at semshi, but look forward to switching to treesitter completely in the future.
-
I use Arch btw. (forgive my ugly c code)
I use neovim with my transparent kitty terminal. Kitty doesn't make the actual letters transparent so they are still easy to see, just the background of the terminal. Then ontop of that my syntax highlighting is really intense (https://github.com/numirias/semshi) and my background is pretty dark (lots of blacks and dark blues and other dark complementing colors that are easy on the eyes) so text is still easy to see while still looking quite nice IMO.
-
How to get colorcoding for variables, constants, keywords like "self"? (I use coc-pyright)
One of the best and easiest way is using plugin numirias/semshi.
-
Additional Syntax Highlighting for Python??
https://github.com/numirias/semshi gives pretty cool semantic highlighting.
-
Python Syntax Highlighting for vim
Vim's highlighting is more limited. Vim uses regex for syntax highlighting as opposed to using ASTs. You can try looking in the Neovim direction instead. Here's some Neovim-only plugin https://github.com/numirias/semshi for python specifically.
- Best Syntax Highlighter for Ruby?
-
Change Colors of semshi?
It's describe under the highlights title in README : https://github.com/numirias/semshi#highlights
-
Python Syntax Plugin?
semshi is quite good.
What are some alternatives?
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
tree-sitter-c-sharp - C# Grammar for tree-sitter
python-syntax - Python syntax highlighting for Vim
elisp-tree-sitter - Emacs Lisp bindings for tree-sitter
onedark.vim - A dark Vim/Neovim color scheme inspired by Atom's One Dark syntax theme.
sourcegraph - Code AI platform with Code Search & Cody
bolt.nvim - âš¡ Ultrafast multi-pane file manager for Neovim with fuzzy matching
lsif-os - A (mostly) language-agnostic indexer for generating LSIF data.
neo-runner.nvim - run your current c/c++ or python buffer directly from neovim
parser - A Ruby parser.
doom-nvim - A Neovim configuration for the advanced martian hacker [Moved to: https://github.com/doom-neovim/doom-nvim]