express_line.nvim icon indicating copy to clipboard operation
express_line.nvim copied to clipboard

[Not an issue] Sharing my express_line customization

Open ibhagwan opened this issue 2 years ago • 4 comments

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: image

"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 using 0.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 and vim-fugitive if those exists (avoids the extra git system call, better per-file stats)
  • Customizable icons for mode, git branch, git changes, diagnostics (can change the -+~ and W: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):

ibhagwan avatar Mar 20 '22 17:03 ibhagwan