Run with (vico-term:dmain FILENAME)
from a remote slime connection (slime-connect)
or dump into a executable (in the current working directory) with
sbcl --eval "(ql:quickload :vico-term)" \
--eval "(uiop:register-image-restore-hook #'vico-term:main nil)" \
--eval "(uiop:dump-image (concatenate 'string (namestring (uiop:getcwd)) \"vico\") :executable t)"
This project aims to be a performant, extensible, single-user editor. Implementations supported will include SBCL, CCL and ECL.
- fix text deletion
- rewrite redisplay for editing
- rewrite buffer interface and add error handling
- implement interface: use bytes and mmap() in buffer backend
- regex search - a bit tricky
- write proper terminal abstractions, split into library
- undo/redo - tricky
- implement file saving - easy
-
implement buffer collapse- won't work - selections - easy
- fix cl-ppcre edge cases, replace BMH matchers (they work now actually)
- event system overhaul
- layout-based windowing (resizing is trivial)
- search - easy
- autocompletion, work out interaction with snippets
- bracket matching - easy
- timers - easy
- auto-indent (lisp)
- mouse tracking - selections/clicks/gestures
- clipboard - easy
- configuration file - easy
- file watching using shinmera's file-notify
- SDL2 frontend