New plugins: floating windows for :terminal, :help, :Man, and `gO` (markup table-of-contents)

I’m quite happy now with the state of my two little lua plugins:

  • haunt.nvim implements commands/API for floating terminals, help buffers and man pages
  • overview.nvim implements mappings/API for showing table of contents for markup files (replaces gO for man pages and help buffers) and (filtered) symbol lists for buffers that are attached to an LSP server

Some features of the former, compared to e.g. FTerm:

  • no RPC/jobsend stuff at all, it’s just a floating terminal, I’m not trying to make a REPL
  • respects vim.o.shell instead of blindly using $SHELL (nice to have on Windows/HPC remote)
  • floating :help!
  • floatin :Man!
  • prevents :b#, :bnext, :bprevious etc. to stop you (yes you) from fat-fingering an ugly code buffer with all its diagnostics and listchars into the elegant and ephemeral floating window
  • 10 less lines of lua code :trophy:
  • :help haunt (thou shalt use README for installation instructions and quickstart notes, not documentation)

The latter has the same QOL goodies (helpfile, locked TOC buffer) and implements some TOC parsers without the need for tree-sitter (for now). Please feel welcome to add/improve the parsers (patches to my public inbox as listed in the README). You just hit <Cr> on a line in the TOC and jump straight to that header/symbol. I might look into using tree-sitter at some point. The LSP symbol lists are a bit experimental, but basic stuff works like using it to jump around a Python/Lua file.

If you want to patch stuff use dev branches. That’s all. Have a nice day.

Aight there were a few bugs hanging around from late night coding. Should be fixed now. I’ve also submitted them to https://neovimcraft.com/ which is a nice place to find plugins by the way.

I just pushed a v2 of haunt.nvim which should fix a lot of problems (it is now tested with a test suite). There’s a demo video as well (link in README).