From 6f610209040dfa96e12391c0c4f5f69f3b1ff422 Mon Sep 17 00:00:00 2001 From: David Botton Date: Mon, 6 May 2024 22:37:41 -0400 Subject: [PATCH] better sort for tree, trace-io added to eval --- tools/clog-builder-eval.lisp | 3 +++ tools/clog-builder-project-tree.lisp | 16 ++++++++++++---- tools/clog-builder-repl.lisp | 8 +++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tools/clog-builder-eval.lisp b/tools/clog-builder-eval.lisp index 89f32ce..e2b6521 100644 --- a/tools/clog-builder-eval.lisp +++ b/tools/clog-builder-eval.lisp @@ -123,7 +123,10 @@ provide an interactive console.)")) (let* ((*query-io* (make-two-way-stream in-stream out-stream)) (*standard-output* console) (*standard-input* (make-instance 'console-in-stream :clog-obj clog-obj)) + (*terminal-io* (make-two-way-stream *standard-input* *standard-output*)) + (*debug-io* *terminal-io*) (*error-output* console) + (*trace-output* console) (*debugger-hook* (if clog-connection:*disable-clog-debugging* *debugger-hook* #'my-debugger)) diff --git a/tools/clog-builder-project-tree.lisp b/tools/clog-builder-project-tree.lisp index 4b63005..47a1ab1 100644 --- a/tools/clog-builder-project-tree.lisp +++ b/tools/clog-builder-project-tree.lisp @@ -93,8 +93,10 @@ (labels ((project-tree-dir-select (node dir) (let ((filter (equalp (text-value filter-btn) "filter"))) - (dolist (item (uiop:subdirectories dir)) - (unless (and (ppcre:scan *project-tree-dir-filter* (format nil "~A" item)) + (dolist (item (sort (uiop:subdirectories dir) + (lambda (a b) + (string-lessp (format nil "~A" a) (format nil "~A" b))))) + (unless (and (ppcre:scan *project-tree-dir-filter* (string-downcase (format nil "~A" item))) filter) (create-clog-tree (tree-root node) :fill-function (lambda (obj) @@ -102,8 +104,14 @@ :indent-level (1+ (indent-level node)) :visible nil :content (first (last (pathname-directory item)))))) - (dolist (item (uiop:directory-files (directory-namestring dir))) - (unless (and (ppcre:scan *project-tree-file-filter* (file-namestring item)) + (dolist (item (sort (uiop:directory-files (directory-namestring dir)) + (lambda (a b) + (if (equal (pathname-name a) (pathname-name b)) + (string-lessp (format nil "~A" a) + (format nil "~A" b)) + (string-lessp (format nil "~A" (pathname-name a)) + (format nil "~A" (pathname-name b))))))) + (unless (and (ppcre:scan *project-tree-file-filter* (string-downcase (file-namestring item))) filter) (create-clog-tree-item (tree-root node) :on-click (lambda (obj) diff --git a/tools/clog-builder-repl.lisp b/tools/clog-builder-repl.lisp index 8922876..3f43b9e 100644 --- a/tools/clog-builder-repl.lisp +++ b/tools/clog-builder-repl.lisp @@ -16,9 +16,11 @@ (*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*)) + :has-pinner t + :keep-on-top t + :top 40 :left 225 + :width 600 :height 400 + :client-movement *client-side-movement*)) (repl (create-clog-builder-repl (window-content win)))) (when *clog-repl-private-console* (let ((pcon (on-open-repl-console obj win)))