Commit Graph

46 Commits

Author SHA1 Message Date
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
Shadman 6da4406a5a
Themes now fallback to normal mode theme (#28)
* Themes now fallback to normal mode theme

* Refactored apply_default function

* refactoring apply defaults
2021-01-05 16:08:56 +01:00
hoob3rt 39dc034335 updated style to be inline with vim.api 2021-01-04 02:14:29 +01:00
Eli W. Hunter b8ad8a13b2
Use table.concat instead of string concatentation (#7) 2021-01-03 20:11:22 +01:00
hoob3rt fa6aa3c324 initial lualine setup 2020-12-30 15:48:51 +01:00