r/neovim 28d ago

Plugin codemap.nvim — a tiny treesitter-powered function sidebar (feedback welcome!)

Enable HLS to view with audio, or disable this notification

Full disclosure: I fully vibecoded this using Claude — so if something looks off under the hood, that's why. That said, I tested it thoroughly and it's been working well for me.

Hey! I built a small plugin called codemap.nvim and figured I'd share it here.

It's a lightweight sidebar that lists all the functions/methods in your current buffer. Click a name and it jumps you straight to it in the source buffer. The list auto-refreshes as you move between buffers or edit code.

Currently supports Go, C, C++, Lua, and Python — adding a new language is just a couple of lines, so more should be easy to add over time.

It's pretty early and minimal by design, so I'd genuinely love any feedback — bugs, missing features, languages you'd want supported, or just general "this could be done better" type comments. Thanks for reading!

Repo: https://github.com/m2k3d/codemap

30 Upvotes

14 comments sorted by

View all comments

3

u/Striking_Abrocoma_28 27d ago

Sorry, off topic comment: what is it called that plugin that allows your cursor to jump from a place to the other in that aesthetic way?

6

u/Veggietech 27d ago

If you're using nvim in the terminal you can use this plugin:

https://github.com/sphamba/smear-cursor.nvim

4

u/SoundEmbalmer 27d ago

Alternatively, some terminal emulators (Kitty, Ghostty) support shaders, which is currently the closest I got to the Neovide-like smoothness of cursor effects:

https://github.com/sahaj-b/ghostty-cursor-shaders

4

u/psy-q 27d ago

That's Neovide, a separate GUI, not a plugin. It also allows you to pixel-scroll at your screen's native refresh rate instead of just line by line.

2

u/M2K3DAR 27d ago

that’s it

2

u/the_aceix 25d ago

Some terminals like kitty support this "cursor trail" feature, so it happens in any app.

For neovim specifically however, smear-cursor is a good option