tree-sitter

Open-source projects categorized as tree-sitter

Top 23 tree-sitter Open-Source Projects

  • difftastic

    a structural diff that understands syntax 🟥🟩

  • Project mention: Linus Torvalds adds arbitrary tabs to kernel code | news.ycombinator.com | 2024-04-17

    i want a diff tool that shows me exactly which tokens have changed, and which haven't, regardless of how they are laid out.

    These already exist: https://github.com/Wilfred/difftastic

    when we get that, then we should get even less merge conflicts.

    Counterintuitively, that is not the case. AST-merge is a much, much, much, much, much harder problem than AST-diff.

    https://github.com/Wilfred/difftastic?tab=readme-ov-file#can...

    The fact that diffs can be used to drive a 3-way merge is in fact an accidental property that arises due to the sheer crudeness of the diff format. As soon as you start using more-sophisticated diff formats, solutions to "the diff problem" no longer lead directly to solutions to "the merge problem".

  • tree-sitter

    An incremental parsing system for programming tools

  • Project mention: Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter | news.ycombinator.com | 2024-03-24

    I learned from a google search that these days upstream tree-sitter provides WebAssembly bindings.

    Source: https://github.com/tree-sitter/tree-sitter/tree/master/lib/b...

    NPM: https://www.npmjs.com/package/web-tree-sitter

    Download from the latest Github release: js file (https://github.com/tree-sitter/tree-sitter/releases/download...) and wasm file (https://github.com/tree-sitter/tree-sitter/releases/download...)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nvim-treesitter

    Nvim Treesitter configurations and abstraction layer

  • Project mention: JetBrains' unremovable AI assistant meets irresistible outcry | news.ycombinator.com | 2024-02-03

    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.

  • curlconverter

    Transpile curl commands into Python, JavaScript and 27 other languages

  • Project mention: Convert Curl Commands to Code | news.ycombinator.com | 2024-01-29

    Simple way would be to add a “curl” options, looks like you’d just need to write up a method that matches this Request interface [0] to some curl command substrings you mash together.

    Problem is of course: the headers and options are all going to be included. You could make it so it organizes them better though, maybe indenting and grouping like-options together so it’s easier to remove stuff.

    [0] https://github.com/curlconverter/curlconverter/blob/e4b6fb74...

  • ast-grep

    ⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

  • Project mention: AST-grep(sg) AST grep based on Treesitter | news.ycombinator.com | 2024-04-01
  • Runestone

    đź“ť Performant plain text editor for iOS with syntax highlighting, line numbers, invisible characters and much more.

  • Project mention: The Emacsen family, the design of an Emacs and the importance of Lisp (2023) | news.ycombinator.com | 2024-02-16

    And Runestone, the open source editor framework for iOS [1]. It is also a text edotor on the app store that uses the framework.

    [1] https://github.com/simonbs/Runestone

  • gritql

    GritQL is a query language for searching, linting, and modifying code.

  • Project mention: ClangQL: A tool to run SQL-like query on C/C++ Code | news.ycombinator.com | 2024-04-07

    Cool to see another query language for source code! Yours is definitely closer to SQL than GritQL is.[0] I particularly like the count semantics.

    [0] https://github.com/getgrit/gritql

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • nvim-treesitter-textobjects

  • Project mention: Use treesitter to jump to next argument without going into nested function calls? | /r/neovim | 2023-09-22

    I was hoping to use nvim-treesitter-textobjects to jump to the next argument via something like this:

  • diffsitter

    A tree-sitter based AST difftool to get meaningful semantic diffs

  • Project mention: AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting | news.ycombinator.com | 2023-12-10

    Or https://github.com/afnanenayet/diffsitter. I've tried both and I like them. No preference or notable opinions on them yet!

  • CodeTF

    CodeTF: One-stop Transformer Library for State-of-the-art Code LLM

  • Project mention: CodeTF: Transformer Based Library for Code Generating Language Models | /r/AutoGPT | 2023-06-16
  • zee

    A modern text editor for the terminal written in Rust

  • Project mention: Micro – A Modern Alternative to Nano | news.ycombinator.com | 2023-08-17
  • twilight.nvim

    🌅 Twilight is a Lua plugin for Neovim 0.5 that dims inactive portions of the code you're editing using TreeSitter.

  • nvim-ts-context-commentstring

    Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.

  • Project mention: Trying to set up a dev environment for Vue.js in Astrovim | /r/neovim | 2023-05-18

    I work with Vue every day, but I don't use AstroNvim. The Volar language server with Take Over Mode works great for me. I don't know what exactly is broken for you when commenting, but my plugin nvim-ts-context-commentstring works for setting the correct commentstring in the Vue single file component sections with Treesitter.

  • doctree

    First-class library documentation for every language (based on tree-sitter), with symbol search & more. Lightweight single binary, run locally or self-host. Surfaces usage examples via Sourcegraph.

  • ssr.nvim

    Treesitter based structural search and replace plugin for Neovim.

  • Project mention: AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting | news.ycombinator.com | 2023-12-10

    There is also a neovim plugin doing structural search/replace, also based on treesitter: https://github.com/cshuaimin/ssr.nvim

  • combobulate

    Structured Editing and Navigation in Emacs with Tree-Sitter

  • Project mention: Emacs 29.1 Released | news.ycombinator.com | 2023-07-30

    Eh, I've been looking and haven't found anything for other editors that actually tries to use TreeSitter for anything beyond highlighting. The Emacs structural editing packages are still very WIP but at least they exist.

    (And also some have been based on the out of tree implementation that's been around for a while now)

    Example: https://github.com/mickeynp/combobulate

  • elisp-tree-sitter

    Emacs Lisp bindings for tree-sitter

  • Project mention: How to Get Started with Tree-Sitter | /r/emacs | 2023-05-28

    Look at the original integration project https://github.com/emacs-tree-sitter/elisp-tree-sitter, before it was done inside Emacs 29+.

  • nvim-regexplainer

    Describe the regexp under the cursor

  • Project mention: Hypersonic.nvim, new RegExp explaining plugin | /r/neovim | 2023-06-19

    Hang on.. doesn’t nvim-regexplainer already exist? And what are the key differences?

  • iswap.nvim

    Interactively select and swap function arguments, list elements, and much more. Powered by tree-sitter.

  • nvim-treesitter-textsubjects

    Location and syntax aware text objects which *do what you mean*

  • Project mention: Tree-Sitter | news.ycombinator.com | 2024-02-17

    Neovim supports treesitter based selections and "jumps", which I think are awesome

    https://www.reddit.com/r/neovim/comments/r10llx/the_most_ama...

    Or

    https://github.com/RRethy/nvim-treesitter-textsubjects

    Helix also supports them by default

  • hlargs.nvim

    Highlight arguments' definitions and usages, using Treesitter

  • nvim-treehopper

    Region selection with hints on the AST nodes of a document powered by treesitter

  • srgn

    A code surgeon for precise text and code transplantation. A marriage of `tr`/`sed`, `rg` and `tree-sitter`.

  • Project mention: Show HN: Srgn, AST-aware text manipulation | news.ycombinator.com | 2024-01-27
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

tree-sitter related posts

Index

What are some of the best open-source tree-sitter projects? This list will help you:

Project Stars
1 difftastic 19,450
2 tree-sitter 16,450
3 nvim-treesitter 9,426
4 curlconverter 7,128
5 ast-grep 5,863
6 Runestone 2,567
7 gritql 2,296
8 nvim-treesitter-textobjects 1,890
9 diffsitter 1,517
10 CodeTF 1,421
11 zee 1,405
12 twilight.nvim 1,128
13 nvim-ts-context-commentstring 1,037
14 doctree 859
15 ssr.nvim 854
16 combobulate 808
17 elisp-tree-sitter 803
18 nvim-regexplainer 586
19 iswap.nvim 484
20 nvim-treesitter-textsubjects 456
21 hlargs.nvim 428
22 nvim-treehopper 397
23 srgn 385

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com