Commit Graph

461 Commits

Author SHA1 Message Date
Mudox c9a974d912
feat: hide filename extension for buffers component (#629) 2022-04-13 10:59:53 +06:00
shadmansaleh bb8dd4c1c5 chore: autogen (vimdocs+formating) 2022-04-13 04:59:06 +00:00
Camille Dejoye f3dc0dcd4c
feat(themes): add automatic theme for nvim-base16 colorschemes(#597) 2022-04-13 10:58:31 +06:00
shadmansaleh c8e5a69085 fix: theme colors not applied as default when color option is incomplete
fixes #631
2022-04-01 13:46:09 +06:00
shadmansaleh 7345986fb4 fix: use appropriate default color for transitional separators. 2022-04-01 09:18:23 +06:00
Khang f14175e142
fix: typo (#626) 2022-03-27 14:03:24 +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 4480d91e60 fix: transparent background throwing errors without termguicolors
fixes #623 #625
2022-03-26 10:00:51 +00:00
kylo252 5a91d816a0
chore(tests): move tests out of lua directory (#621) 2022-03-25 13:35:59 +00:00
Fitrah Muhammad 181b14348f
fix(filename): use columns for shortening if using global statusline (#617) 2022-03-18 20:08:52 +06:00
shadmansaleh 7db1db3cd9 fix: icons from different filetype component shareing same highlight group
fixes #610
2022-03-18 07:52:41 +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
shadmansaleh 1e3cfc691f fix: persistent notices getting wrongly triggered 2022-03-07 18:10:32 +06:00
shadmansaleh 531b2f8a4b fix: transitional hl throwing errors for nil fg/bg in colors
fixes #600
2022-03-07 17:39:09 +06:00
shadmansaleh d2e0ac595b chore: autogen (vimdocs+formating) 2022-03-06 02:11:19 +00:00
Camille Dejoye 91142983d0
feat(diagnostics): add padding when using different background colors (#594)
* 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
2022-03-06 08:10:34 +06:00
shadmansaleh a1304ea8b6 chore: autogen (vimdocs+formating) 2022-03-05 13:41:08 +00:00
Shadman 747ef49b98
tests: add statusline test module & update lualine_spec accordingly(#588)
* 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
2022-03-05 19:40:36 +06:00
shadmansaleh 21fdf7b9fa don't max xyz->cba in create_component_highlight it's done while generating default hl values 2022-03-05 17:52:00 +06:00
Shadman 09f749cbb1
handle cases where filetype icon highlight is not set (#589) 2022-03-03 06:37:52 +06:00
shadmansaleh 32c85cd214 feat: add custom color support for icons 2022-03-02 20:02:58 +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
Michael Lan 016a20711e
feat: ayu adaptive background (#584)
* feat: Enable adaptive theme for ayu theme

* Update description of ayu theme

* doc: make formatting consistent
2022-02-21 08:05:43 +06:00
shadmansaleh 605a30f2fe feat: support transitional seperators with transparent background 2022-02-20 14:55:03 +06:00
shadmansaleh 00020dc3fd chore: allow runnibgs tests through vusted 2022-02-20 14:52:29 +06:00
shadmansaleh 40849728b6 fix: % not properly escaped in other components too.
Now following components escapes results of external souces
- buffers
- tabs
- hostname
- branch
- filetype

fixes #579
2022-02-15 23:17:05 +06:00
shadmansaleh a69251d52b fix: % in filename not escaped properly.
fixes #579
2022-02-15 22:54:29 +06:00
yasudanaoya 6a3d367449
feat: add terminal mode color in onedark (#576)
* feat: add terminal mode color in onedark
2022-02-12 00:36:36 +06:00
shadmansaleh 98dc2dd3a2 fix: LualineRenameTab crashing lualine
fixes https://github.com/nvim-lualine/lualine.nvim/pull/574#pullrequestreview-874872853

Issue was neovim's tabpage handle used by rpc-api isn't same as tab no
in viml.
Now the tabpage handle is stores in self.tabId and tab no is stored in
self.tabnr in `Tab` so any can be used when necessary.
2022-02-07 22:13:42 +06:00
Tokubara d52ff470de
feature to rename tabs (#574)
* (feat) add rename

* remove tabname if LualineRenameTab is ran without args

* document LualineRenameTab

Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>
2022-02-07 21:26:25 +06:00
yasudanaoya 2bddaf0508
feat: add onedark/onelight command mode color (#575)
* feat: add onedark/onelight command mode color

* fix: typo
2022-02-07 20:55:33 +06:00
Rocky Zhang d3c513a3fa
Extension for aerial.nvim (#572)
* Extension for aerial.nvim
2022-02-06 13:23:59 +06:00
shadmansaleh 6f28adb21f chore: autogen (vimdocs+formating) 2022-02-01 08:04:03 +00:00
github-actions[bot] dc31077bc5
chore: formated with stylua (#564)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-31 23:36:06 +06: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
Illia Danko 9208bae98f
fix: use one theme colors from rakr/vim-one (#556)
* fix: use one theme colors from rakr/vim-one

Co-authored-by: Illia Danko <illia@aigent.com>
2022-01-24 22:36:25 +06:00
shadmansaleh 70691ae350 enhance: undeprecate nvim_lsp and completely remove `nvim` diagnostics source 😉
- 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.
2022-01-12 22:35:44 +06:00
shadmansaleh 750a94baef chore: remove older deprecation notices 2022-01-12 22:35:17 +06:00
Jascha van Aalst bc5c2f5658
fix: code doc typo in lualine.lua (#540) 2022-01-09 22:30:19 +06:00
shadmansaleh 52725d2ca8 fix: buffers component crash on unlisted buffers
Seems like get_buf_option doesn't work on unlosted buffers.
reverting back to using fn.buflisted()

fixes #532
2022-01-04 23:30:31 +06:00
kylo252 02e1f6cd5b
refactor: use nvim api directly for bufnr (#526) 2022-01-04 19:17:16 +06:00
kylo252 4b68b8dd2a
fix: use nvim-api to avoid win_getid exceptions (#525) 2022-01-04 07:22:52 +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
shadmansaleh 9e26823ea6 fixup: error on branch component when stray .git files exist
fixes #490
2021-12-25 16:13:39 +06:00
Khang afaa540333
chore: fix typos (#507) 2021-12-24 08:03:11 +06:00
Tobias Schmitz 3a17c8f05a
fix: don't hide readonly symbol when modified (#497) 2021-12-18 19:04:09 +06:00
Tobias Schmitz d02658b34d
feat(filename): add unnamed option (#496)
* feat(filename): add unnamed option

* docs(filename): add documentation for symbols
2021-12-18 18:49:41 +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
Tom 5596c2a25a
fix: x, y, z hl group not setting correctly (#484)
Highlight groups for x, y, z would only set correctly if theme had normal mode
explicitly set
2021-12-11 06:33:18 +06:00
Shadman f4ab5b56da
fix: diagnostics component in nvim-0.5 (#476) 2021-12-10 06:00:06 +06:00
shadmansaleh 4231b63196 fix: lsp.diagnostics deprecation warning
- change default diagnostics source from nvim_lsp to nvim_diagnostic
  and deprecate nvim_lsp on neovim-0.6 and higher.
- rename diagnostics source nvim to nvim_diagnostic. nvim could be
  confusing.

fixes #473
2021-12-09 23:33:36 +06:00
YONG LI 1ae4f0aa74
Support symbols-outline extension (#456)
* Support symbols-outline extension.
2021-11-28 17:00:34 +06:00
shadmansaleh 49db98c856 fixup: fix diff component quiting properly
fixes #459
2021-11-28 16:46:37 +06:00
shadmansaleh b7cf506785 enhache: support inlined custom component in extensions too 2021-11-25 13:44:15 +06:00
shadmansaleh c030a380ef feat: add support for inline custom components 2021-11-25 12:57:00 +06:00
github-actions[bot] 17668aa19d
chore: formated with stylua (#447)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-22 19:41:13 +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 8725c63941 enhance: add more fallback colors for diff component 2021-11-22 10:13:14 +06:00
shadmansaleh 93c934a641 fixup: fix padding, fmt options in tabs and buffers
Previously these options were applied to entire tabs/buffers components.
Now they are applied to specific buffer/tab.

Note: Now icon, color options are no longer applicable to buffers & tabs
component. I can't see how they make sense here. Also cond stil applies
to entire component.

fixes #414
2021-11-18 08:12:33 +06:00
github-actions[bot] e6b6caa93b
chore: formated with stylua (#435)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-13 20:02:27 +06:00
Shadman 46534fe8b7
fix: fix flacky test (#434) 2021-11-13 20:01:01 +06:00
Ilya Malyavin d2f5d6c8aa
feat(buffers): option to show buffer index (#433)
* feature(buffers): option to show buffer indices
2021-11-13 19:44:35 +06:00
shadmansaleh df46c1e70a enhance: add notice for invalid types of component 2021-11-11 16:52:27 +06:00
Anakael 3b1a367d76
doc: fix hint icon doc in diagnostics component (#426) 2021-11-09 10:03:03 +06:00
Fitrah Muhammad 9143f8a8d0
enhance(filetype): filetype option as fallback of file extension for icon detection (#415)
* enhance(filetype): filetype option precede extension for icon detection

Enhances icon detection for files without extension e.g. shebang or
modeline by using filetype option before the extension.

* fixup(filetype): filetype option as fallback of file extension

Some file icon keys defined by [nvim-web-devicons][1] using file
extension name instead of filetype option.

There's been an [issue][2] about this but no PR for it yet, so I think
for now we can handle it here.

[1]: https://github.com/kyazdani42/nvim-web-devicons
[2]: https://github.com/kyazdani42/nvim-web-devicons/issues/29

* refactor(filetype): `vim.api.nvim_buf_get_option` -> `vim.bo`
2021-11-08 07:22:30 +06:00
Arthur Skobara 3f5cdc51a0
fixup: missing hint value inside vim_lsp source (#421) 2021-11-05 12:55:28 +06:00
github-actions[bot] 7eff9bbeb4
chore: formated with stylua (#410)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-29 19:13:17 +06:00
Shadman ecaa491c3c feat: add support for function in max_length option (tabs & buffers) 2021-10-29 19:07:11 +06:00
adrian5 96263bcef6
doc: fix a few typos (#407) 2021-10-28 21:22:15 +06:00
André Augusto 0b0233f808
feat: add symbols option to fileformat (#401)
* doc: add symbol to fileformat component specific option
2021-10-27 03:04:53 +06:00
shadmansaleh 8d8c538fb9 fixup: fix update_in_insert caching colors in diagnostics
- mention colored option in docs
- sort component option list alphabeticaly

close #402
2021-10-26 14:37:50 +06:00
Mark Story 61cd6e6ef8
feat: add fern extension (#398)
* Add fern extension

Fern[^1] is general purpose tree view that can browse and manipulate
file trees. This extension provides a simple and useful statusline for
fern buffers.

[^1]: https://github.com/lambdalisue/fern.vim

* Reuse nerdtree code for fern

* doc: mention fern in README

Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>
2021-10-26 09:21:38 +06:00
André Augusto e917677a3a enhance: change method of getting file encoding
Currently, lualine gets the encoding using this:
[[%{strlen(&fenc)?&fenc:&enc}]] My suggestion is to change this string
to `vim.opt.fileencoding:get()` This suggestion is because I would like
to use the option "fmt = string.upper", and with the current string it
doesn't work, but using vim.opt function correctly
2021-10-22 21:18:27 +06:00
shadmansaleh 71f6fed3c3 chore: update readme 2021-10-22 19:10:33 +06:00
Mat Jones e909cc3caf feat: add option to always show diagnostics
* rename option and add to default config

* combine separate if statements using else if
2021-10-22 18:07:34 +06:00
shadmansaleh ad4f4ff751 chore: repo transfer to nvim-lualine 2021-10-22 10:57:04 +06:00
shadmansaleh 7ba7829a05 fixup: fix failing tests 2021-10-22 10:19:29 +06:00
shadmansaleh 9433dbb762 enhance: use virtual column(%v) for location and line no (%p) for progress
closes #90
2021-10-22 09:45:26 +06:00
github-actions[bot] cd08f74bb7
chore: formated with stylua (#86)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-13 21:53:13 +06:00
Shadman 632a11fa33
chore: setup luacov for test coverage (#85) 2021-10-13 21:51:19 +06:00
Dheepak Krishnamurthy b9e06deb33
fixup: fix missing `self` (#84) 2021-10-13 07:17:24 +06:00
Shadman 08d1340ec9
doc: improve code documentation (#82) 2021-10-12 20:04:47 +06:00
Charly Delay babc57c62b
fixup: fix diff component default colors (#83)
Rationalizes the default colors used by the `diff` component.  These colors are based of the original fork (https://github.com/hoob3rt/lualine.nvim/blob/master/lua/lualine/components/diff.lua#L17-L21), but the assignment differs (so that added defaults to green, modified defaults to orange, and removed defaults to red).
2021-10-12 11:37:32 +06:00
shadmansaleh 6b9e9352be refactor: split diff component (#81) 2021-10-11 19:07:38 +06:00
shadmansaleh cc64ec3f7c refactor: split branch component (#81) 2021-10-11 19:07:38 +06:00
shadmansaleh 0b599b0ace refactor: split diagnostics component (#81) 2021-10-11 17:43:49 +06:00
shadmansaleh 1e2b735aee chore: remove deprecation notices and deprecated options from #24
+ fix tests
2021-10-11 17:10:24 +06:00
shadmansaleh d25a37fea0 refactor: rename component type luae and vimf
- rename luae -> lua_expr
- rename vimf -> vim_fun
luae & vimf were too vague and hand to understand.

BREAKING_CHANGE
2021-10-11 17:09:07 +06:00
shadmansaleh 6e936efe06 refactor: allow components, extensions, themes to be multi file module
(#81)

utilize that to split tabs & buffers components into smaller files
2021-10-11 16:42:57 +06:00
shadmansaleh c8750a35e0 enhance: allow components to be functions too (#81)
Some components like hostname, progress are so simple that
the component class setup is just unnecessary boilerplate.
Allowing them to be function simplifies things.
With this you can put your regular component functions in
~/.config/nvim/lua/lualine/components/ folder and treat then as
regular lualine components just like 'mode' or 'branch'.
Hopefully this will help lualine plugins grow.
2021-10-11 16:41:25 +06:00
shadmansaleh 61ac665774 refactor: separate the child creation and initialization (#81)
- includes modified class implementation from https://github.com/rxi/classic/blob/master/classic.lua
- now base component class is created from classic.
- change to how component classes are created.
  - Don't overwrite new method to initialize a component.
    Overwrite the init method. new is responsible for
    creating class object and calling init on it.
    Unlike previous new overwrite you don't need to create
    the class (table) and return it. Instead you will recive
    the object as self and do required manipulation on that
    just like any most other oop langs. Also don't need to
    return anything from init. init's job is to initialize.
    remember to call classes init before running your operations
    unfortunately lua isn't full fledged oop lang and I don't
    how to automate this.
- changes how super classes are accesed.
  - rename Component._parent -> Component.super
  - methods on super classes now ran through super class instead
    of objects _parent self._parent as that can lead to recursive inf loop.
  See branch, diff, tabs, buffer classes call to init for example
  on pattern.
- All components updated to reflect current logic
- component loader updated to use new initialization procedure.
- updated tests
- updated BREAKING_CHANGES.md
- plus quite a bit of formatting changes in the components
  - comp.method = function(self, ...) -> function M:method(...)
BREAKING_CHANGE
2021-10-11 16:41:19 +06:00
zeertzjq a564019d95
feat: add support for mode nt (#79)
Following https://github.com/neovim/neovim/pull/15878
2021-10-10 08:43:50 +06:00
shadmansaleh 9bf5ecc2bb fixup: fix bugs in tabs component
- fix options nil error upon deleting and creating tab
- fix only single tab being rendered after deleting and recreating tabs
2021-10-08 20:30:05 +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 6faaa05ae5 Revert "fix(extension): fix some extension showing a section in whole line"
This reverts commit 846e5bdabf.
2021-10-08 03:57:05 +06:00
zeertzjq 90e1dc074f
feat: add support for modes Rvc and Rvx (#75)
Following https://github.com/neovim/neovim/pull/15886
2021-10-04 07:36:20 +06:00
shadmansaleh b7c0a2aeb1 fix: handle nil error in diff component
closes #74
2021-10-02 15:08:33 +06:00
shadmansaleh 846e5bdabf fix(extension): fix some extension showing a section in whole line
For now use a dummy component to lualine_x on extensions that only define
lualine_a. This will let the renderer know right sections do exist.

closes #73
2021-10-01 19:54:57 +06:00
github-actions[bot] 4353afd1de
chore: formated with stylua (#69)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-27 18:06:25 +06:00
CantoroMC 05d6a13369
enhance: improved notices.show_notices (#70)
- Prefer use of lua functions instead of vim.cmd
 - Added buffer and window options
 - Moved from append to appendbufline
2021-09-27 18:04:54 +06:00
shadmansaleh 20a87ac78c fix: typo + make notice buffer not modifiable
closes #68
2021-09-27 14:44:44 +06:00
shadmansaleh 69b5351147 enhance: use a smaller icon for modified buffer in buffers component 2021-09-26 06:22:26 +06:00
Glenn Waters 5785d4b47f
enhance: use table to map mode to hl group (#67)
I believe a hash is more efficient than a multiple comparison if. The code is also drier, no replication of the concatenation line of code.
2021-09-26 06:15:22 +06:00
shadmansaleh ceec01bc6c enhance: set default diagnostics source to nvim-lsp & coc
doc: update docs for options.
2021-09-21 12:30:19 +06:00
shadmansaleh cdc574c9b0 fix: nil error with Alpha on buffers component 2021-09-20 21:47:57 +06:00
shadmansaleh 904f9df637 refactor: replace rtp_searcher with nvim_get_runtime_file (#65) 2021-09-20 20:35:14 +06:00
Dheepak Krishnamurthy 4ca1a8fd00
Add buffers and tabs component (#42)
* feat: Add tabs component  
* feat: Add buffers component 

Now you can have traditional tabline/bufferline directly with lualine.

Special thanks to @kdheepak for making it happen.

Co-authored-by: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com>
2021-09-20 19:11:41 +06:00
shadmansaleh 9f556fdf37 chore: add license statements and update benchmarks 2021-09-20 17:48:22 +06:00
zeertzjq fa3f8c33ca
feat: add support for modes vs, Vs, CTRL-Vs (#62) 2021-09-20 09:57:41 +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
Zachary Churchill ebea516ac7
fix: theme not loading in neovim-nightly (#59) 2021-09-19 08:25:08 +06:00
shadmansaleh c5cb601a6a feat(diagnostics): Add support for nvims diagnostic API
- neovim added new diagnostics api in https://github.com/neovim/neovim/pull/15585.
  So I've added a new diagnostics source named `nvim` (Yes I couldn't
  find a name for it :P) that shows diagnostics from that api.
  In neovim nightly with vim.diagnostics you can consider source
  `nvim_lsp` obsolete.
- Diagnostics source `vim_lsp` was removed in a mistake now it's
  restored.
2021-09-17 18:50:32 +06:00
shadmansaleh f7702d8841 enhance: check for new diagnostics highlight groups
- Now DiagnosticError, DiagnosticWarn, DiagnosticInfo, DiagnosticHint
  are also consider3d for default highlight in diagnostics component.
- Moved getHl from auto theme to utils as extract_color_from_hllist

closes #56
2021-09-17 15:28:30 +06:00
shadmansaleh b76c410dba fixup: fixes issues in diagnostics component
- typo diagnostic_color -> diagnostics_color
- typo hin -> hint
- warning -> warn since that's what's used everywhere
- change default diagnostics colors slightly

fixes #55
2021-09-17 15:27:57 +06:00
Shadman 2f801ed622
Refactor: simplify options (#24)
* Deprecate upper & lower option.

These does not make much sense and `format` option can provide same results

* Unify padding options

* Add persistent notices

* Make separators use left/right keys to specify left right instead of
sequence

* Rename format -> fmt

* Rename condition -> cond

* Rename disable_text -> icon_only

* Unify color_error,warning,info,hint under diagnostics_color

* Unify color_added,modified,removed hint under diff_color
2021-09-14 21:14:23 +06:00
Matthew Toohey 1f4df948c4
fix: handle capitalized letters in pywal colors (#40)
Co-authored-by: mtoohey31 <mtoohey31@users.noreply.github.com>
2021-09-09 05:25:31 +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
shadmansaleh 0e0cf68eba Revert: enahce: sync diff&branch component to buffer based of bufnr instead of BufEnter
functionally reverted commit 2b90200998
nvim gives first scratch buffer(when opened without a file) and the
first opened buffer bufnr 1 . That's why we can't relay completely
on bufnr being different to indicate file is different. So back to
BufEnter autocommands.

closes #38
2021-09-06 18:20:36 +06:00
github-actions[bot] a26ffaa8ed
chore: formated with stylua (#36)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-04 23:18:50 +06:00
Matthew Toohey 7185c61e9e
feat: pywal theme (#35)
* feat: pywal theme
* docs: add pywal screenshots

Co-authored-by: mtoohey31 <mtoohey31@users.noreply.github.com>
2021-09-04 23:17:19 +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
Shadman 4042e837f8
chore: use stylua for formating
* Switch to stylua for formating

* Change lua-format ignore to stylua ignore.

* Add workflow for formating with stylua
2021-09-04 00:20:34 +06:00
shadmansaleh b2fcf50742 enhance: Reload lualine for ColorScheme so auto can self update 2021-09-03 20:16:54 +06:00
shadmansaleh a643a24d94 enhance: improve function component
- provide self as 1st argument
- handle error in function call
- convert the result to string by default
2021-09-03 18:19:00 +06:00
shadmansaleh c0f53e4acd Refactor: better handle how default options are applied 2021-09-03 18:04:48 +06:00
shadmansaleh b3c5c4403c feat: add new filesize component 2021-09-03 16:16:10 +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 e409e9fc32 Enhace: add a faster fallback for lualine_require for requiring files out of repo
If that fails it still falls back to original require a last resort
2021-08-30 23:58:23 +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 ba1efb2a00 Remove deprecated feature: string color option bering treated as fg 2021-08-30 06:35:06 -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
shadmansaleh b0da16addd enhance:Don't load notice module when there are no notices 2021-08-30 19:02:01 +06:00
shadmansaleh 1afc45294a refactor: rename cterm_color.lua -> color_utils.lua 2021-08-30 19:02:01 +06:00
shadmansaleh 1439ba6d37 perf: Improve startup by droping most of the requires + refactors
Important: It's no longer guaranteed that if component/extension
of same name exists in multiple entries in rtp which one will be
loaded. The guarantee is still there for themes . Means other
plugins or users config can overwrite a lualines internal theme
with same file name . I'm droping the guarantee for components
and extensions because there isn't much usecase for it . It's simple
to have a unique name and droping that guarantee allows more
optimizations that speeds up lualine.
2021-08-30 17:54:23 +06:00
shadmansaleh 2b90200998 enahce: sync diff&branch component to buffer based of bufnr instead of BufEnter 2021-08-30 12:18:08 +06:00
shadmansaleh 0a032cf43e fix: Properly disable internal diff when source is given 2021-08-30 12:03:07 +06:00
shadmansaleh 114a840a41 enhace: Allow transitional hl to be applied at begining and end of stl
Since for left sep at left most location we will not find and prev_hl
We will use 'Normal' for right sep of right most position we will not
find a next_hl we will use 'Normal'.
2021-08-30 09:45:42 +06:00
shadmansaleh 649b7dd652 Skip right sep when %<left_sep is righr after it(lualine_b->c) 2021-08-30 09:41:26 +06:00
shadmansaleh 9be79955b8 Revert "enhace: Allow transitional hl to be applied at beginung and end of stl"
This reverts commit bae19db8d0.
2021-08-30 09:37:50 +06:00
shadmansaleh bae19db8d0 enhace: Allow transitional hl to be applied at beginung and end of stl
Since for left sep at left most location we will not find and prev_hl
We will use the next hl after component similarly for right sep of right most position
we will not find a next_hl we will use previous hl before component
2021-08-29 17:59:13 +06:00
Ashish Panigrahi 09169739fa added powerline-dark theme
* added replace colorscheme

 * updated screenshots

 * added patched font screenshots
2021-08-28 23:29:51 +06:00
shadmansaleh 6c9330d240 Enhance: Truncate from section c this way a&b won't disapear when stl becomes wide 2021-08-28 01:06:19 +06:00
shadmansaleh 276ba5d19e feat: Support indexing dictionaries in var components 2021-08-28 00:32:44 +06:00
shadmansaleh 2348eaea2f enhace: Use nvim_call_function instead of vim.fn so vim.fn does not get populated 2021-08-28 00:13:50 +06:00
shadmansaleh 1c57d7e61c chore: update extensions to have empty section_c so transitional separators can work
closes #23
2021-08-27 01:02:32 +06:00