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.
You need to update one of the dependencies that is not in Ultralisp yet.
You need to add the changes from here https://github.com/bohonghuang/cl-gobject-introspection-wrapper
to folder file:~/quicklisp/dists/ultralisp/software/bohonghuang-cl-gobject-introspection-wrapper-20230914193217/
Copying the latest version of those files: desc.lisp and macro.lisp
For more info, see: bohonghuang/cl-gtk4#79 (comment)
Below are my old notes, that may no longer make sense
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 beginning of file dialog file:~/Programming/Lisp/clops-gui/src/gui-window-gtk.lisp::defun present-file-dialog-save (
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 fir 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