Releases
v1.0.0
1.0.0 (2023-07-05)
⚠ BREAKING CHANGES
winbar: better way to disable per-window winbar. Add docs. Fix #114
statuscolumn:
flexible_components: promote flexible components to "builtin"
tabline: do not set showtabline. Fix #73
fallthrough: add fallthrough to control evaluation of components with conditions and deprecate utils.pick_child_on_condition.
tabline: add is_visible field to buflist and remove hardcoded %=, remove min_tab and close button from make_tablist
statusline: various improvements:
on_click: add minwid field and document how to pass window handler; remove winid from callback arguments.
utils: prepend '_' to private attributes
highlights: utils.get_highlight() return value is compliant with highlight api
highlights: improve highlight normalization; privatize highlight functions; add module-level get_highlights() function
cookbook: add documentation for new functionality + minor upgrades.
statusline: remove stop_when in favor of the more versatile pick_child.
flexible_components:
elastic_components: allow make_elastic_components accept
statusline: stop_at_first -> stop_when(self, child_out)
Features
add tabpage handle to tablist components (d000fc1 )
autcmd_update: improve cache handling; this improves coordination between updatable_components and components which require special post-processing (08b7998 )
buflist utilities: allow disabling of buflist cache (cb41496 )
buflist: allow creation of multiple buflists; allow passing custom function to retrieve bufnr handlers (33706b4 )
colors: color aliases can be a function. Add config.opts.colors field (5bce468 )
conditions: add is_not_active condition (7ee0572 )
conditions: buffer_matches accepts bufnr argument (b5bbb8b )
cookbook, dap: add debugger clickable buttons example (f1ad9d7 )
cookbook, navic: add 'CursorMoved' update (19cab76 )
cookbook, navic: improve navic component with multi-window support and clickable elements (a9b1d88 )
cookbook, navic: improve navic component: add on_click; add highlights to basic version (a35f1c2 )
cookbook: add SearchCount and MacroRec (673226c )
cookbook: add ShowCmd snippet (e08e2c0 )
cookbook: add TablinePicker (a94390e )
cookbook: only show buflist if more than 1 buffer; fix #122 (c109ac0 )
elastic components: add factory for elastic components: take1 (c5582f2 )
elastic_components: allow make_elastic_components accept (31339a4 )
events: add before and after callbacks at evaluation time (1f06385 )
events: pass last output to before (1f7cada )
fallthrough: add fallthrough to control evaluation of components with conditions and deprecate utils.pick_child_on_condition. (9941236 )
flexible_components: feat(flexible_components): (a726746 )
flexible_components: promote flexible components to "builtin" (7bd7190 )
highlights: support cterm 8-bit colors; fix #36 (60d92a6 )
highlights: use api nvim_set_hl: (1720ff5 )
highlights: use api nvim_set_hl: (2f60696 )
highlights: utils.get_highlight() return value is compliant with highlight api (f44d8dd )
hl: add force
kw (269b316 )
let callback function use all available parameters (480badd )
load_colors: add load_colors() to create color name aliases. (76fea23 )
make_buflist: allow passing reference to custom cache table (d340f95 )
on_click: add minwid field and document how to pass window handler; remove winid from callback arguments. (8ad1050 )
on_click: allow callback to be a string. (14779d6 )
on_click: allow name to be a function (1f307df )
on_click: support binding lua callbacks to mouse clicks (0271f3a )
on_colorscheme: add on_colorscheme utility function (c01c0f1 )
statuscolumn: provide initial support for statuscolumn option (7b57b27 )
StatusLine: add nonlocal base method (2a3a76f )
statusline: add pick_child list to allow control on which (71e43d4 )
statusline: add some utility methods (cef435a )
statusline: give components an id; get component by id (99b51ba )
statusline: make component ids when loading (c305391 )
statusline: stop_at_first -> stop_when(self, child_out) (8bbe790 )
statusline: various improvements: (09bf058 )
surround: color in utils.surround can now be a function (61507a7 )
tabline: add is_visible field to buflist and remove hardcoded %=, remove min_tab and close button from make_tablist (d07b07f )
tabline: do not set showtabline. Fix #73 (f46554a )
tabline: experimental infrastructure for setting up tabline (part of it was leaked in previous commit) (81d7a71 )
timeit: improve timeit function. Try it out to see how fast heirline is! (496b86b )
update/after: add update and after fields. (3188e22 )
update: add autocommand callback (a954dd2 )
update: add pattern to update field; callback receieves autocmd args as second argument. (d2767b3 )
utils: add count_chars function (4cfbcc2 )
utils: add insert() utility function (d45256e )
winbar: add User HeirlineInitWinbar autocmd (c5505f6 )
winbar: allow hooking into winbar init autocmd via config.opts.winbar_blacklist_cb(autcmd_args) -> bool (WIP) (3677262 )
winbar: better way to disable per-window winbar. Add docs. Fix #114 (5fa803c )
winbar: set up window-local winbar and document how to disable it on certain buffers (be8d39c )
winbar: width_percent_below is_winbar parameter (164ef83 )
Bug Fixes
add comma to COOKBOOK.md (a63de38 )
autocmd: check win height before setting up winbar; fix #49 (203f6f9 )
broadcast: correctly apply function to all nodes including the starting one (290159b )
buflist utilities: use buf_func with cache (90416e2 )
buflist: check if buffer is valid outside of cache. buf_func does not need to check if buf is valid. (8a98c7d )
buflist: fix pagination logic (4867a7c )
conditions: fix has_diagnosticS (04a30f3 )
conditions: lsp_attached (ed12e0f )
cookbook: added missing return statement in example (88555f3 )
cookbook: don't use alias for autocmd (2c03277 )
cookbook: file readonly flag not showed (e01a5d9 )
cookbook: filename and workdir (e055e17 )
cookbook: fix autocmd for conditional tabline when nbufs > 1 (9c6ac77 )
cookbook: fix missing return in tblinefileflags(modified) (f4cfb5c )
cookbook: fix padding in Ruler (cd30484 )
cookbook: fix provider signature (414ad38 )
cookbook: fix redrawtabline on TablineCloseButton; fix #140 (2aed06a )
cookbook: fix typo (3ca917d )
cookbook: fix vim.api call in ScrollBar (26a7e30 )
cookbook: link to statusline obj (5fb6252 )
cookbook: modified condition in the TablineFileFlags (639e210 )
cookbook: nvim-web-devicons link (b02bd6f )
cookbook: revert previous snippet; more work is needed. (2a57f80 )
docs: FileName -> FileNameBlock; fix #121 (5494bdf )
docs: update ToC (1377058 )
eval: fix regression with unified _eval, add winnr (6ad825c )
expandable_components: override priorities of nested expandables (bfcabb1 )
expandables: allow nesting of expandable components (5828b3d )
expandables: make 'em work. (483c56a )
flexible_components: better checking of maximum available space (3ea10b6 )
flexible_components: check for siblings in group flexible components, correct priorities and improve sorting (#80 ). (46d6939 )
flexible_components: pass full_width to _eval (ad4ddf4 )
get_bufs: also list unloaded buffer, use nvim_buf_get_option (faster) (440da6b )
get_highlight: use rawget [#22 ](#22 ) (4451c0f )
highlight: fix typo in get_highlight; check for termguicolors dynamically (9202f4f )
highlights: fix(highlights): (f9e7b48 )
highlights: always prioritize abbreviations (24c05f6 )
highlights: do not fail on blank hlgroups; fix #110 (b2e69dc )
hl: do not resolve hlgroup name on instantiation, fix #78 ; Also improve hl logic (5630b0d )
hl: handle nil return of hl function (7a46e28 )
name_hl: make inferring highlight style more robust. (e1cada8 )
nvim-navic example (bc96864 )
on_click: pass winid to on_click callback (c13b7d8 )
on_click: place @ before provider (7b4aabc )
on_colorscheme: also update winbar and tabline on colorscheme changes; fix #127 (110ddc5 )
pick_child: fix typo (2e76280 )
priority: allow discontinuous priority values (0e7565e )
recreate tab components correctly when a tabpage is deleted (8009b77 )
statusline: fix restrict
behavior. (395a8a8 )
statusline: fix restrict behavior. (93c75cb )
tabline: correct buffer filtering. (6cfce84 )
tests: fix plenary path (lazy) (81ceb30 )
timeit: ipairs -> pairs (aa21485 )
traverse: guard _tree with rawget; #79 (b6044c8 )
tree: move tree generation on top of _eval; check for missing _tree in traverse(); fix #53 (f7239b1 )
typo in README (5e3bed2 )
update: dont set _win_cache during component eval (#79 ) (db41ad4 )
update: fix typo in update function, fix #63 (9179b71 )
utils: add nvim_eval_statusline to count_chars (8a658f1 )
win_attr: improve behavior of get_win_attr; add cleanup to set_win_attr (8278dc8 )
winbar+terminal: exec disable_winbar_cb on TermOpen; fix #137 (d860874 )
winbar: add VimEnter event to Heirline_init_winbar autocmd; fix #44 (bbd74de )
winbar: do not set up winbar if window height is <=1; #136 (f4b7ff8 )
winbar: fix init autocmd when called from VimEnter/UIEnter events; remove floating check (waiting for issues...) (8fb1f07 )
winbar: make efforts not to setup winbar if window is floating (7684d4b )
winbar: remove redrawstatus on BufWinEnter: window flicker tradeoff is not worth it (14d1971 )
Performance Improvements
buflist: add cache to buf_func (ad52add )
clear_tree: simplify for loop (6ce8e76 )
cookbook: document StatusLine base methods (c96f77b )
cookbook: ViMode (0b93d18 )
flexible: optimize priority sorting in group_flexible_components. (e881103 )
highlights: improve highlight normalization; privatize highlight functions; add module-level get_highlights() function (0c91862 )
init: remove unnecessary global statusline handle initialization (1aba13f )
init: set statusline/winbar using vim.o; fix(timeit) (385df36 )
navic: hardcode bitmask (9af77c2 )
on_colorscheme: improve on_colorscheme (1f181fb )
remove unnecessary else (ff0e044 )
timeit: improve timeit function (510950a )
utils: localize some api functions (60cb8e5 )
various performance improvements (5b72a6a )
Documentation
cookbook: add documentation for new functionality + minor upgrades. (002eefd )
Code Refactoring
flexible_components: refactor(flexible_components)!: (b8f296e )
statusline: remove stop_when in favor of the more versatile pick_child. (7649842 )
utils: prepend '_' to private attributes (1f3b296 )
You can’t perform that action at this time.