This is an experiment writing a simple editor in Lisp.
It is built on top of: https://github.com/bigos/clops-gui
file:~/Programming/Lisp/clops-gui/src/gui-window-gtk.lisp::1
file:~/Programming/Lisp/clops-gui/src/
It is not meant to be a BASIC (programming language) editor, but simple and not complicated, so able to provide the base or starting point from which something can develop.
defsystem file:basic-editor.asd::(defsystem “basic-editor/tests”
tests folder file:~/Programming/Lisp/basic-editor/tests/
defsystem ~/Programming/Lisp/clops-gui/clops-gui.asd
Below are my old notes
We have file:~/Programming/Lisp/lispy-experiments/clops-gui/counter/ project with src file:~/Programming/Lisp/lispy-experiments/clops-gui/counter/src/ that can be used as example and to derive new project
basic-editor src file:~/Programming/Lisp/lispy-experiments/clops-gui/basic-editor/src/
We will try to have a reactive toolbar, edit area and status area. using this example file:~/Programming/Lisp/clops-gui/examples/boxes2.lisp::1
needed for cursor movement file:src/basic-editor.lisp::((text :std file:src/basic-editor.lisp::for c across
https://en.wikipedia.org/wiki/Rope_(data_structure)
creating new rope
(sycamore:rope-map #'identity my-new-text)file:Programming/Lisp/lispy-experiments/to-do-list.lisp file:Programming/Lisp/lispy-experiments/klopsik.lisp
Curated libraries
https://github.com/garlic0x1/rope
https://github.com/orthecreedence/cl-hash-util https://gitlab.common-lisp.net/fset/fset/-/wikis/home https://github.com/sirherrbatka/cl-data-structures
Gaborean AAAAA Lisp Reference books
https://www.youtube.com/watch?v=TBnPxe4e6Ek https://www.youtube.com/watch?v=dP1xVpMPn8M https://github.com/jinyangustc/acme-editor
Clops-Gui file:~/Programming/Lisp/clops-gui/src/packages.lisp::1
https://docs.gtk.org/gtk4/class.FileDialog.html
window and callback file:~/Programming/Lisp/lispy-experiments/clops-gui/basic-editor/src/basic-editor.lisp::gui-drawing:*client-fn-draw-objects* ‘basic-editor::draw-window
<a href=”file:~/Programming/Lisp/clops-gui/src/gui-drawing.lisp::defparameter @@html:@@client-fn-draw-objects@@html:@@ nil”>file:~/Programming/Lisp/clops-gui/src/gui-drawing.lisp::defparameter client-fn-draw-objects nil
drawfunc callback file:~/Programming/Lisp/clops-gui/src/gui-window-gtk.lisp::gtk4:drawing-area-draw-func canvas) (list (cffi:callback gui-drawing:%draw-func file:~/Programming/Lisp/clops-gui/src/gui-drawing.lisp::cffi:defcallback %draw-func :void ((area :pointer
dialogs file:~/Programming/Lisp/clops-gui/src/gui-window-gtk.lisp::defun present-about-dialog (data
correcting gir wrapper https://github.com/bohonghuang/cl-gobject-introspection-wrapper
file:~/quicklisp/dists/ultralisp/software/bohonghuang-cl-gobject-introspection-wrapper-20230426155536/desc.lisp::1 file:~/quicklisp/dists/ultralisp/software/bohonghuang-cl-gobject-introspection-wrapper-20230426155536/macro.lisp::1
file:~/Programming/Lisp/basic-editor/tests/basic-editor-tests.lisp::1
file:tests/basic-editor-tests.lisp::(def-suite basic-editor-text-first-line-left