Skip to content

[plugins] nvim-treesitter-context, todo-comments.nvim, vim-illuminate — three low-weight additions #301

Description

@stanfish06

What

Three plugins that complement the existing setup with zero overlap against already-installed plugins.


1. nvim-treesitter-context

Repo: https://github.com/nvim-treesitter/nvim-treesitter-context

Shows the current function/class/block header as a sticky line at the top of the window while scrolling through long files.

Rationale tied to existing config: The config already has a custom scopeline.lua that draws treesitter-based scope brackets at the cursor position, and snacks.nvim indent chunks. nvim-treesitter-context complements both by keeping the enclosing scope name visible at the top of the buffer while scrolling — the gap these two don't fill. It uses the same treesitter queries already installed via TSSync, so there's no extra grammar dependency.


2. todo-comments.nvim

Repo: https://github.com/folke/todo-comments.nvim

Highlights TODO, FIXME, HACK, NOTE, BUG, WARN comment markers with distinct colors and provides a quickfix list of all such markers in the project.

Rationale tied to existing config: The config uses quickfix heavily: :Compile populates it, <leader>co/<leader>cc open/close it, and quicker.nvim improves its UI. todo-comments.nvim adds a :TodoQuickFix command that integrates directly into this workflow. Its fzf integration (:TodoFzfLua) also slots into the existing fzf-lua setup via <leader>/.


3. vim-illuminate

Repo: https://github.com/RRethy/vim-illuminate

Highlights other occurrences of the word under the cursor using LSP references, treesitter, or regex fallback.

Rationale tied to existing config: With multiple LSPs active (pyright, pyrefly, clangd, ts_ls, rust_analyzer, gopls) and tiny-inline-diagnostic.nvim already providing rich inline diagnostics, the visual feedback loop is strong — but there's no "where else is this symbol used?" highlight. vim-illuminate fills that gap using the already-attached LSP clients for accuracy. It respects vim.diagnostic settings and works alongside blink.cmp without conflict.


Non-suggestions

nvim-spectre and lazygit.nvim were considered but skipped: grug-far.nvim is already suggested in #287 for search/replace, and fugitive.vim + diffview.nvim + gitsigns.nvim cover the git workflow well enough.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions