stack-graphs
nvim-treesitter-textobjects
Our great sponsors
stack-graphs | nvim-treesitter-textobjects | |
---|---|---|
6 | 87 | |
686 | 1,890 | |
7.4% | 6.6% | |
9.7 | 8.3 | |
11 days ago | 5 days ago | |
Rust | Scheme | |
Apache License 2.0 | 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.
stack-graphs
-
Code Search Is Hard
https://github.com/pyjarrett/septum
The hardest part about getting code search right imo is grabbing the right amount of surrounding context, which septum is aimed at solving on a per-file basis.
Another one I'm surprised hasn't been mentioned is stack-graphs (https://github.com/github/stack-graphs), which tries to incrementally resolve symbolic relationships across the whole codebase. It powers github's cross-file precise indexing and conceptually makes a lot of sense, though I've struggled to get the open source version to work
-
Even the Pylint codebase uses Ruff
[2]: https://github.com/github/stack-graphs
-
The technology behind GitHub’s new code search
> It doesn't have the faintest idea where the name is defined, or if there's even a difference between a function name, a parameter name, or a word in a comment.
I don't think what you are saying is actually true for stack-graphs[0][1].
[0]: https://github.com/github/stack-graphs
[1]: https://github.blog/2021-12-09-introducing-stack-graphs/
-
Should I be worried or not worried about Tree-sitter now that the Atom editor has been killed?
I think GitHub still has some use for tree-sitter. In this post it's mentioned that their new code navigation system is based on tree-sitter. In a more recent post they welcome contributers to add special code navigation queries to existing languages. You can find their public repository here if you want to follow along with any developments. Since their code navigation system relies heavily on tree-sitter I don't think it's going anywhere soon (fingers crossed).
-
What happened with GitHub's semantic project?
Which they implement in Rust. https://github.com/github/stack-graphs
-
Stack Graphs
As mentioned elsewhere on this thread, stack graphs and Semantic were built by the same team (which I manage). Semantic is not abandoned, we've just been focusing on a different layer of our tech stack for the past year or so. https://news.ycombinator.com/item?id=29501389
That PR on the Semantic repo was our first attempt at implementing these ideas. We decided to reimplement it in a separate library (also open source, https://github.com/github/stack-graphs), which only builds on tree-sitter directly so that there's an easier story for us and language communities to add support for new languages. It's a fair point that we could have closed the Semantic PR to indicate that more clearly.
nvim-treesitter-textobjects
-
Use treesitter to jump to next argument without going into nested function calls?
I was hoping to use nvim-treesitter-textobjects to jump to the next argument via something like this:
-
Code navigation ctags/cscope/gnu global alternative?
You want to look at nvim-treesitter-textobjects. It let's you define keymaps for navigating text objects defined by treesitter and you can also use them with commands like d, c and so on.
-
My Favorite Vim Oneliners for Text Manipulation
Thank you! It looks like nvim-treesitter-textobjects is a good plugin to start with:
https://github.com/nvim-treesitter/nvim-treesitter-textobjec...
-
How to move between the topmost/root node in treesitter?
I'm aware of nvim-treesitter-textobjects and I suspect my answer lies in this plugin, but is there a way to move between root nodes that is agnostic of the node type?
-
Manipulating and moving between function arguments in Neovim
Thanks! I just started using https://github.com/nvim-treesitter/nvim-treesitter-textobjects, and it works as a charm.
-
Searching for plugin to provide granular treesitter visual mode navigation
nvim-treesitter-textobjects
-
Vim Tip - Jump to start of function or code block
In this case, reading here is probably a good start: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
-
Getting v(a|i)B working in Ruby?
Have a look at https://github.com/nvim-treesitter/nvim-treesitter-textobjects. Set up the @block.inner and @block.outer textobjects and it should work.
-
How do you jump to the beginning of a function
nvim-treesitter-textobjects lets you jump to (for instance) functions more accurately than with a regex-based approach using ]f
Or even better, one can use nvim-treesitter-textobjects. It already provides function/class selection and go-to functionality out-of-the-box.
What are some alternatives?
semantic-source - Parsing, analyzing, and comparing source code across many languages
vim-multiple-cursors - True Sublime Text style multiple selections for Vim
kickstart.nvim - A launch point for your personal nvim configuration
nvim-treesitter-refactor - Refactor module for nvim-treesitter
nvim-lspconfig - Quickstart configs for Nvim LSP
targets.vim - Vim plugin that provides additional text objects
scip-zig - SCIP indexer for Zig!
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
pagefind - Static low-bandwidth search at scale
vim-textobj-user - Vim plugin: Create your own text objects
nvim-ts-context-commentstring - Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.
vscode-neovim - Vim mode for VSCode, powered by Neovim