0.3.0 (2024-02-16)
- layout: method 'show' mounts if not already mounted (c1627d0)
- popup: method 'show' mounts if not already mounted (ecd77d8)
- split: method 'show' mounts if not already mounted (43f7605)
- support decimal number in (0,1) range as size (35da9ca)
- tree: allow node:expand with zero child (0f913a3)
- utils: replace deprecated api to set option (401a7c6)
- input: check mounted state in mount/unmount method (c0c8e34)
- input: skip cursor position patch for hidden input (80445d0)
- menu: defer execution of
make_default_prepare_node
(49182fa) - menu: set default zindex higher than popup (abb0662)
- popup: make sure border buf is modifiable (aa1b4c1)
- popup: support border:set_text before layout mount (c9b4de6)
- popup: use popup winblend for border (257dccc)
- split: for relative=editor always split from current window (af8ddf5)
- split: manual doautocmd BufWinEnter (af7dfee)
0.2.0 (2023-06-18)
- input: call on_close inside :unmount (60e91dd)
- input: update types (c3c2957)
- layout: support anchor for float layout (f284153)
- layout: update types (62b3203)
- line: update types (1a8d824)
- menu: update types (0a97a88)
- popup: add method border:set_style (9d98e9b)
- popup: create border buffer on initialization (643e9af)
- popup: support
(text, hl_group)[]
for border text (062e366) - popup: support anchor in :update_layout (52c9115)
- popup: support nui.line for border text (1b8fa8b)
- popup: update types (f6b6923)
- split: update types (f4469cb)
- support byte range for _.render_lines util (993d550)
- table: add nui.table block (bfd3806)
- table: support linenr_start for render method (457a5cf)
- table: update types (64bdc57)
- text: update types (9f7666d)
- tree: always track linenr in :render (f008972)
- tree: update types (d3cc976)
- utils: support string line in _.render_lines (51764d2)
- utils: update types (df321ba)
- input: unmount race condition (e319f25)
- layout: even more patch for neovim/neovim#18925 (de66444)
- layout: more robust workaround for neovim/neovim#18925 (9230eb0)
- popup: border empty char handling (bd2fefb)
- popup: ensure valid border.bufnr on mount (6867305)
- table: update types (d5a82aa)
- tree: do not wipe linenr tracking in :set_nodes (da3b5eb)
- tree: optimize hot paths (19de4d5)
- line: change parameter order for methods.
- text: change parameter order for methods.
- accept multiple keys for keymap (4998347)
- add internal utils._.calculate_gap_width (90d7285)
- add util to clear namespace for buffer (6c63bf5)
- bar: add lower-level
core.add_highlight
function (20385a6) - bar: add some lower-level
core.add_*
functions (5d1ca66) - bar: initial implementation (35758e9)
- bar: remove module (0dc148c)
- input: add component Input (7307c94)
- input: move internal default_value and prompt prop (595a2ea)
- input: support nui.text for options.prompt (c380563)
- layout: add method layout:update (3f611a6)
- layout: add some util for size and position (cc3b970)
- layout: feature guard lua autocmd api usage (3dc6b89)
- layout: initial implementation (716c3f9)
- layout: introduce layout type (a5fd005)
- layout: introduce split layout (042cceb)
- layout: make window transparent (2d33512)
- layout: re-use windows for unchanged split layout box (71ddaaf)
- layout: support :show and :hide for float layout (f572782)
- layout: support container component (5bc7376)
- layout: support o.grow factor for layout.box (796dc82)
- layout: support o.grow for layout.box (2c6bac9)
- layout: throw for empty box at init (6e872b3)
- layout: tweak component wire up (eed888e)
- layout: use backported autocmd methods (4e21085)
- layout: wire up float layout components (3aa617d)
- line: accept initial nui.text objects (2f44cc9)
- line: accept NuiText object as param for line:append() method (34fd4bf)
- line: add method :width (80122e5)
- line: add nui.line block (1333fd0)
- line: make ns_id required, update method signature (5695bde)
- line: support nui.line in method :append (401a69f)
- make components extendable (c75976e)
- menu: add component Menu (dca0630)
- menu: expose .tree (d12a697)
- menu: improve menu separator implementation (0e05425)
- menu: move internal props (0373a94)
- menu: pass self to on_change callback (4438c5e)
- menu: rename method menu:init to menu:new (2825c3d)
- menu: simplify automatic width calculation (54cbaf5)
- menu: support arbritary props for Menu.item (77cefa6)
- menu: support nui.line for Menu.item (51cbd0c)
- menu: support nui.text as separator char (3029554)
- menu: support nui.text for Menu.item (13e557d)
- menu: support options.on_change (db06fed)
- object: add helper functions (9531977)
- object: initial implementation (194837f)
- popup: add method .border:set_highlight (acb72b1)
- popup: add method popup:set_layout(config) (006711f)
- popup: add method popup:set_position(position, relative) (7ea1a6b)
- popup: add method popup:set_size(size) (07b6e9a)
- popup: add method popup:unmap (46bbf33)
- popup: add method popup.border:set_text(...) (b82a5d3)
- popup: add methods popup:hide() and popup:show() (b3c706d)
- popup: add methods popup:on(...) and popup:off(...) (0eb57a2)
- popup: add option 'focusable' (8339965)
- popup: add option padding (596cd77)
- popup: add options 'buf_options' and 'win_options' (163d99a)
- popup: add options.ns_id (6f165aa)
- popup: add type annotation for bufnr,winid,ns_id (c2d1f73)
- popup: add type annotation for win_config (f8ccc5c)
- popup: allow layout refresh when container size changes (ee8d315)
- popup: change behavior of padding (9f29df4)
- popup: clear namespace object on unmount (58e06b0)
- popup: create buffer on initialization (6b1deda)
- popup: default border.text hl to FloatTitle (4eaec2a)
- popup: feature guard lua autocmd api usage (6028584)
- popup: improve border highlight implementation (2f58c40)
- popup: improve cleanup (220d4a4)
- popup: merge internal position_meta into position (bc2fc9c)
- popup: move internal buf_options and win_options (3148908)
- popup: move internal loading and mounted state (4dc3214)
- popup: move internal position state (d229bbb)
- popup: move internal position_meta state (cbbbe90)
- popup: move internal size prop (0a2fced)
- popup: move internal win_enter prop (f7736c9)
- popup: remove automatic cleanup (06b48cf)
- popup: remove method popup:on(...) (c24b131)
- popup: rename method :set_layout to :update_layout (90f59b0)
- popup: rename window to popup (7097509)
- popup: rework border internals (8a776a2)
- popup: simplify border highlight mechanism (0ec30d9)
- popup: simplify border.text (674305a)
- popup: support nui.text for simple border (5f5a2e5)
- popup: support NuiText as border.text (1248c67)
- popup: support option 'anchor' (a86c733)
- popup: support set_size when unmounted (fa86f85)
- popup: support unmanaged buffer (335415a)
- popup: use backported autocmd methods (372369d)
- split: add component Split (bcb7382)
- split: add method :update_layout (32f44a6)
- split: add method split:unmap (e0444e0)
- split: create buffer on initialization (0e36b78)
- split: feature guard lua autocmd api usage (d14daab)
- split: improve cleanup (36b0649)
- split: move internal buf_options and win_options (6c9a3ee)
- split: move internal loading and mounted state (653199c)
- split: move internal props (25e51eb)
- split: set buffer after .winid is set (35091ca)
- split: store id internally (96ef1cb)
- split: support o.enter (b75e2e6)
- split: support o.ns_id (28cafab)
- split: support o.relative.winid (82851af)
- split: tweak split size handling for new window (b681ab2)
- split: use backported autocmd methods (6bd1d8a)
- text: add method :new (4ad7811)
- text: add method text:set(content, highlight?) (eaf4844)
- text: add nui.text block (a6df800)
- text: change highlight table key group->hl_group (a8aaca1)
- text: make ns_id required, update method signature (b63d199)
- text: preserve own extmark id (26622d1)
- text: remove method :new (18a0390)
- text: return self from method text:set (c5971ed)
- text: support cloning and use extmarks (281d453)
- text: support extmark override when cloning (878dfaf)
- tree: add method node:get_child_ids (bc05620)
- tree: add method tree:get_nodes (f85aedc)
- tree: add method tree:set_nodes(nodes, parent_id?) (b25fab5)
- tree: add nui.tree block (3bdfa78)
- tree: add o.bufnr and deprecate o.winid (ce4869f)
- tree: clear namespace before render (1f66cc7)
- tree: make node:has_children method work before init (96f600b)
- tree: move internal buf_options and win_options (3a7c0c4)
- tree: move internal get_node_id and prepare_node functions (1b9e046)
- tree: pass parent_node to prepare_node function (559d33d)
- tree: rename options.ns to options.ns_id (5db3901)
- tree: return end linenr from tree:get_node method (8ae5e31)
- tree: return linenr from tree:get_node method (3b746d7)
- tree: support linenr for method tree:get_node (7fee7c6)
- tree: support linenr_start for method :render (afb9e5b)
- tree: support multiline node (4926ee9)
- tree: support nil return for o.prepare_node (5a79b1b)
- use api-autocmd if available (3f05d74)
- use native keymap callback if supported (ad2c05c)
- utils: add autocmd (1f51d5a)
- utils: add buf_storage (6300e3b)
- utils: backport autocmd to nvim < 0.7.x (587a49f)
- utils: move keymap to utils (56c2230)
- utils: update autocmd.event (6f9153c)
- window: add method window:destroy() (c51856d)
- window: add method window:map(...) (f69ee04)
- window: add method window:on(event_name, handler) (f36b496)
- window: add method window:render() (d1a047d)
- window: add option highlight (c4bbe61)
- window: change default border to none (8db2faa)
- window: enhanced border support (a17070c)
- window: initial implementation (19e4bb6)
- window: rename 'destroy' to 'unmount' (c409518)
- window: rename 'render' to 'mount' (66190d2)
- window: simplify option relative (5584892)
- bar: rename tabnr to tabid in context (f220495)
- bar: type for generator (2a6533f)
- input: escape multi-byte chars in default value (698e758)
- input: stopinsert on close (971cca4)
- input: try to keep stable cursor position on parent window (6f803e8)
- layout: apply size for first child box in split layout (dde3f89)
- layout: float position calculation for child with complex border (257da38)
- layout: focus on relative.win for split ':update' (6e8f9a0)
- layout: o.relative for split layout (bf5900f)
- layout: preserve split win_options 'winfixheight' and 'winfixwidth' (ecd9def)
- layout: process float layout box change (51721a4)
- layout: process split layout box change (b12db53)
- layout: typo in update_layout_config util (d5d3d6c)
- luacheck lint warnings (e7dd31c)
- menu: error with fallback separator char (76fc8ed)
- popup: add border.style default value (a07b754)
- popup: border highlight for type:complex (151d593)
- popup: border padding with style=shadow (37e0511)
- popup: check bufnr is valid before clearing namespace (62facd3)
- popup: check if border bufnr is valid before clearing namespace (b99e6cb)
- popup: do better mount/unmount handling (7622fcf)
- popup: do buf_storage.cleanup after buffer wipeout (644e595)
- popup: do BufWinEnter autocmd after self.winid is set (4c77e3a)
- popup: do not reset win_options on update_layout call (1f43b13)
- popup: handle border padding without text (1f9aebc)
- popup: handle border:set_text properly (e78c822)
- popup: handle map as border.style (26a0eea)
- popup: handle various mix of border and padding (49a155f)
- popup: highlight for simple border (3ff3d26)
- popup: ignore WinClosed from other popup (a501202)
- popup: manual doautocmd BufWinEnter (0807a9c)
- popup: position relative to buffer position (f369333)
- popup: properly apply winhighlight (4396e44)
- popup: remove mutation in border:get() (1179f2e)
- popup: respect 'enter' option on subsequent mounts (602e4d8)
- popup: set noautocmd for opening border window (4715f60)
- popup: set win_config.win explicitly if applicable (d50d84a)
- popup: store winid for parent window (03131f8)
- popup: take border size_delta into account when calculating position (e67310b)
- popup: track mounted state (c1db7f8)
- popup: update position handling (d87b561)
- popup: update state and buffer handling for hide/show (02e9262)
- popup: use copy of border styles table item (abd1a4a)
- popup: use popup winhighlight for border (cf67636)
- split: check bufnr is valid before clearing namespace (e9889bb)
- split: do buf_storage.cleanup after buffer wipeout (5bf5d62)
- split: do not update position when unchanged (6d86148)
- split: set size after open window (c45ad68)
- split: skip manual buf/win removal when pending quit (cc76e6f)
- split: tweak container size relative to editor (120fe69)
- split: use self.winid for WinClosed (747c20d)
- support nui.text for internal alignment util (915fabe)
- text: fix :highlight extmark.end_col (3775746)
- tree: fix calculation for method :render (70f2dad)
- tree: pass ns_id correctly to nui.line in :render method (70fc6b6)
- tree: remove children recursively in method remove_node (4939282)
- tree: remove id from .nodes.root_ids on tree:remove_node (792caa3)
- tree: set default buf_options.bufhidden=hide (7c7bdf4)
- tree: set default buf_options.undolevels=0 (42552b3)
- vim.schedule QuitPre event callback (d147222)
- window: cleanup properly (dbc8185)
- window: set zindex properly (2d427f7)
- window: use 0-indexed position (fbf96df)
- introduce automated release (70560c4)