;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require dash eieio treemacs-core-utils s inline] 2) #@79 compiler-macro for inlining `treemacs-scope-shelf-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-scope-shelf-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-scope-shelf-p (and (memq (type-of cl-x) cl-struct-treemacs-scope-shelf-tags) t)) nil] 9 (#$ . 219)]) (put 'treemacs-scope-shelf-p 'compiler-macro 'treemacs-scope-shelf-p--cmacro) #@13 (fn CL-X) (defalias 'treemacs-scope-shelf-p #[257 "\301!>\205 \302\207" [cl-struct-treemacs-scope-shelf-tags type-of t] 3 (#$ . 612)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put treemacs-scope-shelf-p side-effect-free error-free put treemacs-scope-shelf cl-deftype-satisfies] 5) #@85 compiler-macro for inlining `treemacs-scope-shelf->buffer'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-scope-shelf->buffer--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-scope-shelf->buffer (progn (aref cl-x 1))) nil] 9 (#$ . 925)]) (put 'treemacs-scope-shelf->buffer 'compiler-macro 'treemacs-scope-shelf->buffer--cmacro) #@72 Access slot "buffer" of `treemacs-scope-shelf' struct CL-X. (fn CL-X) (defalias 'treemacs-scope-shelf->buffer #[257 "\211\300H\207" [1] 3 (#$ . 1304)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-scope-shelf->buffer side-effect-free t] 4) #@88 compiler-macro for inlining `treemacs-scope-shelf->workspace'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-scope-shelf->workspace--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-scope-shelf->workspace (progn (aref cl-x 2))) nil] 9 (#$ . 1568)]) (put 'treemacs-scope-shelf->workspace 'compiler-macro 'treemacs-scope-shelf->workspace--cmacro) #@75 Access slot "workspace" of `treemacs-scope-shelf' struct CL-X. (fn CL-X) (defalias 'treemacs-scope-shelf->workspace #[257 "\211\300H\207" [2] 3 (#$ . 1963)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put treemacs-scope-shelf->workspace side-effect-free t defalias copy-treemacs-scope-shelf copy-sequence] 4) #@109 compiler-macro for inlining `treemacs-scope-shelf->create!'. (fn CL-WHOLE &cl-quote &key BUFFER WORKSPACE) (defalias 'treemacs-scope-shelf->create!--cmacro #[385 "\300\301\"A@\300\302\"A@\303\304\305\306\306&\207" [plist-member :buffer :workspace cl--defsubst-expand (buffer workspace) (cl-block treemacs-scope-shelf->create! (record 'treemacs-scope-shelf buffer workspace)) nil] 12 (#$ . 2296)]) (put 'treemacs-scope-shelf->create! 'compiler-macro 'treemacs-scope-shelf->create!--cmacro) #@85 Constructor for objects of type `treemacs-scope-shelf'. (fn &key BUFFER WORKSPACE) (defalias 'treemacs-scope-shelf->create! #[128 "\300\301\"A@\300\302\"A@\303\304#\207" [plist-member :buffer :workspace record treemacs-scope-shelf] 7 (#$ . 2801)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put treemacs-scope-shelf->create! side-effect-free t cl-struct-define treemacs-scope-shelf nil cl-structure-object record ((cl-tag-slot) (buffer) (workspace)) cl-struct-treemacs-scope-shelf-tags] 11) #@117 List of all known scope types. The car is the name seen in interactive selection. The cdr is the eieio class name. (defvar treemacs-scope-types (byte-code "\300\301BC\207" [Frames treemacs-frame-scope] 2) (#$ . 3348)) #@68 The general type of objects/items treemacs is currently scoped to. (defvar treemacs--current-scope-type 'treemacs-frame-scope (#$ . 3573)) #@125 Alist of all active scopes mapped to their buffers & workspaces. The car is the scope, the cdr is a `treemacs-scope-shelf'. (defvar treemacs--scope-storage nil (#$ . 3719)) #@44 Kill the buffer stored in SELF. (fn SELF) (defalias 'treemacs-scope-shelf->kill-buffer #[257 "\211\300H\301!\203 \302!\210\210\211\211\300\303I\207" [1 buffer-live-p kill-buffer nil] 5 (#$ . 3898)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-scope-shelf->kill-buffer compiler-macro treemacs-scope-shelf->kill-buffer--inliner] 4) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-scope-shelf->kill-buffer--inliner #[514 "\3002@\211\301!\203\211\202\302\303!\304\305\306\307DDC\310\311\306D\312\306DEE\313\307D\314EE=\2036\211\266\203\202?\315DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" progn let buffer treemacs-scope-shelf->buffer when buffer-live-p kill-buffer setf nil macroexp-let*] 11 (#$ . 4256)]) #@35 Return `treemacs--scope-storage'. (defalias 'treemacs--scope-store #[0 "\207" [treemacs--scope-storage] 1 (#$ . 4678)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--scope-store compiler-macro treemacs--scope-store--inliner] 4) #@21 (fn INLINE--FORM) (defalias 'treemacs--scope-store--inliner #[257 "\3002\3010\207" [inline--just-use treemacs--scope-storage] 2 (#$ . 4930)]) #@32 Return the current scope type. (defalias 'treemacs-current-scope-type #[0 "\207" [treemacs--current-scope-type] 1 (#$ . 5082)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-current-scope-type compiler-macro treemacs-current-scope-type--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-current-scope-type--inliner #[257 "\3002\3010\207" [inline--just-use treemacs--current-scope-type] 2 (#$ . 5390)]) #@27 Return the current scope. (defalias 'treemacs-current-scope #[0 "\301!\207" [treemacs--current-scope-type treemacs-scope->current-scope] 2 (#$ . 5553)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-current-scope compiler-macro treemacs-current-scope--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-current-scope--inliner #[257 "\3002 \301\302CD0\207" [inline--just-use treemacs-scope->current-scope treemacs-current-scope-type] 3 (#$ . 5876)]) #@191 Return the current scope shelf, containing the active workspace and buffer. Use either the given SCOPE or `treemacs-current-scope' otherwise. Can be used with `setf'. (fn &optional SCOPE) (defalias 'treemacs-current-scope-shelf #[256 "\302\206\303! \"A\207" [treemacs--current-scope-type treemacs--scope-storage assoc treemacs-scope->current-scope] 4 (#$ . 6070)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-current-scope-shelf compiler-macro treemacs-current-scope-shelf--inliner side-effect-free t] 5) #@37 (fn INLINE--FORM &optional SCOPE) (defalias 'treemacs-current-scope-shelf--inliner #[513 "\30022\211\301!\203\211\202\302\303!\304\305\306\307CE\310ED=\203(\211\266\203\2021\311DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "scope" cdr assoc or treemacs-current-scope treemacs--scope-storage macroexp-let*] 9 (#$ . 6622)]) (byte-code "\300\301\302\303#\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\320\307\321\211\322$\207" [function-put treemacs-current-scope-shelf gv-expander #[385 "\300\301\302$\207" [gv--defsetter treemacs-current-scope-shelf #[257 "\300\301\302\303\304\305E\306\307\310E\311BBFE\207" [let* ((current-scope (treemacs-current-scope)) (shelf-mapping (assoc current-scope treemacs--scope-storage))) if (cdr shelf-mapping) setf (cdr shelf-mapping) push cons current-scope (treemacs--scope-storage)] 10 "\n\n(fn VAL)"]] 7 "\n\n(fn DO &rest ARGS)"] defalias treemacs-scope-p eieio-make-class-predicate treemacs-scope treemacs-scope--eieio-childp eieio-make-child-predicate treemacs-scope-child-p make-obsolete "use (cl-typep ... \\='treemacs-scope) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil (:abstract t)] 7) #@72 You cannot create a new object of type `treemacs-scope'. (fn &rest _) (defalias 'treemacs-scope #[128 "\300\301!\207" [error "Class treemacs-scope is abstract"] 3 (#$ . 7897)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\316\317\320\321!\"\210\316\322\323\321!\"\210\316\324\322\"\210\325\324\326\327#\210\330\321\331\322#\332\321\333\302\334$\207" [cl-generic-define-method treemacs-scope->current-scope nil ((_ (subclass treemacs-scope))) #[257 "\300\301!\207" [error "Default `current-scope' implementation was called"] 3 "Get the current scope.\n\n(fn _)"] treemacs-scope->current-scope-name ((_ (subclass treemacs-scope)) scope) #[514 "\300\207" [nil] 3 "Get the name of the given SCOPE.\n\n(fn _ SCOPE)"] treemacs-scope->setup ((_ (subclass treemacs-scope))) #[257 "\300\207" [nil] 2 "Setup for a scope type.\n\n(fn _)"] treemacs-scope->cleanup ((_ (subclass treemacs-scope))) #[257 "\300\207" [nil] 2 "Tear-down for a scope type.\n\n(fn _)"] defalias treemacs-frame-scope-p eieio-make-class-predicate treemacs-frame-scope treemacs-frame-scope--eieio-childp eieio-make-child-predicate treemacs-frame-scope-child-p make-obsolete "use (cl-typep ... \\='treemacs-frame-scope) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (treemacs-scope) (:abstract t)] 6) #@78 You cannot create a new object of type `treemacs-frame-scope'. (fn &rest _) (defalias 'treemacs-frame-scope #[128 "\300\301!\207" [error "Class treemacs-frame-scope is abstract"] 3 (#$ . 9283)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\207" [cl-generic-define-method treemacs-scope->current-scope nil ((_ (subclass treemacs-frame-scope))) #[257 "\300 \207" [selected-frame] 2 "Get the current scope.\n\n(fn _)"] treemacs-scope->current-scope-name ((_ (subclass treemacs-frame-scope)) frame) #[514 "\300!\207" [prin1-to-string] 4 "Prints the given FRAME.\n\n(fn _ FRAME)"] treemacs-scope->setup ((_ (subclass treemacs-frame-scope))) #[257 "\300\301\302\"\207" [add-hook delete-frame-functions treemacs--on-scope-kill] 4 "Frame-scope setup.\n\n(fn _)"] treemacs-scope->cleanup ((_ (subclass treemacs-frame-scope))) #[257 "\300\301\302\"\207" [remove-hook delete-frame-functions treemacs--on-scope-kill] 4 "Frame-scope tear-down.\n\n(fn _)"]] 6) #@253 Set a NEW-SCOPE-TYPE for treemacs buffers. Valid values for TYPE are the `car's of the elements of `treemacs-scope-types'. This is meant for programmatic use. For an interactive selection see `treemacs-select-buffer-scope-type'. (fn NEW-SCOPE-TYPE) (defalias 'treemacs-set-scope-type #[257 "\301\"\211\204\302\303\304\305\"#\210\306!\207" [treemacs-scope-types alist-get user-error "'%s' is not a valid scope new-scope-type. Valid types are: %s" -map car treemacs--do-set-scope-type] 8 (#$ . 10319)]) #@171 Set NEW-SCOPE-TYPE as the scope managing class. Kill all treemacs buffers and windows and reset the buffer store. NEW-SCOPE-TYPE: T: treemacs-scope (fn NEW-SCOPE-TYPE) (defalias 'treemacs--do-set-scope-type #[257 "\303!\210\211\304 \211\2035\211@\305!\211\203-\211@\306 \307\310!!\"\203&\311!\210A\266\202\202\210A\266\202\202\210\n\211\203[\211@\211A\211\312H\313!\203L\314!\210\210\211\211\312\315I\266A\266\202\2027\210\315\316!\207" [treemacs--current-scope-type treemacs--buffer-name-prefix treemacs--scope-storage treemacs-scope->cleanup frame-list window-list s-starts-with\? buffer-name window-buffer delete-window 1 buffer-live-p kill-buffer nil treemacs-scope->setup] 10 (#$ . 10838)]) #@50 Cleanup to run when a treemacs buffer is killed. (defalias 'treemacs--on-buffer-kill #[0 "\302 \210\303 \210\304\305! \"A\211\205\211\211\306\307I\262\207" [treemacs--current-scope-type treemacs--scope-storage treemacs--stop-filewatch-for-current-buffer treemacs--tear-down-icon-highlight assoc treemacs-scope->current-scope 1 nil] 5 (#$ . 11565)]) #@69 Kill and remove the buffer assigned to the given SCOPE. (fn SCOPE) (defalias 'treemacs--on-scope-kill #[257 "\302\206\303! \"A\211\205x\211\304H\305!\203\306!\210\210\211\211\304\307I\266 \307\310\307\211\211\203b\211A\262\242\262\262\211\262\203b@ \232\204b\262\262T\262\211A\262\242B\262\202+\266\203r\211\237A\244\266\202\202v\211\237\266\202\211\207" [treemacs--current-scope-type treemacs--scope-storage assoc treemacs-scope->current-scope 1 buffer-live-p kill-buffer nil 0] 11 (#$ . 11924)]) #@64 Create and store a new buffer for the given SCOPE. (fn SCOPE) (defalias 'treemacs--create-buffer-for-scope #[257 "\306\206\307! \"A\211\204\373\310\311\312\211#\262B B\313 \306\307! \"A\211\2048\310\311\312\211#\262\307!B B\211\211\314\312\n\315\312\211\211\203\356\211A\262\242\262\262\211\262\203\356\n\312\316! >\204j\317\320\321D\"\210\314H\315\312\211\211\203\320\211A\262\242\262\262\211\262\203\320\316!\f>\204\232\317\320\322D\"\210\314H\230\206\267\323\211GSH\324=\203\262\202\265\325P\"\266\204\203\303\312\262\203\320\262\262T\262\202q\266\211\262\266\202\203\341\312\262\203\356\262\262T\262\202A\266\211\262\206\370\n@I\266\211\326H\327!\203\330!\210\210\211\211\326\312I\266\331\"\206\332!\333\334 #\335!\211\326I\266\207" [treemacs--current-scope-type treemacs--scope-storage treemacs--workspaces cl-struct-treemacs-workspace-tags cl-struct-treemacs-project-tags treemacs--buffer-name-prefix assoc treemacs-scope->current-scope record treemacs-scope-shelf nil buffer-file-name 2 0 type-of signal wrong-type-argument treemacs-workspace treemacs-project s-starts-with\? 47 "/" 1 buffer-live-p kill-buffer treemacs-scope->current-scope-name prin1-to-string format "%sScoped-Buffer-%s*" get-buffer-create] 28 (#$ . 12472)]) #@79 Switch the treemacs buffer after the current scope was changed. (fn &rest _) (defalias 'treemacs--change-buffer-on-scope-change #[128 "\300 \211\205'\301 r\302\303\"\216\304!r\302\305\"\216\306@\307\"\210\310 \210*\210\311 *\262\207" [treemacs-get-local-window internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] internal--before-with-selected-window #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord treemacs-quit treemacs-select-window] 7 (#$ . 13815)]) #@64 Switch to treemacs buffer, given that it is currently visible. (defalias 'treemacs--select-visible-window #[0 "\211\205 \302\303 !\"\262\211\205\211A\262\211\205\211\304H\262\211\205%\305!\262\211\203/\306!\210\210\307\310\311\"\207" [treemacs--scope-storage treemacs--current-scope-type assoc treemacs-scope->current-scope 1 get-buffer-window select-window run-hook-with-args treemacs-select-functions visible] 4 (#$ . 14386)]) #@100 Return the treemacs buffer local to the current scope-type. Returns nil if no such buffer exists.. (defalias 'treemacs-get-local-buffer #[0 "\302! \211\205\f\303\"\262\211\205\211A\262\211\205\211\304H\262\305!\205&\211\207" [treemacs--current-scope-type treemacs--scope-storage treemacs-scope->current-scope assoc 1 buffer-live-p] 5 (#$ . 14837)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-get-local-buffer side-effect-free t] 4) #@69 Get the buffer for the current scope, creating a new one if needed. (defalias 'treemacs-get-local-buffer-create #[0 "\301 \206\n\302\303!!\207" [treemacs--current-scope-type treemacs-get-local-buffer treemacs--create-buffer-for-scope treemacs-scope->current-scope] 3 (#$ . 15307)]) #@118 Return the window displaying the treemacs buffer in the current frame. Returns nil if no treemacs buffer is visible. (defalias 'treemacs-get-local-window #[0 "\301\302\303 !\304\301\211\211\203>\211A\262\242\262\262\211\262\203>\305\306\307!!\"\2031\301\262\203>\262\262T\262\202 \266\207" [treemacs--buffer-name-prefix nil window-list selected-frame 0 s-starts-with\? buffer-name window-buffer] 11 (#$ . 15598)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-get-local-window side-effect-free error-free] 4) #@115 Return whether the current visibility state of the treemacs buffer. Valid states are 'visible, 'exists and 'none. (defalias 'treemacs-current-visibility #[0 "\300 \203\301\207\302 \203\303\207\304\207" [treemacs-get-local-window visible treemacs-get-local-buffer exists none] 1 (#$ . 16154)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-current-visibility compiler-macro treemacs-current-visibility--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-current-visibility--inliner #[257 "\3002\301\302C\303\304DD\305C\303\306DD\307\303\310DDF0\207" [inline--just-use cond treemacs-get-local-window quote visible treemacs-get-local-buffer exists t none] 7 (#$ . 16630)]) (byte-code "\301\302!\204\f\303\304\303!\210\305\306!\207" [treemacs--current-scope-type featurep treemacs treemacs-frame-scope treemacs-scope->setup provide treemacs-scope] 2)