This is the original wishlist, not an implementation specification. Current filesystem behavior is documented in docs/typ/reference.typ: default Unix 9P, optional TCP and QUIC, runtime Mount/Unmount, and OS-first Look resolution. FUSE and the old proof-of-concept examples have been removed. Terminal control and nested Look use 9P; a board build does not imply hardware validation. Still unverified here: patch/diff highlighting and the historical TTY color and escape-scanning reports below. Keep new regression evidence with its test. meta: - version tracking - special coloring algorithms are aplied based on the title of a pane. implemented as just ifs and else ifs. one of those ifs will be the one that choses the color algorithm for tty panes, other will select the treesitter coloring for sourcode files, and the other one will be the new one to highlight .patch and .diff files - added markdown treesitter highlight with highlighiting of nested codeblocks new builtin: - Changelog - Newtty: Added by default on all pane taglines. It will spawn a new tty pane (at tty mode from the start) on the directory of the pane that called it. The pane struct field for the working directory should be a tagged enum for either .none, .inherited (with a pointer to the pane it inherits) or the dir slice itself. when a pane is deleted in a frame, its allocation will leave until the end of the next. During the next frame the deleted frames will be in a special list of deleted frames. this deleted pane list state will live on a new allocator: the pane allocator which will wrap a regular allocator, and this newly deleted list is passed to the pane tick/update/frame as a pointer so that it can just access it. this new allocator will also have the tick/update function so that it wires de regular allocator dealloc/free to the deleted list and the deferred actual deallocation. the pane struct will have a new function that will visit each kind of field that has a pane pointer in it and decide how to update it based on the field type when the pointer is on the deleted list; it's fine that during the runtime each field visits each pointer O(n*m). - Joincol: added by default on the full window tagline. it deletes the column of the current/last focused pane and moves its panes to the column to the right. if there's no other column it should do nothing keyboard: - in a tty pane if the current/leaf process is a shell, ESC will have the same behaviour as SHIFT-ESC layout behaviour: - When opening a new file, it will only create a new column if both panes affected will have at least 100 columns each. Otherwise will just create a new pane. bug fix: - the tty colors are affected by changes to its normal mode tests: - if tty escape scanning is active (chosen when libvaxis is created) it should always use all the features it detects by default. - clipboard integration for tty escape codes should work.