;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require dash ht treemacs-core-utils treemacs-logging] 2) #@73 compiler-macro for inlining `treemacs-theme-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-theme-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-theme-p (and (memq (type-of cl-x) cl-struct-treemacs-theme-tags) t)) nil] 9 (#$ . 211)]) (put 'treemacs-theme-p 'compiler-macro 'treemacs-theme-p--cmacro) #@13 (fn CL-X) (defalias 'treemacs-theme-p #[257 "\301!>\205 \302\207" [cl-struct-treemacs-theme-tags type-of t] 3 (#$ . 568)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put treemacs-theme-p side-effect-free error-free put treemacs-theme cl-deftype-satisfies] 5) #@77 compiler-macro for inlining `treemacs-theme->name'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-theme->name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-theme->name (progn (aref cl-x 1))) nil] 9 (#$ . 857)]) (put 'treemacs-theme->name 'compiler-macro 'treemacs-theme->name--cmacro) #@64 Access slot "name" of `treemacs-theme' struct CL-X. (fn CL-X) (defalias 'treemacs-theme->name #[257 "\211\300H\207" [1] 3 (#$ . 1196)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-theme->name side-effect-free t] 4) #@77 compiler-macro for inlining `treemacs-theme->path'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-theme->path--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-theme->path (progn (aref cl-x 2))) nil] 9 (#$ . 1436)]) (put 'treemacs-theme->path 'compiler-macro 'treemacs-theme->path--cmacro) #@64 Access slot "path" of `treemacs-theme' struct CL-X. (fn CL-X) (defalias 'treemacs-theme->path #[257 "\211\300H\207" [2] 3 (#$ . 1776)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-theme->path side-effect-free t] 4) #@82 compiler-macro for inlining `treemacs-theme->gui-icons'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-theme->gui-icons--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-theme->gui-icons (progn (aref cl-x 3))) nil] 9 (#$ . 2016)]) (put 'treemacs-theme->gui-icons 'compiler-macro 'treemacs-theme->gui-icons--cmacro) #@69 Access slot "gui-icons" of `treemacs-theme' struct CL-X. (fn CL-X) (defalias 'treemacs-theme->gui-icons #[257 "\211\300H\207" [3] 3 (#$ . 2381)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-theme->gui-icons side-effect-free t] 4) #@82 compiler-macro for inlining `treemacs-theme->tui-icons'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-theme->tui-icons--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-theme->tui-icons (progn (aref cl-x 4))) nil] 9 (#$ . 2636)]) (put 'treemacs-theme->tui-icons 'compiler-macro 'treemacs-theme->tui-icons--cmacro) #@69 Access slot "tui-icons" of `treemacs-theme' struct CL-X. (fn CL-X) (defalias 'treemacs-theme->tui-icons #[257 "\211\300H\207" [4] 3 (#$ . 3001)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put treemacs-theme->tui-icons side-effect-free t defalias copy-treemacs-theme copy-sequence] 4) #@116 compiler-macro for inlining `treemacs-theme->create!'. (fn CL-WHOLE &cl-quote &key NAME PATH GUI-ICONS TUI-ICONS) (defalias 'treemacs-theme->create!--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305\306\307\310 \310    & \207" [plist-member :name :path :gui-icons :tui-icons cl--defsubst-expand (name path gui-icons tui-icons) (cl-block treemacs-theme->create! (record 'treemacs-theme name path gui-icons tui-icons)) nil] 16 (#$ . 3310)]) (put 'treemacs-theme->create! 'compiler-macro 'treemacs-theme->create!--cmacro) #@92 Constructor for objects of type `treemacs-theme'. (fn &key NAME PATH GUI-ICONS TUI-ICONS) (defalias 'treemacs-theme->create! #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305\306%\207" [plist-member :name :path :gui-icons :tui-icons record treemacs-theme] 11 (#$ . 3863)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put treemacs-theme->create! side-effect-free t cl-struct-define treemacs-theme nil cl-structure-object record ((cl-tag-slot) (name) (path) (gui-icons) (tui-icons)) cl-struct-treemacs-theme-tags] 11) #@27 The currently used theme. (defvar treemacs--current-theme nil (#$ . 4447)) #@27 List of all known themes. (defvar treemacs--themes nil (#$ . 4528)) #@24 Get the current theme. (defalias 'treemacs-current-theme #[0 "\207" [treemacs--current-theme] 1 (#$ . 4602)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-current-theme compiler-macro treemacs-current-theme--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-current-theme--inliner #[257 "\3002\3010\207" [inline--just-use treemacs--current-theme] 2 (#$ . 4882)]) #@44 Find theme with the given NAME. (fn NAME) (defalias 'treemacs--find-theme #[257 "\301\302\301\211\211\2039\211A\262\242\262\262\211\262\2039\303H\230\203,\301\262\2039\262\262T\262\202\266\207" [treemacs--themes nil 0 1] 9 (#$ . 5035)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--find-theme compiler-macro treemacs--find-theme--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM NAME) (defalias 'treemacs--find-theme--inliner #[514 "\30021\211\301!\203\211\202\302\303!\304\305\306\307DE\310E=\203'\211\266\203\2020\311DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "name" --first string= treemacs-theme->name it treemacs--themes macroexp-let*] 8 (#$ . 5465)]) #@353 Create a new (bare) theme with the given NAME. - ICON-DIRECTORY is the (mandatory) theme's location. - EXTENDS is the theme to be extended. - BASED-ON is the name of a theme whose icons this one should start with. - CONFIG is a code block to fill the created theme with icons via `treemacs-create-icon'. (fn NAME &key ICON-DIRECTORY EXTENDS CONFIG) (defalias 'treemacs-create-theme '(macro . #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\304\305\306\307\310\311\n\312\n\313BBBBBDE\314\205<\315\316\317DD\320\321\fF\322BBB\323\324\325BBB \257\207" [plist-member :icon-directory :extends :config let* (gui-icons (make-hash-table :size 300 :test 'equal)) (tui-icons (make-hash-table :size 300 :test 'equal)) theme treemacs-theme->create! :name :path (:gui-icons gui-icons :tui-icons tui-icons) (add-to-list 'treemacs--themes theme) treemacs-unless-let base-theme treemacs--find-theme treemacs-log-failure "Could not find base theme %s when creating theme %s." ((treemacs--maphash (treemacs-theme->gui-icons base-theme) (ext icon) (ht-set! gui-icons ext icon)) (treemacs--maphash (treemacs-theme->tui-icons base-theme) (ext icon) (ht-set! tui-icons ext icon))) -let [treemacs--current-theme theme] ((treemacs--propagate-new-icons theme))] 15 (#$ . 5809)])) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-create-theme lisp-indent-function 1] 4) #@312 Modify an existing THEME. - THEME can either be a treemacs-theme object or the name of a theme. - For the scope of the modification an alternative ICON-DIRECTORY can also be used. - CONFIG will be applied to the THEME in the same manner as in `treemacs-create-theme'. (fn THEME &key ICON-DIRECTORY CONFIG) (defalias 'treemacs-modify-theme '(macro . #[385 "\300\301\"A@\300\302\"A@\204\303\304\305\306\307#!\210\310\311\312\313D\314DFD\315\316E\317\320\321\322\312 \211\323BBBDE\324\325\326\327BBB\330BB\331BBBF\207" [plist-member :icon-directory :config error apply format "[Treemacs] Theme may not be null." nil treemacs-unless-let theme if stringp treemacs--find-theme user-error "Theme '%s' does not exist" let* (treemacs--current-theme theme) (original-icon-dir (treemacs-theme->path theme)) new-icon-dir (original-icon-dir) unwind-protect progn (setf (treemacs-theme->path theme) new-icon-dir) ((treemacs--propagate-new-icons theme)) ((setf (treemacs-theme->path theme) original-icon-dir)) (nil)] 15 (#$ . 7188)])) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-modify-theme lisp-indent-function 1] 4) #@56 Add THEME's new icons to the other themes. (fn THEME) (defalias 'treemacs--propagate-new-icons #[257 "\211\301H\302\230?\205H\303\"\211\205F\211@\304H\304HB\305H\305HBD\211\203>\211@\211\242\243\306\307\310\"\"\266A\266\202\202\"\210A\266\202\202 \262\207" [treemacs--themes 1 "Default" delete 3 4 maphash make-closure #[514 "\301\300\302#?\205\302\303\300#\210\207" [V0 gethash nil puthash] 7 "\n\n(fn EXT ICON)"]] 13 (#$ . 8337)]) #@142 Load the theme with the given NAME. Note that some changes will only take effect after a treemacs buffer was killed and restored. (fn NAME) (defalias 'treemacs-load-theme #[257 "\305\306\305\211\211\2039\211A\262\242\262\262\211\262\2039\307H\230\203,\305\262\2039\262\262T\262\202\266\211\262\211\203e\211\310 \211\205d\211@\311\312\"\313>\203]r\211q\210\314 \210)A\266\202\202F\207\n:\204m C\305\f\204\201\315\316\317\320\321\322#\323\324\"#\210\325\326\327\"\207" [treemacs--themes treemacs--current-theme treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages nil 0 1 buffer-list buffer-local-value major-mode (treemacs-mode dired-mode) treemacs--select-icon-set message "%s %s" propertize "[Treemacs]" face ((:inherit warning :weight bold)) format "Cannot find theme '%s'." add-hook pre-command-hook treemacs--restore-eldoc-after-log] 9 (#$ . 8803) (byte-code "\301\302\303\304\"\"C\207" [treemacs--themes completing-read "Theme: " -map treemacs-theme->name] 5)]) (provide 'treemacs-themes)