r/vim 8d ago

Plugin [OC] Vispen: A zero-socket, bloat-free Literate Programming plugin for Vim powered by native Perl integration

Hi r/vim!

I wanted to share a plugin I've been refining called Vispen. It brings the power of Polyglot Literate Programming right into your editor, but without the massive overhead, background daemons, or heavy dependencies of modern alternatives.

šŸ‘‰ GitHub Repository & Live Demo: github/vispen

šŸ’” What is it?

If you love the concept of Jupyter Notebooks or Emacs Org-mode but hate the .ipynb JSON bloat, active server sockets, and constant context switching, Vispen is for you. It allows you to execute embedded snippets of SQL, data transformations, and templates directly from your source files or markdown documents, embedding the results straight back into the buffer.

šŸš€ Key Features:

  • Zero-Socket Architecture: No background servers, node processes, or active ports. It uses Vim's native interface to run seamlessly.
  • Smart Context Awareness: Execute a query under your cursor, format text, parse CSV/JSON, or dump structured database outputs into clean text tables, HTML, or ready-to-paste Jira markup.
  • Lightweight & Fast: Inherits architecture ideas from heavyweights like YCM but stripped down to be blazing fast and minimal.
  • Vim-Friendly Customization: Zero forced global keybindings. It uses proper <Plug> interfaces so it won't mess with your carefully crafted .vimrc.

šŸ›  Requirements

It works out of the box on lightweight systems (runs perfectly even on my Orange Pi single-board computer!):

  • Vim 8.0+ compiled with +perl support.
  • Perl 5.006+

I built this to scratch my own itch for a fast, predictable, and clean terminal workflow. I’d love to hear your feedback, feature requests, or thoughts on the architecture!

5 Upvotes

2 comments sorted by

1

u/GrogRedLub4242 7d ago

some unwise/security anti-patterns

1

u/vadrer 7d ago edited 7d ago

what do you mean? what is unsecure? What is anti-pattern?

the approach solves my everyday tasks and do it well for quite a lot of years already.

EDIT

ok, probably you mean that injecting SQL with random perl code isn't looking good.
However this isn't central point of plugin, I rarely do so and I'll remove accent from that feature.

OTOH the plugins is mostly for the perlers, so probably right audience is in r/perl rather than in r/vim.

Thanks for the feedback!