diff --git a/tools/clog-builder-scope.lisp b/tools/clog-builder-scope.lisp index c64c130..011a764 100644 --- a/tools/clog-builder-scope.lisp +++ b/tools/clog-builder-scope.lisp @@ -67,7 +67,7 @@ (on-precedences obj class object))) (create-clog-tree (tree-root class-tree) :node-html "☰" - :content "Slots" + :content "Direct Slots" :visible is-root :indent-level (1+ (indent-level class-tree)) :fill-function (lambda (obj) @@ -143,21 +143,43 @@ (closer-mop:class-precedence-list class))) (on-slots (obj class object) (mapcar (lambda (slot) - (create-clog-tree (tree-root obj) - :indent-level (1+ (indent-level obj)) - :node-html "▬" - :visible nil - :on-context-menu (lambda (obj) - (on-new-sys-browser obj - :search (get-name (closer-mop:slot-definition-name slot)))) - :fill-function (lambda (obj) - (let* ((object (slot-value object (closer-mop:slot-definition-name slot))) - (class (class-of object))) - (add-class obj class object))) - :content (format nil "~A Object Value = ~A" - (get-name (closer-mop:slot-definition-name slot)) - (escape-lisp (slot-value object (closer-mop:slot-definition-name slot)))))) - (closer-mop:class-slots class))) + (let ((sltt (create-clog-tree (tree-root obj) + :indent-level (1+ (indent-level obj)) + :node-html "▬" + :visible nil + :on-context-menu (lambda (obj) + (on-new-sys-browser obj + :search (get-name (closer-mop:slot-definition-name slot)))) + :fill-function (lambda (obj) + (let* ((object (slot-value object (closer-mop:slot-definition-name slot))) + (class (class-of object))) + (add-class obj class object))) + :content (format nil "~A Object Value = ~A" + (get-name (closer-mop:slot-definition-name slot)) + (escape-lisp (slot-value object (closer-mop:slot-definition-name slot))))))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-initargs = ~A" + (escape-lisp (closer-mop:slot-definition-initargs slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-initform = ~A" + (escape-lisp (closer-mop:slot-definition-initform slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-initfunction = ~A" + (escape-lisp (closer-mop:slot-definition-initfunction slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-readers = ~A" + (escape-lisp (closer-mop:slot-definition-readers slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-writers = ~A" + (escape-lisp (closer-mop:slot-definition-writers slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-type = ~A" + (escape-lisp (closer-mop:slot-definition-type slot)))) + (create-clog-tree-item (tree-root sltt) + :content (format nil "slot-definition-allocation = ~A" + (escape-lisp (closer-mop:slot-definition-allocation slot)))) + )) + (closer-mop:class-direct-slots class))) (on-change (object) (setf (text tree) "") (setf class (class-of object)) diff --git a/tools/preferences.lisp b/tools/preferences.lisp deleted file mode 100644 index 5dbf9e7..0000000 --- a/tools/preferences.lisp +++ /dev/null @@ -1,120 +0,0 @@ -(in-package :clog-tools) - -;; Add directories to use custom directoires for storing projects -;; (pushnew #P"/path/of/projects" ql:*local-project-directories* :test #'equalp) - -;; Preferences loaded on next call to clog-tools:clog-builder or [Eval All] - -;; Load extensions to CLOG Builder and Plugins -;; -;; CLOG Builder Extensions -;;------------------------ -;; clog-moldable-inspector - -;; https://codeberg.org/khinsen/clog-moldable-inspector -(ql:quickload :clog-moldable-inspector/tools) -;; -;; CLOG Plugins -;;------------- -;; ACE editor -(ql:quickload :clog-ace/tools) -;; -;; jTerminal -(ql:quickload :clog-terminal/tools) - - -;; CLOG Builder Desktop - -;; Open panels and files in new browser tabs by default -(setf *open-external* nil) -;; Use clog-popup and extend desktop to popups -(setf *open-external-using-clog-popups* t) - -;; CLOG Panels - -;; Open panel editors in browser popups instead of tabs if browser allows -(setf *open-external-panels-in-popup* nil) - -;; CLOG Project Tree - -;; When opennning source editors not external, open to fill right of tree to -;; browser edge -(setf *project-tree-sticky-open* t) -;; Regex filters to use when set to remove from project directories -(setf *project-tree-dir-filter* "(\\\\|\\/)\\..*(\\\\|\\/)$") -(setf *project-tree-file-filter* "(^\\..*)|(.*~$)|(.*\\.bak$)") - -;; CLOG Source Editor - -;; Open files in browser popups instead of tabs if browser allows -(setf *open-external-source-in-popup* nil) -;; Use console for evals instead of capture -(setf *editor-use-console-for-evals* nil) -;; Use TAB key as in emacs (can always use ctl/alt-t) -(setf *editor-use-tab-as-tabbify* t) -;; Use emacs instead of the source-editor when opening external -;; must start builder for slime in emacs -(setf *open-external-with-emacs* nil) -;; Best Light Theme for Lisp -(setf *editor-theme* "ace/theme/iplastic") -;; Best Dark Theme for Lisp -;;(setf *editor-theme* "ace/theme/terminal") -(setf *editor-mode* "ace/mode/lisp") -;;(setf *editor-keybinding* "ace/keyboard/emacs") -(setf *editor-keybinding* "ace/keyboard/ace") -(setf *editor-tab-size* 2) -;; See https://github.com/ajaxorg/ace/wiki/Configuring-Ace -(setf *editor-renderer-options* -"fontSize : 14, - showInvisibles : false, - displayIndentGuides : true, - printMarginColumn : 80, - showPrintMargin : true, - showLineNumbers : true, - showGutter : true, - enableBasicAutocompletion: true, - enableLiveAutocompletion : true") -;; Delay to automaticly close result windows -(setf *editor-delay-on-eval-sel* 15) -(setf *editor-delay-on-eval-form* 30) -(setf *editor-delay-on-eval-file* 60) - -;; Disable clog gui debugging -(setf clog-connection:*disable-clog-debugging* nil) - -;; CLOG Builder REPL -(setf *clog-repl-use-console* t) -(setf *clog-repl-open-console-on-start* nil) -(setf *clog-repl-send-result-to-console* nil) -(setf *clog-repl-private-console* t) -;; eval on main thread so (break) works for sbcl. -(setf *clog-repl-eval-on-main-thread* nil) - -;; CLOG Panel Builder -(setf *builder-render-right-margin* 80) -(setf *builder-render-case* :downcase) - -;; CLOG Builder Look and Feel - -;; General -(setf *builder-window-desktop-class* "w3-blue-grey") -(setf *builder-window-show-static-root-class* "w3-grey") -(setf *builder-show-callers-class* "w3-orange") -(setf *builder-show-callees-class* "w3-orange") -(setf *builder-menu-button-class* "w3-input w3-grey w3-button w3-ripple") -(setf *builder-pallete-class* "w3-light-grey w3-small") -(setf *builder-event-list-class* "w3-light-grey w3-small") -(setf *builder-panel-class* "w3-white w3-sans-serif w3-medium") - -;; Menus -(setf *builder-menu-bar-class* "w3-bar w3-round w3-small w3-blue-grey w3-card-4") -(setf *builder-menu-bar-drop-down-class* "w3-dropdown-content w3-bar-block w3-card-4") -(setf *builder-menu-item-class* "w3-bar-item w3-blue-grey w3-button") -(setf *builder-menu-window-select-class* "w3-grey w3-bar-item w3-button") -(setf *builder-menu-context-item-class* "w3-button w3-bar") - -;; Window treatements -(setf *builder-title-class* "w3-blue-grey w3-round") -(setf *builder-border-class* "w3-card-4 w3-white w3-border w3-round") -(setf *builder-package-class* "w3-white w3-round") -(setf *builder-status-bar-class* "w3-tiny w3-border") -(setf *builder-icons-class* "w3-button w3-white w3-round w3-border w3-border-black w3-ripple") diff --git a/tools/preferences.lisp.sample b/tools/preferences.lisp.sample index 121653e..9aca317 100644 --- a/tools/preferences.lisp.sample +++ b/tools/preferences.lisp.sample @@ -5,6 +5,22 @@ ;; Preferences loaded on next call to clog-tools:clog-builder or [Eval All] +;; Load extensions to CLOG Builder and Plugins +;; +;; CLOG Builder Extensions +;;------------------------ +;; clog-moldable-inspector - +;; https://codeberg.org/khinsen/clog-moldable-inspector +;; (ql:quickload :clog-moldable-inspector/tools) +;; +;; CLOG Plugins +;;------------- +;; ACE editor +;; (ql:quickload :clog-ace/tools) +;; +;; jTerminal +;; (ql:quickload :clog-terminal/tools) + ;; CLOG Builder Desktop ;; Open panels and files in new browser tabs by default