finds.dev← search

// the find

tjdevries/express_line.nvim

★ 316 · Lua · MIT · updated May 2024

WIP: Statusline written in pure lua. Supports co-routines, functions and jobs.

A Neovim statusline plugin written in pure Lua that lets you build statuslines out of strings, functions, or coroutines instead of the usual vimscript statusline string. It's for Neovim users who want async-friendly segments (e.g. git status that doesn't block on every buffer write) and are comfortable writing their own generator function rather than picking a preset theme.

The segment model is the actual interesting idea here: a generator can mix plain strings, buffer/window-aware functions, and coroutines, so something like a git diffstat can yield instead of blocking the statusline redraw. It ships a generated vimdoc (doc/el.txt via scripts/docgen.lua) and a stylua.toml, which is more polish than most WIP nvim plugins bother with. The subscribe.buf_autocmd pattern for updating segments only on relevant autocmds (BufWritePost, BufEnter) is a reasonable way to avoid recomputing everything on every redraw.

It's labeled WIP and has been dead since May 2024 with no tagged releases — there's a lua/el/_todo.lua sitting in the tree, which tells you how far 'done' it got. There's no visible test directory, which is a real gap for a plugin whose whole pitch is coroutines and async jobs; concurrency bugs here would be easy to introduce and hard to notice. It hard-depends on plenary.nvim and originally required Neovim's master branch just to install, which is a lot of version fragility for a statusline. Configuration is still manual — the README admits 'at some point I will add some ways to easily configure the defaults' — so today you're writing a generator function from scratch rather than picking a theme.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →