Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(master): release 1.0.0 #157

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jul 5, 2023

🤖 I have created a release beep boop

1.0.0 (2023-07-05)

⚠ BREAKING CHANGES

  • winbar: better way to disable per-window winbar. Add docs. Fix HeirlineInitWinbar called before filetype resolves #114
  • statuscolumn:
  • flexible_components: promote flexible components to "builtin"
  • tabline: do not set showtabline. Fix showtabline is hardcoded #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 [utility function get_highlight breaks the plugin #22](utility function get_highlight breaks the plugin #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)

This PR was generated with Release Please. See documentation.

@rebelot rebelot merged commit 76136cc into master Jul 5, 2023
@github-actions
Copy link
Contributor Author

github-actions bot commented Jul 5, 2023

🤖 Release is at https://github.com/rebelot/heirline.nvim/releases/tag/v1.0.0 🌻

@unphased
Copy link

unphased commented Jul 8, 2023

Curious if there is a migration guide? For longer than 4 days now, my tabline has been messed up, it renders incorrectly and gets garbled.

@unphased
Copy link

unphased commented Jul 8, 2023

I believe that the fundamental issue i've been having with the flaky rendering in the tabline is about how the TabpageClose and TablineCloseButton "x" button glyph (for which I was using "\u{f0156}") is not getting the length of this character computed somehow under the hood. Potentially some code is believing that this consumes 9 characters, or perhaps the 3 bytes that it takes in UTF-8, neither of which are appropriate as it renders out to a single character.

I replaced it with a plain ASCII lowercase x and observe no more garbling.

I then replaced it with a literal string (multiplication symbol) and this also works.

What is very strange though is when I further test setting the code to "\u{2715}" it still works properly. So it seems like something is problematic specific to "\u{f0156}"... anyway the use of "\u{2715}" fixes it. But this is indicative of some kind of dragons lurking here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment