mirror of
https://github.com/rabbibotton/clog.git
synced 2026-01-03 07:42:32 -08:00
added shell and repl source files
This commit is contained in:
parent
535b0af25c
commit
705e1b26c4
4 changed files with 107 additions and 0 deletions
35
tools/clog-builder-repl.lisp
Normal file
35
tools/clog-builder-repl.lisp
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
(in-package :clog-tools)
|
||||
|
||||
(defun on-repl (obj)
|
||||
"Open a REPL"
|
||||
(let* ((*default-title-class* *builder-title-class*)
|
||||
(*default-border-class* *builder-border-class*)
|
||||
(win (create-gui-window obj :title "CLOG Builder REPL"
|
||||
:top 40 :left 225
|
||||
:width 600 :height 400
|
||||
:client-movement *client-side-movement*)))
|
||||
(set-geometry (create-clog-builder-repl (window-content win))
|
||||
:units "%" :width 100 :height 100)))
|
||||
|
||||
(defun repl-on-create (panel target)
|
||||
(declare (ignore target))
|
||||
(when *clog-repl-open-console-on-start*
|
||||
(on-open-console panel)))
|
||||
|
||||
(defun repl-on-commmand (panel target data)
|
||||
(if (equalp data "(clog-builder-repl)")
|
||||
(let* ((*default-title-class* *builder-title-class*)
|
||||
(*default-border-class* *builder-border-class*)
|
||||
(win (create-gui-window panel :title "CLOG Builder REPL GUI Window"
|
||||
:height 400 :width 600
|
||||
:has-pinner t
|
||||
:client-movement *client-side-movement*)))
|
||||
(setf clog-user::*body* (window-content win)))
|
||||
(multiple-value-bind (result new-package)
|
||||
(capture-eval data :clog-obj panel
|
||||
:capture-console (not *clog-repl-use-console*)
|
||||
:capture-result (not *clog-repl-send-result-to-console*)
|
||||
:eval-in-package (text-value (package-div panel)))
|
||||
(setf (text-value (package-div panel))
|
||||
(string-downcase (package-name new-package)))
|
||||
(clog-terminal:echo target result))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue