added support for qlot

This commit is contained in:
David Botton 2024-07-07 15:33:10 -04:00
parent 23af6f8d18
commit 1b304b8672
3 changed files with 69 additions and 4 deletions

52
QLOT.md vendored Normal file
View file

@ -0,0 +1,52 @@
Using QLOT with CLOG Builder
QLOT creates a local quicklisp for your project. The following instructions
will show you how to take a CLOG project (or and Common Lisp project) and
convert it for use woth qlot.
https://github.com/fukamachi/qlot
NOTE - qlot does not seem to work with window
After have created a CLOG project, copy it to its own porjects DIR do not use
~/common-lisp
for this example I created ~/projects and then move my CLOG project qtest to
~/projects/qtest
So cd to ~/projects/qtest
Create a file call qlfile with:
```
dist http://dist.ultralisp.org/
```
run sbcl and type:
```
(ql:quickload :qlot)
(setf qlot:*project-root* (uiop:getcwd))
(qlot:init (uiop:getcwd))
(qlot:install)
```
To work on your project using your qlot quicklisp cd to your dir (example
~/projects/qtest ) and run
sbcl with:
```
(ql:quickload :qlot)
(setf qlot:*project-root* (uiop:getcwd))
(qlot:init (uiop:getcwd))
(pushnew (uiop:getcwd) ql:*local-project-directories* :test #'equalp)
```
You are now in your private qlot world for your project so to run the CLOG
builder do:
```
(ql:quickload :qtest/tools)
(clog-tools:clog-builder :project :qtest)
```

9
WINDOWS.md vendored
View file

@ -6,6 +6,7 @@
1. Download and install rho-emacs:
https://gchristensen.github.io/rho-emacs/
https://github.com/GChristensen/rho-emacs/releases
When installing choose C:\Users\yourname for the "home folder"
@ -89,5 +90,13 @@ sbcl --eval '(ql:quickload :clog/tools)' --eval '(clog-tools:clog-builder)'
Run Slime - M-x slime
NOTES for Windows:
I have a zip with the needed DLLs should it come up - https://rabbibotton.github.io/clog/clogframe.zip
and clograme.exe for use with clog/clogframe
[Learn about CLOG](README.md)
[Learn Common-Lisp](LEARN.md)

View file

@ -234,11 +234,15 @@
(op (create-div menu :content "Toggle open" :class *builder-menu-context-item-class*))
(ops (create-div menu :content "Open pseudo shell" :class *builder-menu-context-item-class*))
(opo (create-div menu :content "Open in os" :class *builder-menu-context-item-class*))
(nwd (create-div menu :content "New subdirectory" :class *builder-menu-context-item-class*)))
(nwd (create-div menu :content "New subdirectory" :class *builder-menu-context-item-class*))
(grp (create-div menu :content "Search directory" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(set-on-click menu (lambda (i)
(declare (ignore i))
(destroy menu)))
(set-on-click grp (lambda (i)
(declare (ignore i))
(on-file-search obj :dir item)))
(set-on-click ops (lambda (i)
(declare (ignore i))
(on-shell obj :dir item))