Releases: CWood-sdf/banana.nvim
Releases · CWood-sdf/banana.nvim
v0.3.0
0.3.0 (2025-08-20)
⚠ BREAKING CHANGES
- ast: rename some methods
- render: frs not allowed in flexbox
Features
- absolute position tests (48e7c1b)
- add a project conf (3cc8dfb)
- add bounds test (01f248c)
- add build test (8d2d580)
- add cwd find (373e3b7)
- add devtools prototype (f2386d8)
- add flames and stuff (f1be594)
- add helpers (2ba14f3)
- add logging (92b1c48)
- add some flex tests (5847509)
- api: add getComponentRoot and getAttributeSubstitution (09c4cab)
- api: add setTitle function (doesnt work rn) (9e4ef4f)
- api: remove getComponentRoot (2d6749e)
- ast,readme: new todo and readme + cleaning (1b7f02a)
- ast/api: add setInnerNml (cb3d06e)
- ast: add <hr> and <code> and inline <template> (bc7bc35)
- ast: add comments for BoundingBox (6a10bdc)
- ast: add getAttributes (5278e0d)
- ast: add isScriptRoot for scripted attributes inside components (baa0953)
- ast: add nil checks for instance usage (0fc2a55)
- ast: add postAppend callback for mounting components earlier (f3706b7)
- ast: add some more methods to fit DOM Node interface more (2037149)
- ast: allow attr subst's to end with semicolon (c5d3385)
- ast: better managing class list (69ad506)
- ast: defer mounting component if there's no instance (6bfcac2)
- ast: eliminate getAttributeSubstitution fail warns (be933a0)
- ast: internal addClass function (e017e57)
- ast: make style private and force style usage through functions for exprTree (809dfae)
- ast: rename new() to _new() (baa0953)
- ast: rename some methods (2037149)
- ast: set the formatType to component's formatType on mount (5c44286)
- automatic rerender (1267722)
- basic flexbox impl (93f7d06)
- box: can render text now (5c37c69)
- box: continue werk on box rewrite (8ea5684)
- box: did someone say highlighting?!?! (d0d6545)
- box: div and span tests mostly passing (21f61e6)
- box: i have one implementation now (9d1ad76)
- box: idrk but we are working towards usability (e60b53e)
- box: idrk just some small changes (ae4f50e)
- box: make fillChar actually used (809dfae)
- box: render block below works now (01fde3a)
- box: some tests passing now (4a27b3a)
- box: stuff (281e7d0)
- box: we are getting closer (can render subdivs and <br>) (8546880)
- box: weak tables make long term storage unstable (aafbb03)
- canvas/api: add getContext (2239e17)
- canvas: add fillBg and fillFg (69ad506)
- canvas: better default background (cafa19a)
- canvas: prototype for basic things (cc8800d)
- changes ig idrk (5b487a2)
- cleanAst: improve? (18a2fb7)
- cleanAst: marginally better errors (20ceba4)
- command: add :BananaSo (09ae230)
- command: add BananaDev and vendor in CWood-sdf/cmdTree.nvim (e1acfd9)
- command: add notification for instance id (fa5eea9)
- command: no debug by default (57b0483)
- commands: add
BananaDev setInstVariable(15cce0a) - component: dont render after running scripts jic the script changes layout (a4d7b2b)
- component: import when declared in a script (758c6f0)
- component: more component work (a9636b8)
- component: more work (9a17671)
- component: more work on getting the system working (4aab84f)
- components: start working on components (bf0b7dc)
- counter (948dd0b)
- css validation: add support for param packs and repeat() (2b3e098)
- debug: add class wrap (6f64cfc)
- devtools: minor changes (59a6325)
- devtools: start work (ed7c4f6)
- doc: add autodocgen scripts ([925af34](https://g...
v0.2.0
0.2.0 (2024-12-11)
Features
- api: add getComponentRoot and getAttributeSubstitution (09c4cab)
- api: remove getComponentRoot (2d6749e)
- component: dont render after running scripts jic the script changes layout (a4d7b2b)
- component: import when declared in a script (758c6f0)
- component: more component work (a9636b8)
- component: more work (9a17671)
- component: more work on getting the system working (4aab84f)
- components: start working on components (bf0b7dc)
- counter (948dd0b)
- Gradient: add caching for linear colors (82fb519)
- Gradient: add caching for radial-gradient (38df71f)
- gradient: add color stop parser, and have functions return mult (a948fb1)
- gradient: add name to color parser (b2e97ad)
- gradient: add og radial-gradient (fa6146b)
- gradient: first working linear-grad prototype (df221ee)
- gradient: fix random things (ba59292)
- gradient: full color stops (62a610f)
- gradient: linear works for all angles (9c81a00)
- grid: add nfr unit (d6b72b4)
- Instance: add debug window for debug output (instead of bottom) (82fb519)
- linear-gradient: add support for "to ..." (3b4f813)
- linear-gradient: support for angle (7c47b15)
- ncss: add aspect-ratio (09c4cab)
- ncss: add nth-child pseudo class selector (caba20a)
- nml: prep treesitter for components (80f2b3f)
- render: dont have infinite loop when width=0 (2e3d837)
- tag: move functions to new file (4aab84f)
Bug Fixes
- aspect-ratio: floor values (d6b72b4)
- box: prevent nil errors (d6b72b4)
- box: regression in grid unit tests (eb33842)
- component: force componentStack to be a guaranteed value (8f1e8c8)
- component: import things properly (20aa25c)
- component: prevent cyclic imports (934b1d5)
- gradient: properly compute widthToCorner for linear (2a1f524)
- grid: call .render() (ab65019)
- grid: prevent 0 index from being used (09c4cab)
- instance: check if dir exists so netrw doesnt open up (3350039)
- nml: attach src= scripts to component (09c4cab)
- render: list style color contains color of parent element (cef59e9)
v0.1.0
0.1.0 (2024-08-23)
⚠ BREAKING CHANGES
- render: frs not allowed in flexbox
Features
- ast: add nil checks for instance usage (0fc2a55)
- css validation: add support for param packs and repeat() (2b3e098)
- example: able to run both examples (64de431)
- examples: add "lazy.nvim" example (17ce8e2)
- examples: add todo (5b5f205)
- examples: counter (9232740)
- grid: grid is scary (7634ace)
- grid: nearly done with main prototype (3d03af5)
- h1: add h1 tag (adb3f25)
- instance: add resize rerender event (918097d)
- instance: check for other existing instances (#6) (203ab3e)
- instance: defer imported scripts to access computed props (3113a67)
- multiple fixes and prep for v0.1 (fe962cd)
- ncss: add slash support (8c4e0c2)
- readme: update (9671cc7)
- render: add grid-template-rows (bd1832e)
- render: add row-gap and column-gap (7a3a11d)
- render: first working part-proto for grid (0972135)
- render: grid-template-columns implementation (1104d2e)
- render: more grid work (7e7da9f)
- render: more grid work (3e79a5e)
- render: use rows as 1fr height when height defined (f0a6325)
- validations: improve grid-row/col for more grid stuff (eef394e)
- zig: add box.zig (a5a6af7)
Bug Fixes
- ast: dont clear id in case cloning from loadNmlTo (bd5a1b7)
- box: adjust width in renderOver (c2541a8)
- box: properly compute dirty in renderOver (9ad90cd)
- box: stripRight works (1615fef)
- build should work now (a4efc3a)
- grid: fix failures in grid tests (e0007ba)
- highlight: memory leak bc not cleaning up highlights (904d9c8)
- instance: properly compute new bounds (918097d)
- li: no error when content empty (42890bc)
- nml: wasnt grabbing inline scripts (3808bab)
- remove accidental treesitter stuff (07f62c8)
- render, hl: render empty divs properly, hl based on bytes not chars (5f951f0)
- render: frs not allowed in flexbox (0972135)
- render: properly apply box centering when minsize is used (aka flexbox) (6690185)
Performance Improvements
- box: remove copying (265f4d7)
- grid: slight improvements in distribution (77184ba)
- hl: 3x speed increase in hl (9094117)
Miscellaneous Chores
- revert release to 0.1.0 (702f1ee)