Commit Graph

73 Commits

Author SHA1 Message Date
shadmansaleh f40db9a224 fixup: prevent wildmode=list from disapearing
don't call redrawstatus on command mode if wildmode is set to list
fixes #781
2022-08-07 12:33:39 +06:00
shadmansaleh b1042d3184 Revert "fix: don't call redrawstatus/tabline they have a ton of side effects"
This reverts commit 6fbc35b3e0.
The statusline flashing issue in #747 doesn't seem to occur any more as we
aren't updating in autocmd context . But we still have statusline
not updating in cmdline mode. So lets try reintroducing the redraw
commands.
2022-08-04 19:23:38 +06:00
shadmansaleh d2a727da9f fixup: globalstatus hidden in floating windows + flickering
fixes #774
2022-08-04 18:33:16 +06:00
shadmansaleh 136a92cb97 fixup: fix all winbars being evaluated in curwins context with globarstatus
fixes #779
2022-08-04 18:05:05 +06:00
shadmansaleh f50ce0f9f6 fixup: statusline not refreshing when winbar or inactive_winbar is set
fixes #777
2022-08-03 21:45:52 +06:00
shadmansaleh 93b2f4af62 chore: autogen (vimdocs+formating) 2022-08-03 15:36:17 +00:00
shadmansaleh e8294ac56a feat: allow lualine to be temporarily completely disabled
Adds `lualine.hide()`

