* feat(diagnostics): add padding when using different background colors
When each "sub-section" of the diagnostics components have a different background the rendering is off when
multiple more than one of them is shown.
* chore: fix typo and spelling
* enhance: add statusline test module
* update old tests to use statusline test setup
* show diff in statusline:expect
* Revert "show diff in statusline:expect"
This reverts commit cea25185fde1b99110759f198ef1fc724626306c.
* autoformat
* fix testcov reports
* update statusline test module
* revert lualine_spec
* update lualine_spec using statusline module
* apply formater
* add tabline support to statusline test module
* re enable tabline tests
* fix inconsistency in buffers mode test due to bufnr changing
Should we be showing bufnr/buffer_position in buffers component
* autoformat
* minor tweeks to stl test module
* use nvim_eval_statusline in nvim-0.6+
* fix tabs component on nvim-0.5
* enable disabled branch test
* feat: allow functions in color options.
* update_evilline
* docs: document color functions
* remove unnecesery stuff
* add dynamic color supoort for themes
* chore: autogen (vimdocs+formating)
* fix dynamic colors not working as color fallback
* fix transitional separators not updating for dynamic colors dynamic colors
* fix failing tests
* apply format
* Allow cases where theme doesn't even define nornal color for some mode
* allow color function to return nil
* some enhancements
* more enhancements
* code cleanup
* if we don't have even normal in theme we should just nvim highlight it with it's ususal stl colors
* not sure how it get here . It should be in different pr
* keep only c of lualine_c in component section name
* use sh to run docgen
* fix filetype component not respecting color option properly
* fix section x,y,z not falling back to correct colors
* auto format
* actually fix xyz not falling back to correct mode
* fix comp sep not correctly removed properly on function hl
* pass only section in color fn
* more enhancements
* update docs
* update create_comp_hl call locations
* enhancements+fixes
* fix broken hls in tabline
* Fix function color options not inheriting right colors
* some enhancements
* fix tests
* tweek docs
Co-authored-by: shadmansaleh <shadmansaleh@users.noreply.github.com>
* (feat) add rename
* remove tabname if LualineRenameTab is ran without args
* document LualineRenameTab
Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>
* fix: lualine crashing because of keyboard interrupt.
If keyboard interrupt occurs while lualine is evaluating statusline
lualine crashes completely. Since keyboard interrupt isn't something
we can handle try to mitigate the issue by retrying to evaluate the
statusline on error.Now lualine will retry 3 times before giving
up on an runtime error.
* Make last retry unprotected call
- Now `nvim_lsp` source shows diagnostics generated by vim.lsp only
avoids uses vim.diagnostic to avoid deprecation warning on nvim 0.6+
Why? `vim.lsp.diagnostic` deprecation warnings are way too aggressive.
And I'm annoyed by people complaining here even though the warning is
generated by some other plugin (After introduction of nvim_diagnostic
source lualine just can't produce that warning it used to switch users
to nvim_diagnostic source with a warning on nvim0.6+).
Forget it just let anyone that wants lsp specific diagnostics have
`nvim_lsp` . I'd still recommend using `nvim_diagnostic` over
`nvim_lsp` as diagnostics generayed by plugins like `null-ls` won't
showup in `nvim_lsp`
- Remove remanents of `nvim` diagnostics source.
* Schedule a redraw of tabline when setting tabline
The tabline isn't drawn until scrolling the window or opening another file. Opening multiple files at once (e.g. nvim a.txt b.txt) will only show the first.
By performing a deferred redraw of the tabline this fixes this startup behaviour problem.
* Changed to use vim.schedule
* docs: keep same style across docs and fix several typos
* docs: better formatting
* fix: address review comments
* docs: enhanced readability
* docs: follow the rules
* docs: fix some typos, and utilize backticks
* docs: slight tweaks to the wording
* docs: enclose require calls with parentheses
* docs: last minute tweaks
* fix: changes to wording & removal of trailing whitespace
* fix: use whole words