https://github.com/dsully/treesitter-jump.nvim
https://github.com/dsully/treesitter-jump.nvim
neovim neovim-plugin nvim nvim-plugin
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dsully/treesitter-jump.nvim
- Owner: dsully
- License: mit
- Created: 2024-12-20T20:19:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T16:53:35.000Z (12 months ago)
- Last Synced: 2025-06-25T17:44:53.701Z (12 months ago)
- Topics: neovim, neovim-plugin, nvim, nvim-plugin
- Language: Lua
- Homepage:
- Size: 78.1 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Treesitter Jump

## Features
- **Bracket Matching**: Jump between matching opening and closing brackets (`()`, `{}`, `[]`, `<>`).
- **Language Constructs Navigation**: Navigate between language-specific blocks like `if`/`else`/`end` in Lua, `if`/`elif`/`else` in Python, and more.
- **Customizable Language Support**: Add or customize support for other languages and their specific syntax structures.
## Languages
- Bash
- Fish
- Lua
- Python
- Zsh
Any bracket / brace language including C, C++, Rust, etc.
## Installation
### Using [lazy.nvim](https://lazy.folke.io)
```lua
{
"dsully/treesitter-jump.nvim",
keys = {
-- stylua: ignore
{ "%", function() require("treesitter-jump").jump() end },
},
opts = {},
},
```
## Requirements
- Neovim 0.10 or higher
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) plugin installed and configured for the languages you use.
## Configuration
You can configure the plugin by calling the `setup` function in your Lua configuration file:
```lua
require('treesitter-jump').setup({
language_pairs = {
-- Customize language-specific pairs
lua = {
["for"] = {
ending = "end",
middle = {},
},
-- Add more Lua configurations if needed
},
-- Add support for other languages
javascript = {
["if"] = {
ending = "}",
middle = {
["else"] = true,
},
},
},
},
})
```