feats. i want to add - image rendering - 3d object rendering - text editor can be used as a lib - lsp or treesitter - plugins NO AI PLUGINS graphing calculator image renderer 3d object renderer tabulated dataviewer pdf rendering - NO USE OF AI IN DEVELOPMENT OR WITHIN THE EDITOR AND THIS WILL NEVER CHANGE - maybe some animations???? - UTF8 support
idea for code structure
-
editor
- editor
- piece table
- text search
-
file view
-
renderer
- tui
- gui
-
plugins
- images
- calculator
-
core
editor -> piece table -> writes to buffer -> sends to LSP -> lsp syntax highlights -> send to renderer (sdl3) | +-->
TODO add new line optimisation like vscode TODO implement sequential delete so when the
piece table implemention attempts to optimise the fuck out of inputting and deleting sequential data
add: piece table delete undo increasing indeces with same text does not add any addtional pieces
editor
insert
delete
find
replace
replaceAll
replaceSome
newCursor
newCursorFromSelection
cursorUp
cursorDown
cursorLeft
cursorRight
cursorEndOfLine
cursorStartOfLine
cursorStartOfFile
cursorEndOfFile
cursorToNextWord
cursorToNextUnderScore
cursorToNextUnderCaptial
toggleSelectionMode
getSelection
copySelection
pasteSelection
cutSelection
deleteSelection
// follows cursor rules
moveSelectionUp
moveSelectionDown
moveSelectionRight
moveSelectionLeft
incrementSelection
decrementSelection
addXToSelection
moveLineUp
moveLineDown
cutLine
pasteLine
undo
redo
writeTo
readFrom