;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\305\306\307\"\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\207" [require treemacs perspective eieio dash remove-hook perspective-activated-functions treemacs--remove-treemacs-window-in-new-frames defalias treemacs-perspective-scope-p eieio-make-class-predicate treemacs-perspective-scope treemacs-perspective-scope--eieio-childp eieio-make-child-predicate treemacs-perspective-scope-child-p make-obsolete "use (cl-typep ... \\='treemacs-perspective-scope) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (treemacs-scope) nil (:abstract t)] 6) #@84 You cannot create a new object of type `treemacs-perspective-scope'. (fn &rest _) (defalias 'treemacs-perspective-scope #[128 "\300\301!\207" [error "Class treemacs-perspective-scope is abstract"] 3 (#$ . 809)]) (byte-code "\300\301\302\303B\"\210\304\305\306\307\306\310%\210\304\311\306\312\306\313%\207" [add-to-list treemacs-scope-types Perspectives treemacs-perspective-scope cl-generic-define-method treemacs-scope->current-scope nil ((_ (subclass treemacs-perspective-scope))) #[257 "\300 \206\301\207" [persp-curr none] 2 "Get the current perspective as scope.\nReturns the symbol `none' if no perspective is active.\n\n(fn _)"] treemacs-scope->current-scope-name ((_ (subclass treemacs-perspective-scope)) perspective) #[514 "\211\301=\203\302\207\303\304\305!>\204\306\307\310D\"\210\311H\"\207" [cl-struct-perspective-tags none "No Perspective" format "Perspective %s" type-of signal wrong-type-argument perspective 1] 8 "Return the name of the given PERSPECTIVE.\nWill return \"No Perspective\" if no perspective is active.\n\n(fn _ PERSPECTIVE)"]] 6) #@51 Cleanup hook to run when a perspective is killed. (defalias 'treemacs-perspective--on-scope-kill #[0 "\300\301 !\207" [treemacs--on-scope-kill persp-current-name] 2 (#$ . 1890)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method treemacs-scope->setup nil ((_ (subclass treemacs-perspective-scope))) #[257 "\300\301\302\"\210\300\303\304\"\210\305 \207" [add-hook persp-switch-hook treemacs-perspective--on-perspective-switch persp-killed-hook treemacs-perspective--on-scope-kill treemacs-perspective--ensure-workspace-exists] 4 "Perspective-scope setup.\n\n(fn _)"] treemacs-scope->cleanup ((_ (subclass treemacs-perspective-scope))) #[257 "\300\301\302\"\210\300\303\304\"\207" [remove-hook persp-switch-hook treemacs-perspective--on-perspective-switch persp-killed-hook treemacs-perspective--on-scope-kill] 4 "Perspective-scope tear-down.\n\n(fn _)"]] 6) #@146 Hook running after the perspective was switched. Will select a workspace for the now active perspective, creating it if necessary. (fn &rest _) (defalias 'treemacs-perspective--on-perspective-switch #[128 "\300\301\302\303#\207" [run-with-timer 0.1 nil #[0 "\301\302 \210\303 )\207" [treemacs--ready-to-follow nil treemacs-perspective--ensure-workspace-exists treemacs--change-buffer-on-scope-change] 1]] 5 (#$ . 2802)]) #@138 Make sure a workspace exists for the given PERSPECTIVE-NAME. Matching happens by name. If no workspace can be found it will be created. (defalias 'treemacs-perspective--ensure-workspace-exists #[0 "\303\304!\"\305!\206\306!\307\304! \"A\211\204)\310\311\312\211#\262\304!B B\211\211\313I\266\314 \211\203L\211@\211r\211q\210\315\302!\210\312)\210A\266\202\2022\210\316\317!\210\207" [treemacs--current-scope-type treemacs--scope-storage treemacs--project-of-buffer treemacs-scope->current-scope-name treemacs-scope->current-scope treemacs--select-workspace-by-name treemacs-perspective--create-workspace assoc record treemacs-scope-shelf nil 2 buffer-list make-local-variable run-hooks treemacs-switch-workspace-hook] 7 (#$ . 3232)]) #@227 Create a new workspace for the given perspective NAME. Projects will be found as per `treemacs--find-user-project-functions'. If that does not return anything the projects of the fallback workspace will be copied. (fn NAME) (defalias 'treemacs-perspective--create-workspace #[257 "\3042\212\305!\211@A@\306 \307\310=\204<:\204 C\307\n\2041\311\312\313\314\315\316#\317\320\"#\210\321\322\323\"\210\324\304 @\"\210\203V\325\326\327\330!!\331\332\333!&C\262\202{ @\211\334H\211\203y\211@\335\336\337H\334H\340H\307%B\262A\266\202\202[\266\211\334\237I\266\324\304\"\266\2050\207" [treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages treemacs--workspaces --cl-block-__body__-- treemacs-do-create-workspace treemacs--find-current-user-project nil success message "%s %s" propertize "[Treemacs]" face font-lock-keyword-face format "Failed to create workspace for perspective: %s, using fallback instead." add-hook pre-command-hook treemacs--restore-eldoc-after-log throw treemacs-project->create! :name file-name-nondirectory directory-file-name :path :path-status treemacs--get-path-status 2 record treemacs-project 1 3] 15 (#$ . 3992)]) (provide 'treemacs-perspective)