A fast, customizable Neovim statusline written in pure Lua with support for coroutines, functions, and async jobs.
express_line.nvim is a statusline plugin for Neovim written in pure Lua. It allows users to create highly customizable statuslines using strings, functions, coroutines, and asynchronous jobs, solving the problem of slow or blocking statusline updates in traditional Vim setups.
Neovim users who want a fast, Lua-native statusline with async capabilities and deep customization options.
Developers choose express_line.nvim for its pure Lua implementation, support for asynchronous updates via coroutines, and flexible generator-based configuration, enabling real-time statusline components without editor lag.
WIP: Statusline written in pure lua. Supports co-routines, functions and jobs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely in Lua for Neovim, avoiding Vimscript bottlenecks and leveraging native async capabilities for smoother updates, as highlighted in the README's emphasis on speed and flexibility.
Supports multiple data types including strings, functions, coroutines, and async jobs, allowing developers to mix synchronous and asynchronous components seamlessly, with examples in the Setup section.
Uses coroutines and timers to update statusline elements without blocking the editor UI, enabling real-time data like Git status without lag, as demonstrated with helper.async_buf_setter.
Includes ready-to-use components for common needs such as Git branch, file icons, and editor mode, reducing the need to write custom code from scratch, listed in the Extensions section.
Only compatible with the master branch of Neovim, which may be unstable or not suitable for production environments, as stated in the Installation requirements.
Users must write custom Lua generator functions to define the statusline, lacking a simple configuration interface; the README admits missing easy ways to configure defaults.
The README is minimal and relies on users understanding Lua and coroutines, with notes like 'At some point I will add some ways to easily configure the defaults,' indicating gaps.
Requires plenary.nvim for async jobs and nvim-web-devicons for file icons, adding setup complexity and potential compatibility issues, as mentioned in the Installation and Extensions.