Skip to content

bigos/basic-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 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.

File Dialog fix

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)

old notes

Below are my old notes, that may no longer make sense

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 beginning of file dialog file:~/Programming/Lisp/clops-gui/src/gui-window-gtk.lisp::defun present-file-dialog-save (

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 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published