tree-sitter-typescript
nvim-treesitter
tree-sitter-typescript | nvim-treesitter | |
---|---|---|
10 | 300 | |
312 | 9,537 | |
3.2% | 3.3% | |
6.7 | 9.9 | |
19 days ago | 4 days ago | |
JavaScript | 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.
tree-sitter-typescript
- Let's write an Emacs treesitter major mode
-
How to make `goto_next_test` and `goto_prev_test` work?
I believe goto_next_test requires support from the tree-sitter parser, specifically tree-sitter-javascript in the case of JS and tree-sitter-typescript in the case of TS.
-
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
-
Is there an official language spec and/or lexical grammar for TS?
If you need to do efficient AST operations, have you considered treesitter? There is a typescript grammar available https://github.com/tree-sitter/tree-sitter-typescript
- tree-sitter-typescript: TypeScript grammar for tree-sitter
-
Really sick of the shoddy jsx/tsx handling....would anyone be willing to help me write a major-mode for it?
I am curious though, why did you write your own indentation tool? (It works super well btw, amazing work) I thought tree-sitter supported tsx (and found repos like this) so just wondering if you tried those and they didn't work so you wrote your own.
-
Treesitter : Proposal for more precise syntax highlighting
Please have a look at it - https://github.com/tree-sitter/tree-sitter-typescript/issues/177
-
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
-
Help Fixing Plugin ( Syntax Plugin ) + RegEx
https://github.com/nvim-treesitter/nvim-treesitter https://github.com/tree-sitter/tree-sitter-typescript
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.
-
Help needed with Treesitter sql injection
It was changed in https://github.com/nvim-treesitter/nvim-treesitter/commit/78b54eb
-
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' ```
-
Getting Treesitter to work for Windows 10
Change the compiler to use 'llvm' and install visual studio build tools command line stuff - at least that is what worked for me without problems. If you are using c++ then I would assume you have visual studio installed already. If you need more info follow the treesitter windows support
-
Just come back up out of the rabbit hole - TS unsets syntax variable by design!
After a lot of time spent yesterday I took a fresh look today and then thought to myself - what if this is what TS does by design? A few clicks later and I found this https://github.com/nvim-treesitter/nvim-treesitter/issues/1327
- What is this color scheme
-
nvim-treesitter erroring on Windows 11 Pro
I've followed the official guide for nvim-treesitter support on Windows, but I'm having problems making it work. I keep getting a compilation error for any parser I try to install using TSInstall. If instead I use TSInstallSync I don't get errors but the parser is not correctly installed. My setup uses lazyvim and I installed LLVM using winget to have a C compiler.
-
Neovim can't find C compiler
I have read that gcc in windows doesn't always provide the necessary support for treesitter. I have seen ppl prefer clang over gcc in Windows. Please see also Windows support in treesitter's repo. Unfortunately I cannot help further as I don't use Windows for coding, but hope you can deduce something to solve your problem from the above link (if you haven't already read through it).
What are some alternatives?
tree-sitter-haskell - Haskell grammar for tree-sitter.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
swc - Rust-based platform for the Web
nvim-lspconfig - Quickstart configs for Nvim LSP
tsi.el - treesitter-based indendentation for emacs 28 and 27
vim-polyglot - A solid language pack for Vim.
vim-jsx-typescript - React JSX syntax highlighting for vim and Typescript
vim-python-pep8-indent - A nicer Python indentation style for vim.
tree-sitter-c-sharp - C# Grammar for tree-sitter
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-python - Python grammar for tree-sitter
tree-sitter - An incremental parsing system for programming tools