closes #776
2022-08-03 21:35:31 +06:00
shadmansaleh b80ba74d4c enhance/doc: rename refresh_opts.kind to scope.
document lualine.refresh()
apply defaults to refresh_opts
2022-08-03 21:35:31 +06:00
Shadman 6d11f9f508
feat: allow lualine to ignore focus on specific filetypes. (#767)
* feat: allow lualine to ignore focus on specific filetypes.

closes #710

* fix: extensions on ingnored_focus

* perf: reuse api call results & use local variables instead of vim.g

* make location & progress components behave in ingnored filetypes

* fix: crash when last_focused win gets closed

* fix: location & progress related broken tests
2022-07-29 16:54:31 +06:00
shadmansaleh e9b05e7f35 fixup: don't take over stl/wbr/tbl opts in ingnored filetypes 2022-07-28 11:22:54 +06:00
shadmansaleh 33f03620c3 chore: autogen (vimdocs+formating) 2022-07-27 16:03:32 +00:00
shadmansaleh 2d6108e07f fix flickering while working one enter=false floats
some of them are caused by https://github.com/neovim/neovim/issues/15300
some are https://github.com/neovim/neovim/issues/19464
and other unknown bugs too

So as workaround don't update statusline in autocmd context immediately
instead defer the refresh to 50ms later in timer context.

fixes #751 #753 #755
2022-07-27 22:01:15 +06:00
shadmansaleh fb9a0ebbd4 fix: refresh lualine on filetype change 2022-07-23 12:53:30 +06:00
shadmansaleh 292c6bbcce enhance: blend statusline with background when lualine is disabled 2022-07-23 12:53:30 +06:00
shadmansaleh 6fbc35b3e0 fix: don't call redrawstatus/tabline they have a ton of side effects
closes #747
2022-07-23 08:45:18 +06:00
shadmansaleh 669a7d63ca chore: bump stylua version to 14.1 in CI 2022-07-22 19:48:20 +06:00
shadmansaleh d7386bbab3 chore: autogen (vimdocs+formating) 2022-07-22 13:30:37 +00:00
Shadman 53aa3d82d9
feat: refresh lualine based on timer + winbar support. (#736)
* feat: refresh lualine based on timer.

* fix config test

* fix lag on win change issue

* handle errors in timer callback

* feat: add winbar support

Pull in winbar changes form pr #689 and adapt them
Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>

* make winbar disapear when winbar evals empty

* only update stl of curwin with globalstatus

* properly clear win local stl and wbr opts

* add version guards for winbar feature

* only add winbar if height > 1

* fix tests?

* refresh lualine on ModeChanged event

* ignore floating windows for refresh

* properply restore options to previous state

* fix stl not updating in cmd mode + some optimizations

* fix tests on <nvim-0.7

* merge status_dispatch & winbar_dispatch + winbar support for extensions

* fix globalstatus option not live updating

* update docs

* feat: allow disabling winbar and statusline separately

* fix tests

* fix: winbar some times oddly throwing errors

about not having space in floating windows.

This implements a temporary workaround the issue(https://github.com/neovim/neovim/issues/19464)
until the bug in neovim gets fixed.

Co-authored-by: Diego Fujii <android.mxdiego9@gmail.com>
2022-07-22 19:29:55 +06:00
Daemon b61afc44e6
docs: cleanup formatting and comment typos (#696)
* docs: fix typo in component notice

* refactor: rename typo param 'pattern'

* docs: fix comments typos across project files

Cleanup misspellings and wording in comment lines.

* docs: improve readability of `CONTRIBUTING.md`

* docs: improve readability of `README.md`

- Minor typos
- Clarify information
- Separate sections from paragraphs

* docs: add newline below headers in `THEMES.md`

Aim's to be consistent with other documents.

* docs: fix unname tabpage command reference

* docs: reword 'directly bused' for `setup_theme()`

* docs: fix extra indent in contribution list

* docs: more separation in readme/tabs, remove extra backtick

* docs: further improve wording for `setup_theme`

* docs: improve wording for `setup` function

* docs: missing underscore in lualine/config
2022-05-30 20:25:05 +06:00
shadmansaleh dfac736a01 enhance: respect laststatus from user
Users laststatus option is kept as is unless globalstatus option is set.

closes #670
2022-04-28 19:08:08 +06:00
shadmansaleh 7345986fb4 fix: use appropriate default color for transitional separators. 2022-04-01 09:18:23 +06:00
Camille Dejoye e9b935ccd6
feat: add windows component (#595)
Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>
2022-03-26 19:31:40 +06:00
shadmansaleh 399aaa564d fix: test errors in lualine_spec 2022-03-18 07:02:19 +06:00
Shadman 60b1d5dce9
feat: add support for global statusline (#613) 2022-03-18 06:59:01 +06:00
shadmansaleh 88a44ade81 fix: tabline causing neovims splash screen to disappear
Solution: set tabline option in setup() so we don't need to call
redrawtabline

fixes #542
2022-03-07 21:49:22 +06:00
Shadman 37a314b9e3
feat: add support for dynamic color with functions in color options (#566)
* 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>
2022-03-02 19:37:08 +06:00
shadmansaleh 6f28adb21f chore: autogen (vimdocs+formating) 2022-02-01 08:04:03 +00:00
Shadman e6e75f5e92
fix: lualine crashing because of keyboard interrupt. (#534)
* 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
2022-01-31 23:34:53 +06:00
Jascha van Aalst bc5c2f5658
fix: code doc typo in lualine.lua (#540) 2022-01-09 22:30:19 +06:00
shadmansaleh b18b7ee8ac chore: Use paranthesis for function calls. No paran can trip new lua users 2022-01-02 17:38:39 +06:00
smhc a11f6d15d4
Schedule a redraw of tabline when setting tabline (#520)
* 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
2022-01-02 17:05:42 +06:00
James Yin c4a09735a6
fix: remove auto commands in lualine group properly on lualine reset (#488) 2021-12-13 18:22:30 +06:00
Shadman f286f0443d
tests: add more tests (#439)
* tests: add more tests

* fix: for now comment out tabline tests

will check later why some are passing locally but not in CI
2021-11-22 19:40:18 +06:00
shadmansaleh ad4f4ff751 chore: repo transfer to nvim-lualine 2021-10-22 10:57:04 +06:00
Shadman 08d1340ec9
doc: improve code documentation (#82) 2021-10-12 20:04:47 +06:00
shadmansaleh 98b43ba3a1 fix: left sections taking over entire stl when xyz is absent
- now %= applied even when x,y,z is absent
- newly added always_divide_middle option cal be set to false to avood %=
2021-10-08 04:46:38 +06:00
shadmansaleh 260133ce63 fix: wrong highlights on inactive mode with last commit 2021-09-19 12:20:07 +06:00
shadmansaleh 7147989f5f enhance: color middle of left and right statusline with lualine_c color even when section c and x are absent 2021-09-19 11:52:42 +06:00
shadmansaleh 1e72ae9ae3 fix: fix wrong trans sep when only section a and z are present 2021-09-08 20:53:23 +06:00
github-actions[bot] db448f41e6
chore: formated with stylua (#32)
Apply initial stylua format

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-04 00:28:20 +06:00
shadmansaleh b2fcf50742 enhance: Reload lualine for ColorScheme so auto can self update 2021-09-03 20:16:54 +06:00
shadmansaleh 8b4f70817c Refactor: Rename lualine_conifg.lua -> lualine/config.lua
This is loaded by lualine require so the peroformence will not be effected.
2021-09-03 15:59:00 +06:00
shadmansaleh 70d925ab17 Perf: More optimizations 2021-08-30 20:52:49 +06:00
shadmansaleh d7304f2b4e Remove support for deprecated themes 2021-08-30 06:35:33 -07:00
shadmansaleh 85545bd192 Perf: move the files loaded at startup to &rtp/lua require is faster
renamed:    lualine/init.lua -> lualine.lua
renamed:    lualine/config.lua -> lualine_config.lua
2021-08-30 19:02:01 +06:00
hoob3rt aec3bb9195 refactor: lualine.lua -> init.lua 2021-03-16 00:14:41 +01:00
Hubert Pelczarski 3e0332e6d2
refactor: removed ability to set theme in runtime (#130) 2021-03-16 00:13:10 +01:00
hoob3rt a1ffa2a39e fix: removed extensions from tabline 2021-03-16 00:01:04 +01:00
hoob3rt bbcd9e43be fix: added tabline handling to extensions 2021-03-13 01:21:37 +01:00
hoob3rt add3045cdc Revert "feat: added nerdtree extension"
This reverts commit da46b69e3a.
2021-03-11 00:31:57 +01:00