- MOST of the table bugs.
Uh...:
- Row resizing still doesn't always activate.
- Sometimes the content still spills instead of wraps.
It's on the todo list. Sort of.
I'll wait until I'm done with breaking things to fix them completely.
- New decomposer / Compiler pre-processor
- New Decomposer Public API allows custom external extensions of acord-core to provide their own DecomposeHook impl to extend what the compiler knows
- .dot traversal of Stucts, etc.
- Public Externs
- Regex find and replace — capture groups ($1-$9)
- Performance: syntax ident caching — moved scan_user_idents out of the per-frame render loop, cached on EditorState, recomputed on text change only
- Performance: incremental highlighter rebuild — editor mode skips classify_document and tree-sitter when line count unchanged
- Performance: minimap caching — classify_text cached, no longer computed every frame
- Use declaration support in the decomposer — emits mod/use statements, returns a Dependency list for recursive decomposition of referenced notes
- Tons of new operators (below)
HOFs (closure-like, take a function name):
- map, filter, reduce, fold, flat_map
- iter (with callback)
-peek (custom, allows optional arg1 to specify how far to look-ahead. uses a custom ringbuf function)
- all, any, find
- sort (with optional comparator)
Collection ops:
- peek (with optional look-ahead)
- window, zip, chunk
- take, skip/drop
- flatten, distinct/unique
Aggregates:
- sum, avg, min, max, count, std_devp, std_devs
- range
- Title block misappropriation/reappropriation.
- Different related bug where the last opened note would get renamed the previous note's title, causing it to duplicate to avoid overwriting, but combined with bug 1 and 2 you ended up with 3 notes all with different titles none of which matched their title blocks.
Oh, and expanded on the document browser's context menu and other items required to finish the folder organization within the browser.