Pane-Oriented Text Editor
Need to come up with a better name.
Text editor for pane-oriented editing.
Notes
-
consider vizia, freya as potential GUI frameworks
-
text buffer data structure concerns: https://coredumped.dev/2023/08/09/text-showdown-gap-buffers-vs-ropes/
Design Notes
The editor core is conceptually-separate from all frontends. It is responsible
for managing the state and screen layout of any number of Buffers, all of which have a unique
id. A Buffer may be visible or invisible, may be read-only or read-write, may be primarily
for editing text or displaying information (including non-textual information) or accepting commands.
The editor core accepts a constant stream of EditorActions, which represent
any action that affects the editor core state from any source - keyboard
input, network input, file system changes, internal command evaluation, etc.
The main loop of the editor is running handle_action in a tight
(parallelized) loop and repeatedly changing state based on the result.
There needs to be an AugmentedCore that has a conceptually-separate Core and Executor
UI NOtes
- Lapcse-inspired code lens: https://docs.lapce.dev/features/code-lens