* chore: drop support for nvim-0.5, 0.6 (BREAKING)
Users of these versions can still use compatibility tags
compat-nvim-0.5 and compat-nvim-0.6 respectively.
BREAKING CHANGE
* add testing for 0.9
* Add a path option for tabs
Add get_props to align the module on Buffers.
* Add option to set the tab max size
Shorten dynamically the tab name to minimize its length when needed.
* Show modified status
* added higlightgroups for lualine to allow colorscheme to set colors for lualine
* chore: update docs for default diff color change
---------
Co-authored-by: Shadman <13149513+shadmansaleh@users.noreply.github.com>
- `searchcount.lua` now checks if the resulting table from
`vim.fn.searchcount` is empty to avoid the error.
Signed-off-by: Chris1320 <chris1320is@protonmail.com>
- Added `M.get_mode_suffix()` in `highlight.lua` to simplify retrieving the mode suffix.
- Fixed graphical bug occurring when `buffers` component color was changed.
- Separators would not change to new color.
- Fixed by adding the mode suffix to the highlight name
in `M.component_format_highlight` if the output of
`highlight.fn()` is a string.
- Added `use_mode_colors` option to `buffers`, `tabs`, and `windows` components.
- If it's set to true, the component's colors will change with the
mode, as most other components do.
- Updated readme.
* Refactor tests to use stubs for nvim-web-devicons
* Simplify getting icon
`get_icon` does not need the 2nd parameter (`ext`) as it will derive it
from the given `name` (1st argument) itself.
* fix component(filetype) proper icon based on filetype
With https://github.com/kyazdani42/nvim-web-devicons/pull/125 a filetype
based lookup was implemented upstream which can be used to get an icon
when a file doesn't have an extension.
fixes#578
* feat: added searchcount component
* feat: added timeout and maxcount to vim.fn.searchcount
* docs: added searchcount to README
* style: sorted list of components
Instead of shortening a path segment to just the dot, it is now always
using 2 characters.
E.g.
```
~/.config/nvim/lua/config/lualine.lua
```
is shortened to
```
~/.c/n/l/c/lualine.lua
```
This includes a rewrite of the shortening logic as it cannot be
expressed easily/readable using patterns. The current approach starts at
the beginning and replaces each segment by a shortened version and
keeping track of the overall length (basic book keeping on how many
characters were saved by the replacement).
* buffers: user friendly LualineBuffersJump version
LualineBuffersJump throws an error when an attempt to jump to a
non-existent buffer index is made. It's expected from users to
trigger this error by accident while attempting to switch buffers.
To deal with this add <bang> support to LualineBuffersJump.
Signed-off-by: Plato Kiorpelidis <kioplato@gmail.com>
* chore: autogen (vimdocs+formating)
Co-authored-by: kioplato <kioplato@users.noreply.github.com>
* 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
* 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
* Add option to show buffer number + alternate file icon
* Address PR comments
* Adjust existing tests for buffer bufnr mode additions
* Revert "Adjust existing tests for buffer bufnr mode additions"
This reverts commit f8422d9f38b4b437a2330101e13c3a4bc50ed920.
* Add missing case for buffers mode == 0
* Fix some test cases for alternate file icon + modified icon
* Add test cases for modes 3 & 4
* Correct typo in README
* Fix buffers component mode can change layout specs
* Detect buffer numbers in lualine_spec bufnr tests
* Minor change to test descriptions
* Delete unnamed buffer for consistent test results between nvim versions
* Add test case for alternate buffer when switching buffers
* Extend switching buffers test
Co-authored-by: Marc Jakobi <marc.jakobi@tiko.energy>
Co-authored-by: Marc Jakobi <mrcjk@p40yoga.localdomain>
* feat: add option to invert component icon alignment
Invert component status icon if variable is set `icon_right = true`.
* refactor: use string for icon alignment
Change conditional variable for icon left/right alignment from Boolean
to `icon_alignment = 'right'`.
* refactor: check icon table for alignment variable
Determine component status output from icon_alignment variable.
Provides alignment variables for generic component and filetype
devicons.
`component = { 'name', icon = {'*', align = 'right'} }`
`component = { 'filetype', icon_alignment = 'right' }`
* style: restore previous formatting on line 79
* refactor: set `self.option.icon` as table
* fix: forgot non-color icon alignment
* fix: remove redundant variable assignment
* docs: add README examples for icon alignment
Include configuration examples for icon alignment to README file.
* test: add test for filetype components icon align
Ensure testability for filetype icons being aligned to right side.
* Fix: use escape sequence instead of binary chars
binary data will confuse some programs e.g. file and treat the code as "data" instead of "text"
* Fix: remove redundant binary character "0x1a"