elisp-tree-sitter
nvim-treesitter
Our great sponsors
elisp-tree-sitter | nvim-treesitter | |
---|---|---|
21 | 300 | |
804 | 9,225 | |
1.1% | 6.0% | |
6.3 | 9.9 | |
10 days ago | about 6 hours ago | |
Emacs Lisp | Scheme | |
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.
elisp-tree-sitter
-
How to Get Started with Tree-Sitter
Look at the original integration project https://github.com/emacs-tree-sitter/elisp-tree-sitter, before it was done inside Emacs 29+.
-
How to use Emacs 29 Tree-sitter?
That said, if you want a more complete experience with tree-sitter right now, there’s a 3rd party implementation with support for a lot more languages, and also automatically downloads all supported grammars. It’s available here: https://github.com/emacs-tree-sitter/elisp-tree-sitter
-
tree-sitter has been merged into master
How am I going to even use the built-in one? I was using elisp-tree-sitter. I know I have to add grammar for different languages, but how? I have been searching for a while and still have no clue.
-
Ask HN: S/W development text editor have feature colorizing every iteration?
from github README.rst "Emacs package that provides a standardized framework for manipulating and navigating your source code using tree sitter's concrete syntax tree " -> https://github.com/mickeynp/combobulate
https://www.spacemacs.org/ with https://github.com/emacs-tree-sitter/elisp-tree-sitter then write a iterator/loop query for language(s) editing per https://tree-sitter.github.io/tree-sitter/syntax-highlightin...
tad less installation heavy (sorta) but also makes use of tree-sitter syntax queries : https://www.lunarvim.org (neovim with treesitter syntax)
blockman usage examples: https://www.youtube.com/channel/UC5539gDeAdWqeXcczWuhnBA
Alternative examples / takes (per user interface):
### embedding a block of source code in a document:
** carrotsearch.gethub.io/apidocs/code-blocks
-
regarding feature/tree-sitter branch
However, if you want to use tree-sitter today, there is the tree-sitter package which enables tree-sitter syntax highlighting in a number of popular major modes. I’ve been using it for about six months now in all major modes it supports.
-
Commercial-Emacs
You can use tree-sitter already if you have dynamic module support: https://github.com/emacs-tree-sitter/elisp-tree-sitter
- Are we living in the golden age of Emacs?
-
Just discovered emacs as a long term vim user and it's incredible
emacs got tree-sitter bindings fairly recently: https://github.com/emacs-tree-sitter/elisp-tree-sitter
-
tree-sitter highlighting rocks
Related bugs: https://github.com/emacs-tree-sitter/elisp-tree-sitter/issues/204
-
Does any package exist to view code structure in a tree like manner?
You could take a look at moldable emacs. It seems to leverage emacs tree-sitter to be able to interact with the abstract syntax tree of the source code.
nvim-treesitter
-
JetBrains' unremovable AI assistant meets irresistible outcry
I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager and it gives you commands to manage the rest of your plugins.
These two plugins are the bare minimum in my view.
https://github.com/nvim-treesitter/nvim-treesitter
Treesitter gives you much better syntax highlighting based on a parser for a given language.
https://github.com/neovim/nvim-lspconfig
This plugin helps you connect to a given language LSP quickly with sensible defaults. You more or less pick your language from here and copy paste a snippet, and then install the relevant LSP:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
For Python you'll want pylsp. For JavaScript it will depend on what frontend framework you're using, I probably can't help you there.
pylsp itself takes some plugins and you'll probably want them. https://github.com/python-lsp/python-lsp-server
Best of luck! Happy hacking.
-
Do I need NeoVIM?
https://github.com/hrsh7th/nvim-cmp This is an autocompletion engine https://github.com/nvim-treesitter/nvim-treesitter This allows NeoVim to install parsing scripts so NeoVim can do things like code highlighting. https://github.com/williamboman/mason.nvim Not strictly necessary, but allows you to access a repo of LSP, install them, and configure them for without you actively messing about in config files. https://github.com/neovim/nvim-lspconfig Also not strictly necessary, but vastly simplifies LSP setup. https://github.com/williamboman/mason-lspconfig.nvim This lets the above two plugins talk to each other more easily.
- Problem with highlighting when attempting to create own treesitter parser
-
neorg problem, all other plugins deactivate when added to init.lua
vim.opt.rtp:prepend(lazypath) require('lazy').setup({ { "nvim-neorg/neorg", build = ":Neorg sync-parsers", opts = { load = { ["core.defaults"] = {}, -- Loads default behaviour ["core.concealer"] = {}, -- Adds pretty icons to your documents ["core.dirman"] = { -- Manages Neorg workspaces config = { workspaces = { notes = "~/notes", }, defaultworkspace = "notes", }, }, }, }, dependencies = { { "nvim-lua/plenary.nvim", }, { -- YOU ALMOST CERTAINLY WANT A MORE ROBUST nvim-treesitter SETUP -- see https://github.com/nvim-treesitter/nvim-treesitter "nvim-treesitter/nvim-treesitter", opts = { auto_install = true, highlight = { enable = true, additional_vim_regex_highlighting = false, }, }, config = function(,opts) require('nvim-treesitter.configs').setup(opts) end }, { "folke/tokyonight.nvim", config=function(,) vim.cmd.colorscheme "tokyonight-storm" end,}, }, }, }) require 'plugins' ```
- What is this color scheme
-
How do you fix inconsistent colorscheme (struct and class)?
Install nvim-treesitter
-
tree-sitter-comment now supports http/s links
To use it, just update to the latest version of nvim-treesitter, and don't forget to run `:TSUpdate` and have the comment parser installed.
-
Plugin for Automatic Highlight of Custom (typedef-d) Types?
If you are using Neovim, Tree-sitter does this very well for quite a number of languages, inc C and C++. https://github.com/nvim-treesitter/nvim-treesitter
-
[WIP] A feature-rich, polished, highly customizable winbar, with drop down menu support and multiple backends
Zero-depency, yes, this is not another extension of navic. It does not even depends on nvim-treesitter or nvim-lspconfig, nor do you need to register an 'on_attach' function. as long as treesitter parsers or language servers are intalled correctly, the winbar should start working out of the box
-
How do I show Markdown headings in different colours?
Are you using tree sitter? If so support for this was merged relatively recently https://github.com/nvim-treesitter/nvim-treesitter/pull/4798
What are some alternatives?
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
nvim-lspconfig - Quickstart configs for Nvim LSP
vim-polyglot - A solid language pack for Vim.
vim-python-pep8-indent - A nicer Python indentation style for vim.
packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
tree-sitter - An incremental parsing system for programming tools
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
nvim-autopairs - autopairs for neovim written in lua
indent-blankline.nvim - Indent guides for Neovim
semshi - 🌈 Semantic Highlighting for Python in Neovim
minimap.vim - 📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.
playground - Treesitter playground integrated into Neovim