Skip to content

bigos/basic-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Readme

Basic Editor

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.

Testing

basic editor

defsystem file:basic-editor.asd::(defsystem “basic-editor/tests”

tests folder file:~/Programming/Lisp/basic-editor/tests/

clops gui

defsystem ~/Programming/Lisp/clops-gui/clops-gui.asd

Old Notes

Below are my old notes

counter

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

src folder

basic-editor src file:~/Programming/Lisp/lispy-experiments/clops-gui/basic-editor/src/

editor

sections

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

representation of text

needed for cursor movement file:src/basic-editor.lisp::((text :std file:src/basic-editor.lisp::for c across

rope

https://en.wikipedia.org/wiki/Rope_(data_structure)

creating new rope

(sycamore:rope-map #'identity my-new-text)

other experiments

file:Programming/Lisp/lispy-experiments/to-do-list.lisp file:Programming/Lisp/lispy-experiments/klopsik.lisp

libraries to check

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

interesting sources

Gaborean AAAAA Lisp Reference books

ACME

https://www.youtube.com/watch?v=TBnPxe4e6Ek https://www.youtube.com/watch?v=dP1xVpMPn8M https://github.com/jinyangustc/acme-editor

notes

clops gui

Clops-Gui file:~/Programming/Lisp/clops-gui/src/packages.lisp::1

FileDialog

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

testing cursor movement

file:~/Programming/Lisp/basic-editor/tests/basic-editor-tests.lisp::1

first line left and up

file:tests/basic-editor-tests.lisp::(def-suite basic-editor-text-first-line-left

last line right and bottom

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published