Commit Graph

54 Commits

Author SHA1 Message Date
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
shadmansaleh 4480d91e60 fix: transparent background throwing errors without termguicolors
fixes #623 #625
2022-03-26 10:00:51 +00: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 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 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 605a30f2fe feat: support transitional seperators with transparent background 2022-02-20 14:55:03 +06:00
shadmansaleh 6f28adb21f chore: autogen (vimdocs+formating) 2022-02-01 08:04:03 +00:00
shadmansaleh b18b7ee8ac chore: Use paranthesis for function calls. No paran can trip new lua users 2022-01-02 17:38:39 +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 08d1340ec9
doc: improve code documentation (#82) 2021-10-12 20:04:47 +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 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
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 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 1c57497863 refactor: Improve section separators
- behaviour change now statusline won't be separated with %=
  if you don't have at lest one of lualine_x/y/z
- fixed some bugs
- simplified the transitional separators quite a bit. I think now
  it's understandable . Yay .
- Perf improvements too.
2021-08-26 18:20:16 +06:00
shadmansaleh 895fda9b91 fix: component highlight fall backs failing
Color/theme created with `highlight_group_name` are handled with link.
Because of that we don't have a table on bg/fg instead a name .
Currently component highlights doesn't take this into account.

After colors from those groups will be extracted to provide fall backs
for component highlight.
2021-08-20 01:40:14 +06:00
shadmansaleh f68d81d351 [Deprection] Enhance: Provide an uniform interface for color options
- Now all color related options and themes color definition have same
  semantics. They can either be a table containing values like bg,fg,gui
  or a string. When it's a string it's treated as a highlight group name
  and newly created group is linked to that group.
- Using string values to define foreground colors in options like
  color_error/color_added in diagnostics and diff component has been
  deprecated.
- Added a decent way of notifying affected users of deprecations and
  breaking changes.
2021-08-09 14:03:12 +06:00
shadmansaleh fac96d71cc [Breaking] Refactor: switch to %{%expr%} from %!expr
Huge change to internal mechanics.
- Now %{%expr%} blocks are used for evaluating statusline instead of
  %!expr . Pros for this is statusline is evaluated on current win and
  buf context instead of active win & bufs context.
- Now all components branch & diff(These two are cached) including users
  function components updates on inactive status.
  - now components update status and function components receive an
    argument (is_focused) when called. It indicates whether it's running
    for active or inactive statusline.
- Now lualine no longer aggrasively takes over 'statusline' option.
  instead it sets the global version of statusline option. So it's
  possible to unset it to hide lualine . Or set buffer local version
  of that option to have different statusline then lualine on thay
  buffer
- Switch vim.o to vim.go or vim.opt.
- BugFix autcommands being set everytime an instence of diff or branch
  component is created
- Added new utils functions define_autocmd & is_focused
- Remove utils function lualine_eval
- Removed hacky require cache modification from component.lua
2021-08-08 22:50:17 +06:00
shadmansaleh 65464f7849 fix: component highlights fg defaulting to bg 2021-08-05 21:38:09 +06:00
shadmansaleh 7a45a4f7fe feat: Add support for useing color_name like red and cterm values to set colors in lualine 2021-08-02 20:25:34 +06:00
shadmansaleh f7c44efb6f Proritize color option then theme when creating comppnent_hl
closes #299
2021-07-27 13:18:25 +06:00
shadmansaleh 87b060f390 Fix create_component_highlight overwritting older highlight with same hl_tag
This is necessary so color option from inactive and active sections do not conflict
2021-07-27 12:57:51 +06:00
shadmansaleh f480db58fb Allow transitional separator to be set as component option 2021-05-21 11:25:13 +06:00
Shadman 634959f0e9
feat: allow x,y,z sections to be themed independently (#238)
If theme for x,y,z is unspecified the defaukt to c,b,a respectively
2021-05-13 18:39:30 +02:00
Shadman 141778c953
bugfix: perf improvements (#213)
* Revert "Revert "Performence improvments (#205)" (#212)"

This reverts commit d3cc343053.

* BugFix: All windows having same component state
2021-05-06 13:05:55 +02:00
Hubert Pelczarski d3cc343053
Revert "Performence improvments (#205)" (#212)
This reverts commit 141417de61.
2021-05-06 04:45:07 +02:00
Shadman 141417de61
Performence improvments (#205)
* Only load default config when needed

* Only load default cterm colors when needed

* Async load components and theme

* Rename: util_colors -> cterm_colors
2021-05-04 19:42:26 +02:00
Shadman f2f014e379
Fix: Transitional highlight not found error (#203)
Changes:
- transitional_highlight isn't created when both retrieval of fg or bg
  has failed
- Transitional highlight is not looked for when section separators are
  disabled
- empty section no longer returns highlight group as section data
2021-05-02 10:36:51 +06:00
Shadman 4f53d053a1
Refactor: Remove cterm from hlighlight extractor (#174)
- remove cterm color extraction
- fix lint issues
- apply lua-format
2021-04-13 18:36:51 +06:00
shadmansaleh 82f68c42df Enhance: Cterm colors only loaded when termguicolors = false 2021-04-12 21:59:55 +06:00
Shadman 1b81b0021f
Refactor: Components now use OOP style (#141) 2021-04-11 10:20:41 +02:00
Shadman 37a3b8cc82
feat: enhance theme (#153)
* Enhance Theme

- loaded theme table is nolonger stored in configs and thus not passed
  to components. Insted it's cached in highlights.lua
- Reintroducing clear_highlights turns out themes can still change if
  setup is called more than once

* Add error messege for invalid theme

It stops lualine from crashing in such incedent

* Apply lua-format

* Small tweeks
2021-04-07 02:34:36 +02:00
Shadman 7c8ddf307b
refactor: highlight improvements
* Refactor highlight restoring after ColorScheme

Previously custom highlights/ component highlights had to call
expand_set_theme to make them restored . That's unintuative . Now any
highlight created by lualine.highlight.highlight() will be restored :)

* Renamed component -> var_name | Proper BugFix
2021-03-22 15:29:37 +01:00
hoob3rt b31b66fa79 refactor: applied lua-format to all files 2021-03-16 00:37:46 +01:00
shadmansaleh b79fd4cc24 Bug fix: componnet highlight not blending 2021-03-14 20:13:46 +06:00
Shadman 8624f7c14e
Feat: add configuration in viml and status function (#114) 2021-03-02 13:58:34 +01:00
Shadman e59ac51ca9
refactor: removed cterm colors from themes (#115) 2021-02-22 21:28:29 +01:00
Shadman 9505115133
enhancement: Donn't create unnececery hl groups (#105) 2021-02-21 15:37:59 +01:00
Shadman 202487d2ef
feat: powerline like section seperators (#94) 2021-02-20 04:21:05 +01:00
Shadman 20d7f33ef9
feat: adding component specific options (#60) 2021-02-15 19:09:12 +01:00
Hubert Pelczarski 55c0f0fe9a docs: added license to all source files 2021-02-13 01:03:57 +01:00
Shadman 823665c511
Wider range of mode support (#57)
* Wider range of mode support

* Remove unnecessary entry in modes

Co-authored-by: hoob3rt <pelczarskihubert@gmail.com>
2021-01-11 04:52:34 +01:00
Shadman 72e5c71ebd
Bug fix Theme not rendered properly (#54) 2021-01-09 12:01:02 +01:00
Shadman 75a9c5c317
Handle undefined mode && fallback to normal mode highlighting (#47) 2021-01-08 04:52:30 +01:00
Shadman 7460fe5aa2
Added notermguicolor support and special effects (#27)
* Added notermguicolor support and special effects
* Added notermgui support
* Exposed special parameters for highlight(like bold,italic) to themes
  with gui like to bold "B" in normal mode do normal.b.gui = 'bold'
* Changed CONTRIBUTING.md to reflect current notermguicolor support
* Added calculating cterm values from rgb
* refactored highlight function
* Removed 'bold' default for a element
* Updated themes
* Adding function genarated cterm values to themes
* Updating CONTRIBUTING.md
* made colorschemes more compact

Co-authored-by: hoob3rt <pelczarskihubert@gmail.com>
2021-01-08 02:35:09 +01:00
hoob3rt 84b554f3bf added select mode 2021-01-06 14:52:05 +01:00