express_line.nvim
express_line.nvim copied to clipboard
[Not an issue] Sharing my express_line customization
After seeing the clean looking statusline in @tjdevries videos I decided to explore this plugin and really loved it, with a bit of lua/nvim knowledge it provides the most flexibilty to do anything with your statusline with great performance (no timed quries, event based for "heavier" queries), as more of a DIY personality and wanting to have full control over my statusline this is perfect :-)
TJ's config wasn't exactly how I wanted it so I embarked on a little project and I'm very happy with the result, decided to share just in case anyone finds this useful:
"Features" include:
- Minimal and dimmed (using
StatusLineNC
) statusline when window is inactive (if not using global statusline) or for certain filetypes (fugitive, nvim-tree, packer) - Automatic highlights derived from current colorscheme (updated in runtime if new
colorscheme
is set) - Highlights for git/diagnostics are runtime generated to match the
StatusLine
highlight bg color - Diagnostics fallback to
vim.lsp.diagnostic
when neovim version <0.6
(don't ask me why I'm using0.6.1|nightly
lol) - Diagnostics include current LSP client name (can be turned off) so you know when your LSP is connected even when no diags are present
- Git indicators will use information from
gitsigns
andvim-fugitive
if those exists (avoids the extragit
system call, better per-file stats) - Customizable icons for mode, git branch, git changes, diagnostics (can change the
-+~
andW:E:I:H
if you wish)
It's very opnionated so I have no plans on making this an additonal plugin or extension but if one wishes to use the code in your config it only consists of 2 files (from my nvim config):