diff --git a/tools/preferences.lisp b/tools/preferences.lisp new file mode 100644 index 0000000..5dbf9e7 --- /dev/null +++ b/tools/preferences.lisp @@ -0,0 +1,120 @@ +(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")