Skip to content

[plugins] 4 complementary plugins: snippet source activation, dependency-version awareness, LaTeX tooling #312

Description

@stanfish06

Four plugin suggestions that complement the existing setup without duplicating an already-installed plugin's job. Cross-checked against the ~48 plugins already proposed across prior (closed) [plugins]-style issues in this repo's history — none of these four overlap.

1. rafamadriz/friendly-snippets

lua/config/plugin_config.lua:96-101 configures blink.cmp with sources.default = { "lsp", "path", "snippets", "buffer" } — the "snippets" source is explicitly requested. But blink's built-in snippets source only surfaces completions if a VSCode-style snippet collection is present on the runtimepath, which is exactly what friendly-snippets provides and what blink auto-detects when installed. Right now that source is effectively a no-op. This is a single package_list entry in lua/config/plugins.lua (no setup() call needed) that activates functionality the config already asks for but doesn't supply.

2. saecki/crates.nvim

rust_analyzer is enabled in lua/config/lsp.lua, and the maintainer clearly already cares about tracking dependency versions closely — see the explicit vim.version.range() pins and rebuild-on-update comments around fff.nvim and blink.cmp in lua/config/plugins.lua. crates.nvim brings that same version-awareness into Cargo.toml itself: inline virtual text showing the latest available version per dependency, an upgrade-all command, and a blink.cmp completion source for crate names/versions while typing. It's complementary rather than redundant — rust_analyzer only understands code, not the crates registry, and conform.nvim/nvim-lint don't touch Cargo.toml at all.

3. vuki656/package-info.nvim

The JS/TS-side mirror of the crates.nvim rationale above: ts_ls is enabled in lsp.lua, but nothing in the config surfaces package.json version drift. package-info.nvim shows current-vs-latest npm/yarn/pnpm versions as virtual text and allows bumping a dependency inline. It depends on nui.nvim, which is already installed (for noice.nvim), so it adds no new UI dependency.

4. lervag/vimtex

lua/config/treesitter.lua installs a latex parser, and render-markdown.nvim (plugin_config.lua) is configured with a LaTeX math renderer (converter = { "utftex", "latex2text" }, inline+block enabled) — so LaTeX clearly shows up in the workflow, most likely inside Obsidian notes. But there's no texlab entry in lsp.lua and no compile/preview tooling for standalone .tex files, just syntax highlighting. VimTeX adds compilation, SyncTeX forward/inverse search, folding, and LaTeX-aware text objects.

Caveat worth flagging honestly: VimTeX's own docs recommend disabling (or silencing warnings from) treesitter's latex parser when VimTeX is active, since VimTeX's own syntax/mathzone detection conflicts with treesitter's. Adopting this would mean revisiting the latex entry in treesitter.lua's parser list, not just adding a package.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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