# Crib A set of text editing tools (still in early development). ### Modules #### `Vase` Vase is a avl piece tree like structure which handles loading, insertion, erasure, regex searching, regex replacing etc.
done. #### Ed Ed is an ed (the posix line editor) implementation using `Vase`.
Mostly done. #### `hl` `hl` is a stateful super fast syntax highlighter.
Not done yet. #### `lsp` `lsp` is a generic plug for lsp's.

It should support: - Lsp over ssh or stdin/out or unix sockets etc. - Handling multiple lsps at once (including over a single file.) - Converting offsets encoding between utf16 - utf8 according to lsp standards. - Loading lsp features etc. automatically. - Error handling. - And more.

Not done yet. #### BEd Better ed.
An ed implementation but with: - Lsp support for autocomplete suggetions when in ed text mode. - text mode where arrow keys etc. work as expected. - All code printing done with syntax highlighting. - Lsp diagnostics to list global errors/warnings, to print thir lines, jump to their lines, edint them etc. - A read write command to open a set of lines similar to c command but with the text from before already filled. - Code formatters (lsp and others). - Ruby based extentions. - Custom functions, live ruby code running. - Debuggers etc. and better shell commands. - Ruby based configs. - Better history & session saves. - Multiple buffers per session support. - Indentation engine. - More complete regex. - Better current line semantics. - Full unicode + graphemes support. - SSH support for loading files/lsp etc. - & A lot more cool stuff.