;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 ht treemacs-core-utils treemacs-dom treemacs-scope] 2) #@75 compiler-macro for inlining `treemacs-project-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-project-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-project-p (and (memq (type-of cl-x) cl-struct-treemacs-project-tags) t)) nil] 9 (#$ . 235)]) (put 'treemacs-project-p 'compiler-macro 'treemacs-project-p--cmacro) #@13 (fn CL-X) (defalias 'treemacs-project-p #[257 "\301!>\205 \302\207" [cl-struct-treemacs-project-tags type-of t] 3 (#$ . 604)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put treemacs-project-p side-effect-free error-free put treemacs-project cl-deftype-satisfies] 5) #@79 compiler-macro for inlining `treemacs-project->name'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-project->name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-project->name (progn (aref cl-x 1))) nil] 9 (#$ . 901)]) (put 'treemacs-project->name 'compiler-macro 'treemacs-project->name--cmacro) #@66 Access slot "name" of `treemacs-project' struct CL-X. (fn CL-X) (defalias 'treemacs-project->name #[257 "\211\300H\207" [1] 3 (#$ . 1250)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-project->name side-effect-free t] 4) #@79 compiler-macro for inlining `treemacs-project->path'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-project->path--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-project->path (progn (aref cl-x 2))) nil] 9 (#$ . 1496)]) (put 'treemacs-project->path 'compiler-macro 'treemacs-project->path--cmacro) #@66 Access slot "path" of `treemacs-project' struct CL-X. (fn CL-X) (defalias 'treemacs-project->path #[257 "\211\300H\207" [2] 3 (#$ . 1846)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-project->path side-effect-free t] 4) #@86 compiler-macro for inlining `treemacs-project->path-status'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-project->path-status--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-project->path-status (progn (aref cl-x 3))) nil] 9 (#$ . 2092)]) (put 'treemacs-project->path-status 'compiler-macro 'treemacs-project->path-status--cmacro) #@73 Access slot "path-status" of `treemacs-project' struct CL-X. (fn CL-X) (defalias 'treemacs-project->path-status #[257 "\211\300H\207" [3] 3 (#$ . 2477)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-project->path-status side-effect-free t] 4) #@87 compiler-macro for inlining `treemacs-project->is-disabled?'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-project->is-disabled\?--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-project->is-disabled\? (progn (aref cl-x 4))) nil] 9 (#$ . 2744)]) (put 'treemacs-project->is-disabled\? 'compiler-macro 'treemacs-project->is-disabled\?--cmacro) #@74 Access slot "is-disabled?" of `treemacs-project' struct CL-X. (fn CL-X) (defalias 'treemacs-project->is-disabled\? #[257 "\211\300H\207" [4] 3 (#$ . 3138)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put treemacs-project->is-disabled\? side-effect-free t defalias copy-treemacs-project copy-sequence] 4) #@126 compiler-macro for inlining `treemacs-project->create!'. (fn CL-WHOLE &cl-quote &key NAME PATH PATH-STATUS IS-DISABLED\=\?) (defalias 'treemacs-project->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 :path-status :is-disabled\? cl--defsubst-expand (name path path-status is-disabled\?) (cl-block treemacs-project->create! (record 'treemacs-project name path path-status is-disabled\?)) nil] 16 (#$ . 3466)]) (put 'treemacs-project->create! 'compiler-macro 'treemacs-project->create!--cmacro) #@102 Constructor for objects of type `treemacs-project'. (fn &key NAME PATH PATH-STATUS IS-DISABLED\=\?) (defalias 'treemacs-project->create! #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305\306%\207" [plist-member :name :path :path-status :is-disabled\? record treemacs-project] 11 (#$ . 4058)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put treemacs-project->create! side-effect-free t cl-struct-define treemacs-project nil cl-structure-object record ((cl-tag-slot) (name) (path) (path-status) (is-disabled\?)) cl-struct-treemacs-project-tags] 11) #@77 compiler-macro for inlining `treemacs-workspace-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-workspace-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-workspace-p (and (memq (type-of cl-x) cl-struct-treemacs-workspace-tags) t)) nil] 9 (#$ . 4674)]) (put 'treemacs-workspace-p 'compiler-macro 'treemacs-workspace-p--cmacro) #@13 (fn CL-X) (defalias 'treemacs-workspace-p #[257 "\301!>\205 \302\207" [cl-struct-treemacs-workspace-tags type-of t] 3 (#$ . 5056)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put treemacs-workspace-p side-effect-free error-free put treemacs-workspace cl-deftype-satisfies] 5) #@81 compiler-macro for inlining `treemacs-workspace->name'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-workspace->name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-workspace->name (progn (aref cl-x 1))) nil] 9 (#$ . 5362)]) (put 'treemacs-workspace->name 'compiler-macro 'treemacs-workspace->name--cmacro) #@68 Access slot "name" of `treemacs-workspace' struct CL-X. (fn CL-X) (defalias 'treemacs-workspace->name #[257 "\211\300H\207" [1] 3 (#$ . 5722)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-workspace->name side-effect-free t] 4) #@85 compiler-macro for inlining `treemacs-workspace->projects'. (fn CL-WHOLE-ARG CL-X) (defalias 'treemacs-workspace->projects--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block treemacs-workspace->projects (progn (aref cl-x 2))) nil] 9 (#$ . 5974)]) (put 'treemacs-workspace->projects 'compiler-macro 'treemacs-workspace->projects--cmacro) #@72 Access slot "projects" of `treemacs-workspace' struct CL-X. (fn CL-X) (defalias 'treemacs-workspace->projects #[257 "\211\300H\207" [2] 3 (#$ . 6354)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put treemacs-workspace->projects side-effect-free t defalias copy-treemacs-workspace copy-sequence] 4) #@104 compiler-macro for inlining `treemacs-workspace->create!'. (fn CL-WHOLE &cl-quote &key NAME PROJECTS) (defalias 'treemacs-workspace->create!--cmacro #[385 "\300\301\"A@\300\302\"A@\303\304\305\306\306&\207" [plist-member :name :projects cl--defsubst-expand (name projects) (cl-block treemacs-workspace->create! (record 'treemacs-workspace name projects)) nil] 12 (#$ . 6676)]) (put 'treemacs-workspace->create! 'compiler-macro 'treemacs-workspace->create!--cmacro) #@80 Constructor for objects of type `treemacs-workspace'. (fn &key NAME PROJECTS) (defalias 'treemacs-workspace->create! #[128 "\300\301\"A@\300\302\"A@\303\304#\207" [plist-member :name :projects record treemacs-workspace] 7 (#$ . 7157)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put treemacs-workspace->create! side-effect-free t cl-struct-define treemacs-workspace nil cl-structure-object record ((cl-tag-slot) (name) (projects)) cl-struct-treemacs-workspace-tags] 11) (defvar treemacs--workspaces (byte-code "\300\301\302\303#C\207" [record treemacs-workspace "Default" nil] 4)) #@68 List of functions to find the user project for the current buffer. (defvar treemacs--find-user-project-functions (list 'treemacs--current-builtin-project-function 'treemacs--current-directory-project-function) (#$ . 7793)) #@61 The overlay that will display validations when org-editing. (defvar treemacs--org-err-ov nil (#$ . 8022)) (make-variable-buffer-local 'treemacs--org-err-ov) (defvar treemacs--project-positions nil nil) (make-variable-buffer-local 'treemacs--project-positions) #@58 The project that the current buffer falls under, if any. (defvar treemacs--project-of-buffer nil (#$ . 8288)) (make-variable-buffer-local 'treemacs--project-of-buffer) #@274 Used to override the return value of `treemacs-current-workspace'. Used by `treemacs-run-in-every-buffer' to make sure all workspace-related functions can be used since make functions (like `treemacs-find-file-node') rely on the current buffer and workspace being aligned. (defvar treemacs-override-workspace nil (#$ . 8463)) #@110 Set all buffers' `treemacs--project-of-buffer' to nil. To be called whenever a project or workspace changes. (defalias 'treemacs--invalidate-buffer-project-cache #[0 "\301 \211\205\211@\211r\211q\210\302\300!\210\303)\210A\266\202\202\207" [treemacs--project-of-buffer buffer-list make-local-variable nil] 5 (#$ . 8796)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--invalidate-buffer-project-cache compiler-macro treemacs--invalidate-buffer-project-cache--inliner] 4) #@21 (fn INLINE--FORM) (defalias 'treemacs--invalidate-buffer-project-cache--inliner #[257 "\3002\301\302\303CD\304\305\306\307D\302E\310EE0\207" [inline--just-use dolist buf buffer-list setf buffer-local-value quote treemacs--project-of-buffer nil] 7 (#$ . 9295)]) #@38 Find the current project.el project. (defalias 'treemacs--current-builtin-project-function #[0 "\301 \211\205\211A\262\211\205\302!\262\211\205U\303!\2034\211G\304V\2033\211GSH\305=\2033\211\306\307O\207\207\310\311!\211G\304V\203Q\211GSH\305=\203Q\211\306\307O\202R\211\262)\207" [file-name-handler-alist project-current file-truename file-remote-p 1 47 0 -1 nil expand-file-name] 5 (#$ . 9566)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--current-builtin-project-function side-effect-free t] 4) #@37 Find the current working directory. (defalias 'treemacs--current-directory-project-function #[0 "\211\205C\302!\203\"\211G\303V\203!\211GSH\304=\203!\211\305\306O\207\207\307\310!\211G\303V\203?\211GSH\304=\203?\211\305\306O\202@\211\262)\207" [default-directory file-name-handler-alist file-remote-p 1 47 0 -1 nil expand-file-name] 5 (#$ . 10109)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--current-directory-project-function side-effect-free t] 4) #@48 Return the list of all workspaces in treemacs. (defalias 'treemacs-workspaces #[0 "\207" [treemacs--workspaces] 1 (#$ . 10600)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-workspaces compiler-macro treemacs-workspaces--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-workspaces--inliner #[257 "\3002\3010\207" [inline--just-use treemacs--workspaces] 2 (#$ . 10893)]) #@450 Get the current workspace. The return value can be overridden by let-binding `treemacs-override-workspace'. This will happen when using `treemacs-run-in-every-buffer' to make sure that this function returns the right workspace for the iterated-over buffers. If no workspace is assigned to the current scope the persisted workspaces will be loaded and a workspace will be found based on the `current-buffer'. This function can be used with `setf'. (defalias 'treemacs-current-workspace #[0 "\206\305\306 !\n\"A\211\203\211\307H\202\310\311N\204$\312 \210\313\310\311\314#\210\315p!\305\306 !\n\"A\211\204A\316\317\320\211#\262\306 !B\nB\211\211\307\320 \321\320\211\211\203\331\211A\262\242\262\262\211\262\203\331\n\320\307H\321\320\211\211\203\273\211A\262\242\262\262\211\262\203\273\307H\230\206\242\322\211GSH\323=\203\235\202\240\324P\"\266\204\203\256\320\262\203\273\262\262T\262\202k\266\211\262\266\202\203\314\320\262\203\331\262\262T\262\202J\266\211\262\206\343 @I\262\262\262\316\317\320#\306 !\305\n\"\211A\203\211\211\241\266\202\fB\nB\266\325\f\306 !#\210\266\202\262\207" [treemacs-override-workspace treemacs--current-scope-type treemacs--scope-storage treemacs--workspaces treemacs-workspace-first-found-functions assoc treemacs-scope->current-scope 2 treemacs :state-is-restored treemacs--restore put t buffer-file-name record treemacs-scope-shelf nil 0 s-starts-with\? 47 "/" run-hook-with-args] 27 (#$ . 11042)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-current-workspace gv-expander #[385 "\300\301\302$\207" [gv--defsetter treemacs-current-workspace #[257 "\300\301\302\303\304EF\207" [let ((shelf (treemacs-current-scope-shelf))) (unless shelf (setf shelf (treemacs-scope-shelf->create!)) (push (cons (treemacs-current-scope) shelf) treemacs--scope-storage)) setf (treemacs-scope-shelf->workspace shelf)] 7 "\n\n(fn VAL)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4) #@77 Find the right workspace the given PATH. PATH: String (fn &optional PATH) (defalias 'treemacs--find-workspace #[256 "\303\304! \"A\211\204\305\306\307\211#\262\304!B B\211\211\310\307\n\311\307\211\211\203\262\211A\262\242\262\262\211\262\203\262\n\307\310H\311\307\211\211\203\224\211A\262\242\262\262\211\262\203\224\310H\230\206{\312\211GSH\313=\203v\202y\314P\"\266\204\203\207\307\262\203\224\262\262T\262\202D\266\211\262\266\202\203\245\307\262\203\262\262\262T\262\202#\266\211\262\206\274\n@I\207" [treemacs--current-scope-type treemacs--scope-storage treemacs--workspaces assoc treemacs-scope->current-scope record treemacs-scope-shelf nil 2 0 s-starts-with\? 47 "/"] 26 (#$ . 13048)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--find-workspace compiler-macro treemacs--find-workspace--inliner side-effect-free t] 5) #@36 (fn INLINE--FORM &optional PATH) (defalias 'treemacs--find-workspace--inliner #[513 "\30029\211\301!\203\211\202\302\303!\304\305C\306\307\310\311\312F\313E\314\313DEE=\203/\211\266\203\2028\315DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" setf treemacs-current-workspace or --first treemacs-is-path :in-workspace it treemacs--workspaces car macroexp-let*] 12 (#$ . 13990)]) #@244 In the current workspace find the project current buffer's file falls under. Optionally supply the BUFFER-FILE in case it is not available by calling the function `buffer-file-name' (like in dired). FILE: Filepath (fn &optional BUFFER-FILE) (defalias 'treemacs--find-project-for-buffer #[256 "\204t\211\206\n\301 \211\203s\211\302\303 \211\304H\262\305\302\211\211\203k\211A\262\242\262\262\211\262\203k\304H\230\206R\306\211GSH\307=\203M\202P\310P\"\266\204\203^\302\262\203k\262\262T\262\202\266\211\262\262\210\207" [treemacs--project-of-buffer buffer-file-name nil treemacs-current-workspace 2 0 s-starts-with\? 47 "/"] 16 (#$ . 14418)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--find-project-for-buffer compiler-macro treemacs--find-project-for-buffer--inliner] 4) #@43 (fn INLINE--FORM &optional BUFFER-FILE) (defalias 'treemacs--find-project-for-buffer--inliner #[513 "\3002C\211\301!\203\211\202\302\303!\304\305\306\307\310\311\312CEDC\313\310\314\306\315\310\316EEEEE\306E=\2039\211\266\203\202B\317DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "buffer-file" progn unless treemacs--project-of-buffer let path or buffer-file-name when setf treemacs-is-path :in-workspace macroexp-let*] 16 (#$ . 15263)]) #@66 Return the project for PATH in the current workspace. (fn PATH) (defalias 'treemacs--find-project-for-path #[257 "\211\300\301 \211\302H\262\303\300\211\211\203]\211A\262\242\262\262\211\262\203]\302H\230\206D\304\211GSH\305=\203?\202B\306P\"\266\204\203P\300\262\203]\262\262T\262\202 \266\207" [nil treemacs-current-workspace 2 0 s-starts-with\? 47 "/"] 15 (#$ . 15747)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--find-project-for-path compiler-macro treemacs--find-project-for-path--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM PATH) (defalias 'treemacs--find-project-for-path--inliner #[514 "\3002,\211\301!\203\211\202\302\303!\304\305E=\203\"\211\266\203\202+\306DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" treemacs-is-path :in-workspace macroexp-let*] 8 (#$ . 16346)]) #@63 Return t when there are no projects in the current workspace. (defalias 'treemacs-workspace->is-empty\? #[0 "\300 \211\301H\262?\207" [treemacs-current-workspace 2] 3 (#$ . 16662)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-workspace->is-empty\? compiler-macro treemacs-workspace->is-empty\?--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-workspace->is-empty\?--inliner #[257 "\3002 \301\302\303CDD0\207" [inline--just-use null treemacs-workspace->projects treemacs-current-workspace] 4 (#$ . 17030)]) #@53 Add PROJECT to the current workspace. (fn PROJECT) (defalias 'treemacs--add-project-to-current-workspace #[257 "\300 \211\211\301\300 \211\301H\262\237B\211\262\237\262I\207" [treemacs-current-workspace 2] 8 (#$ . 17240)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--add-project-to-current-workspace compiler-macro treemacs--add-project-to-current-workspace--inliner] 4) #@29 (fn INLINE--FORM PROJECT) (defalias 'treemacs--add-project-to-current-workspace--inliner #[514 "\30028\211\301!\203\211\202\302\303!\304\305\306CD\307\310\311\312\313EDEE=\203.\211\266\203\2027\314DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "project" setf treemacs-workspace->projects treemacs-current-workspace -let [reversed (nreverse (treemacs-workspace->projects (treemacs-current-workspace)))] nreverse push reversed macroexp-let*] 12 (#$ . 17642)]) #@58 Remove PROJECT from the current workspace. (fn PROJECT) (defalias 'treemacs--remove-project-from-current-workspace #[257 "\301 \211\211\302\303\301 \211\302H\262\"I\266\304 \211\205.\211@r\211q\210\232\203&\305)A\266\202\202\207" [treemacs--project-of-buffer treemacs-current-workspace 2 delete buffer-list nil] 10 (#$ . 18145)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--remove-project-from-current-workspace compiler-macro treemacs--remove-project-from-current-workspace--inliner] 4) #@29 (fn INLINE--FORM PROJECT) (defalias 'treemacs--remove-project-from-current-workspace--inliner #[514 "\3002K\211\301!\203\211\202\302\303!\304\305\306\307CD\310\306\307CDEE\311\312\313CD\314\312\315\316\317 E\320\317\321EEEEE=\203A\211\266\203\202J\322DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "project" progn setf treemacs-workspace->projects treemacs-current-workspace delete dolist buffer buffer-list with-current-buffer when equal treemacs--project-of-buffer setq nil macroexp-let*] 15 (#$ . 18670)]) #@92 Get the position of the next project. Will return `point-max' if there is no next project. (defalias 'treemacs--next-project-pos #[0 "\300\301 \302\"\207" [next-single-char-property-change point-at-eol :project] 3 (#$ . 19224)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--next-project-pos compiler-macro treemacs--next-project-pos--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--next-project-pos--inliner #[257 "\3002\n\301\302C\303E0\207" [inline--just-use next-single-char-property-change point-at-eol :project] 4 (#$ . 19630)]) #@92 Get the position of the next project. Will return `point-min' if there is no next project. (defalias 'treemacs--prev-project-pos #[0 "\300\301 \302\"\207" [previous-single-char-property-change point-at-bol :project] 3 (#$ . 19830)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--prev-project-pos compiler-macro treemacs--prev-project-pos--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--prev-project-pos--inliner #[257 "\3002\n\301\302C\303E0\207" [inline--just-use previous-single-char-property-change point-at-bol :project] 4 (#$ . 20240)]) #@38 Reset `treemacs--project-positions'. (defalias 'treemacs--reset-project-positions #[0 "\301\302\303\304\305$\211\207" [treemacs--project-positions make-hash-table :test equal :size 20] 5 (#$ . 20444)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--reset-project-positions compiler-macro treemacs--reset-project-positions--inliner] 4) #@21 (fn INLINE--FORM) (defalias 'treemacs--reset-project-positions--inliner #[257 "\3002\301\302\303\304\305\306D\307\310\257E0\207" [inline--just-use setq treemacs--project-positions make-hash-table :test function equal :size 20] 8 (#$ . 20802)]) #@113 Get the hash table key of SELF. SELF may be a project struct or a root key of a top level extension. (fn SELF) (defalias 'treemacs-project->key #[257 "\301!>\203\f\211\302H\207\207" [cl-struct-treemacs-project-tags type-of 2] 3 (#$ . 21058)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->key compiler-macro treemacs-project->key--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->key--inliner #[514 "\30021\211\301!\203\211\202\302\303!\304\305D\306DF=\203'\211\266\203\2020\307DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" if treemacs-project-p treemacs-project->path macroexp-let*] 8 (#$ . 21472)]) #@86 Insert PROJECT's POSITION into `treemacs--project-positions'. (fn PROJECT POSITION) (defalias 'treemacs--set-project-position #[514 "\302\303\304!>\203\305H\202 #\210\207" [cl-struct-treemacs-project-tags treemacs--project-positions nil puthash type-of 2] 7 (#$ . 21799)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--set-project-position compiler-macro treemacs--set-project-position--inliner] 4) #@38 (fn INLINE--FORM PROJECT POSITION) (defalias 'treemacs--set-project-position--inliner #[771 "\3002R\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306\307DF=\2033\211\266\203\202<\310DC\"\266\203=\203H\211\266\203\202Q\310DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "project" "position" ht-set! treemacs--project-positions treemacs-project->key macroexp-let*] 11 (#$ . 22231)]) #@71 Return the position of project SELF in the current buffer. (fn SELF) (defalias 'treemacs-project->position #[257 "\302\303!>\203\304H\202 \305#\207" [cl-struct-treemacs-project-tags treemacs--project-positions gethash type-of 2 nil] 5 (#$ . 22680)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->position compiler-macro treemacs-project->position--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->position--inliner #[514 "\3002.\211\301!\203\211\202\302\303!\304\305\306DE=\203$\211\266\203\202-\307DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" ht-get treemacs--project-positions treemacs-project->key macroexp-let*] 8 (#$ . 23116)]) #@78 Return non-nil if project SELF is expanded in the current buffer. (fn SELF) (defalias 'treemacs-project->is-expanded\? #[257 "\302\303!>\203\304H\202 \305#\306\307\"\262\310=\207" [cl-struct-treemacs-project-tags treemacs--project-positions gethash type-of 2 nil get-text-property :state root-node-open] 5 (#$ . 23457)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-expanded\? compiler-macro treemacs-project->is-expanded\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-expanded\?--inliner #[514 "\30025\211\301!\203\211\202\302\303!\304\305\306D\307\310C\311\312DFE=\203+\211\266\203\2024\313DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" eq quote root-node-open -> treemacs-project->position treemacs-button-get :state macroexp-let*] 11 (#$ . 23976)]) #@129 Refresh the path status of project SELF in the current buffer. Does not preserve the current position in the buffer. (fn SELF) (defalias 'treemacs-project->refresh-path-status! #[257 "\211\302H\303\304H!=?\205j\211\302I\266\305\306!>\203%\304H\202& \307#\304H\302H\310>\203N\311!\312\313T\314\"\206Ae\315\314\"\206Id\316$\266\317!\312\313T\314\"\206[e\315\314\"\206cd\320$\262\266\202\207" [cl-struct-treemacs-project-tags treemacs--project-positions 3 treemacs--get-path-status 2 gethash type-of nil (local-readable remote-readable) file-symlink-p put-text-property previous-single-property-change button next-single-property-change :symlink treemacs--root-face face] 11 (#$ . 24367)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-project->refresh-path-status! compiler-macro treemacs-project->refresh-path-status!--inliner] 4) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->refresh-path-status!--inliner #[514 "\3002j\211\301!\203\211\202\302\303!\304\305\306DD\307\310\311DDDD\312\313\305\307E\314\306D\307E\304\315\316DD\317\311 DDD\320\321 D\322\315\323\324\317DFE\322\315\325\326D\327\fDFFFE=\203`\211\266\203\202i\330DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" let old-path-status treemacs-project->path-status new-path-status treemacs--get-path-status treemacs-project->path unless eq setf pos treemacs-project->position path when treemacs-project->is-readable\? treemacs-button-put :symlink file-symlink-p quote face treemacs--root-face macroexp-let*] 18 (#$ . 25250)]) #@110 Refresh project SELF in the current buffer. Does not preserve the current position in the buffer. (fn SELF) (defalias 'treemacs-project->refresh! #[257 "\211\303H\304\305H!=\204g\211\303I\266\306\307!>\203$\305H\202% \310#\305H\303H\311>\203M\312!\313\314T\315\"\206@e\316\315\"\206Hd\317$\266\320!\313\314T\315\"\206Ze\316\315\"\206bd\321$\266\266\306\307!>\203x\305H\202y \310#\322\323\"\262\324=\205\261\306\307!>\203\226\305H\202\227 \310#\211b\210\310\325!\210\303H\326>?\205\257\327!\262\207" [cl-struct-treemacs-project-tags treemacs--project-positions treemacs--last-highlight 3 treemacs--get-path-status 2 gethash type-of nil (local-readable remote-readable) file-symlink-p put-text-property previous-single-property-change button next-single-property-change :symlink treemacs--root-face face get-text-property :state root-node-open treemacs--collapse-root-node (local-unreadable remote-unreadable extension) treemacs--expand-root-node] 11 (#$ . 25968)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-project->refresh! compiler-macro treemacs-project->refresh!--inliner] 4) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->refresh!--inliner #[514 "\3002M\211\301!\203\211\202\302\303!\304\305D\306\307D\310\311\312DDC\313\311D\314C\315\311D\316\317 D\320\311DE\257EE=\203C\211\266\203\202L\321DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" progn treemacs-project->refresh-path-status! when treemacs-project->is-expanded\? let root-btn treemacs-project->position goto-char treemacs--forget-last-highlight treemacs--collapse-root-node unless treemacs-project->is-unreadable\? treemacs--expand-root-node macroexp-let*] 17 (#$ . 27126)]) #@77 Return t when root node of project SELF is the last in the view. (fn SELF) (defalias 'treemacs-project->is-last\? #[257 "\302\303\304!>\203\305H\202 \306#\302\307\"\206d\262\310\"?\207" [cl-struct-treemacs-project-tags treemacs--project-positions next-single-property-change gethash type-of 2 nil button :project] 6 (#$ . 27745)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-last\? compiler-macro treemacs-project->is-last\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-last\?--inliner #[514 "\30025\211\301!\203\211\202\302\303!\304\305C\306C\307\310D\311C\257=\203+\211\266\203\2024\312DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" -> treemacs-project->position treemacs-button-end next-single-property-change :project null macroexp-let*] 10 (#$ . 28268)]) #@378 Create a new workspace with optional NAME. Return values may be as follows: * If a workspace for the given name already exists: - the symbol `duplicate-name' - the workspace with the duplicate name * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the created workspace (fn &optional NAME) (defalias 'treemacs-do-create-workspace #[256 "\3012}\211\206 \302\303!\304!\203\305\301\306D\"\210\307\310\307\211\211\203Q\211A\262\242\262\262\211\262\203Q\311H\230\203D\307\262\203Q\262\262T\262\202\266\211\262\211\203a\305\301\312D\"\210\210\313\314\307#\315\300\316#\210\317 \210\320\321\"\210\322D\262\2620\207" [treemacs--workspaces --cl-block-__body__-- treemacs--read-string "Workspace name: " treemacs--is-name-invalid\? throw invalid-name nil 0 1 duplicate-name record treemacs-workspace add-to-list :append treemacs--persist run-hook-with-args treemacs-create-workspace-functions success] 11 (#$ . 28666)]) #@622 Delete a WORKSPACE. Ask the user to confirm the deletion when ASK-TO-CONFIRM is t (it will be when this is called from `treemacs-remove-workspace'). If no WORKSPACE name is given it will be selected interactively. Return values may be as follows: * If only a single workspace remains: - the symbol `only-one-workspace' * If the user cancel the deletion: - the symbol `user-cancel' * If the workspace cannot be found: - the symbol `workspace-not-found' * If everything went well: - the symbol `success' - the deleted workspace - the list of the remaining workspaces (fn &optional WORKSPACE ASK-TO-CONFIRM) (defalias 'treemacs-do-remove-workspace #[512 "\3042\250G\305U\203\306\304\307\"\210\206\310\311\312\313\"\314\315$\316!\2038\317\320\321\322\305H\323\324#\"!\2048\306\304\325\"\210\211\204C\306\304\326D\"\210\327\"\330 \210\331 \211\203g\211@\211r\211q\210\332\301!\210\314)\210A\266\202\202M\210\n\211\203\233\211@\211\243\211\211\305H\333H\334!\203\222\211rq\210\335 \211=\203\220\336 \210\210*\266A\266\202\202i\210\337\340\"\210\341E\266\2020\207" [treemacs--workspaces treemacs--project-of-buffer treemacs--scope-storage treemacs-override-workspace --cl-block-__body__-- 1 throw only-one-workspace completing-read "Delete: " -map treemacs-workspace->name nil t treemacs-find-workspace-by-name yes-or-no-p format "Delete workspace %s and all its projects?" propertize face font-lock-type-face user-cancel workspace-not-found delete treemacs--persist buffer-list make-local-variable 2 buffer-live-p treemacs-current-workspace treemacs--rerender-after-workspace-change run-hook-with-args treemacs-delete-workspace-functions success] 13 (#$ . 29712)]) #@69 Redraw treemacs after the current workspace was changed or deleted. (defalias 'treemacs--rerender-after-workspace-change #[0 "\300 p=\301 \203\302\202\300 \203\303\202\304\211\305\267\202M\306\207\307!\210\310 r\311\312\"\216\313 \210*\210\314\301 !\207\307!\210\203A\313 \207\310 r\311\315\"\216\313 *\207\306\207" [treemacs-get-local-buffer treemacs-get-local-window visible exists none #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (none 30 exists 32 visible 54)) nil kill-buffer internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] treemacs-select-window delete-window #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2]] 7 (#$ . 31430)]) #@454 Get the status of PATH. Returns either * `local-readable' when PATH is a local readable file or directory, * `local-unreadable' when PATH is a local unreadable file or directory, * `remote-readable' when PATH is a remote readable file or directory, * `remote-unreadable' when PATH is a remote unreadable file or directory, * `remote-disconnected' when PATH is remote, but the connection is down, or * `extension' when PATH is not a string. (fn PATH) (defalias 'treemacs--get-path-status #[257 "\211;\204\300\207\301!\204\302!\203\303\207\304\207\301\305\306#\204!\307\207\302!\203)\310\207\311\207" [extension file-remote-p file-readable-p local-readable local-unreadable nil t remote-disconnected remote-readable remote-unreadable] 5 (#$ . 32211)]) #@268 Return t if the project SELF is definitely unreadable. If `path-status' of the project is `remote-disconnected', the return value will be nil even though the path might still be unreadable. Does not verify the readability, the cached path-state is used. (fn SELF) (defalias 'treemacs-project->is-unreadable\? #[257 "\211\300H\301>\207" [3 (local-unreadable remote-unreadable extension)] 3 (#$ . 32983)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-unreadable\? compiler-macro treemacs-project->is-unreadable\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-unreadable\?--inliner #[514 "\3002\301\302D\303\304\305\306EDE0\207" [inline--just-use memq treemacs-project->path-status quote local-unreadable remote-unreadable extension] 8 (#$ . 33581)]) #@146 Return t if the project SELF is definitely readable for file operations. Does not verify the readability - the cached state is used. (fn SELF) (defalias 'treemacs-project->is-readable\? #[257 "\211\300H\301>\207" [3 (local-readable remote-readable)] 3 (#$ . 33839)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-readable\? compiler-macro treemacs-project->is-readable\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-readable\?--inliner #[514 "\3002\301\302D\303\304\305DDE0\207" [inline--just-use memq treemacs-project->path-status quote local-readable remote-readable] 7 (#$ . 34295)]) #@52 Return t if the project SELF is remote. (fn SELF) (defalias 'treemacs-project->is-remote\? #[257 "\211\300H\301>\207" [3 (remote-disconnected remote-readable remote-unreadable)] 3 (#$ . 34532)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-remote\? compiler-macro treemacs-project->is-remote\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-remote\?--inliner #[514 "\30023\211\301!\203\211\202\302\303!\304\305D\306\307\310\311EDE=\203)\211\266\203\2022\312DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" memq treemacs-project->path-status quote remote-disconnected remote-readable remote-unreadable macroexp-let*] 10 (#$ . 34911)]) #@80 Return t if the project SELF is local. Returns nil for extensions. (fn SELF) (defalias 'treemacs-project->is-local\? #[257 "\211\300H\301>\207" [3 (local-readable local-unreadable)] 3 (#$ . 35308)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-local\? compiler-macro treemacs-project->is-local\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-local\?--inliner #[514 "\30022\211\301!\203\211\202\302\303!\304\305D\306\307\310DDE=\203(\211\266\203\2021\311DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "self" memq treemacs-project->path-status quote local-readable local-unreadable macroexp-let*] 9 (#$ . 35690)]) #@64 Return t if the project SELF is local and readable. (fn SELF) (defalias 'treemacs-project->is-local-and-readable\? #[257 "\211\300H\301=\207" [3 local-readable] 3 (#$ . 36059)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project->is-local-and-readable\? compiler-macro treemacs-project->is-local-and-readable\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM SELF) (defalias 'treemacs-project->is-local-and-readable\?--inliner #[514 "\3002 \301\302D\303\304DE0\207" [inline--just-use eq treemacs-project->path-status quote local-readable] 6 (#$ . 36445)]) #@810 Add project at PATH to the current workspace. NAME is provided during ad-hoc navigation only. Return values may be as follows: * If the given path is invalid (is nil or does not exist) - the symbol `invalid-path' - a string describing the problem * If the project for the given path already exists: - the symbol `duplicate-project' - the project the PATH falls into * If a project under given path already exists: - the symbol `includes-project' - the project the PATH contains * If a project for the given name already exists: - the symbol `duplicate-name' - the project with the duplicate name * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the created project PATH: Filepath NAME: String (fn PATH NAME) (defalias 'treemacs-do-add-project-to-workspace #[514 "\3062\265\204\307\306\310\311!\"\210\312!\313 \314!\204!\307\306\310\315!\"\210\316!\317!\203F\211G\320V\203B\211GSH\321=\203B\211\322\323O\202g\211\202g\324\325!\211G\320V\203c\211GSH\321=\203c\211\322\323O\202d\211\262)\262\262\324\313 \211\326H\262\322\324\211\211\203\310\211A\262\242\262\262\211\262\203\310\326H\230\206\257\327\211GSH\321=\203\252\202\255\330P\"\266\204\203\273\324\262\203\310\262\262T\262\202x\266\211\262\262\211\203\332\307\306\331D\"\210\210\332!\203\350\307\306\333D\"\210\324\313 \211\326H\262\322\324\211\211\203B\211A\262\242\262\262\211\262\203B\326H\n\230\206)\327\211GSH\321=\203$\202'\330P\"\266\202\2035\324\262\203B\262\262T\262\202\364\266\211\262\211\203R\307\306\334D\"\210\210\335\336\324%\324\313 \211\326H\262\322\324\211\211\203\232\211A\262\242\262\262\211\262\203\232 \320H\230\203\215\324\262\203\232\262\262T\262\202g\266\211\262\211\203\252\307\306\337D\"\210\210\313 \211\211\326\313 \211\326H\262\237B\211\262\237\262I\266\340 \211\203\340\211@\211r\211q\210\341\301!\210\324)\210A\266\202\202\306\210\n\211\203\244\211@\211\243\211\211\320H\326H\342!\203\233\211rq\210=\203\232\324 b\210\343\344 \345 \346\324$\211\205\347\350\"\262\203Gn\2038\2126\203,\351\202-\352c\210)\353 \350\"\210\202G\324\2106\203D\351\202E\352c\210\354!\210\335\355\f\324\211\211\356\357!7>\203e \326H\202g 8\324#\324\211&\360\320H9#\266:\203\231\361\356\357 !7>\203\221\326H\202\2238\324#!\210)*\266A\266\202\202\342\210\362 \210\363\364\"\210\365D\262\266\2020\207" [file-name-handler-alist treemacs--project-of-buffer treemacs--scope-storage treemacs-override-workspace buffer-read-only treemacs--projects-end --cl-block-__body__-- throw treemacs-pulse-on-failure (invalid-path "Path is nil.") treemacs--get-path-status treemacs-current-workspace file-readable-p (invalid-path "Path is not readable does not exist.") file-truename file-remote-p 1 47 0 -1 nil expand-file-name 2 s-starts-with\? "/" duplicate-project treemacs--is-name-invalid\? invalid-name includes-project record treemacs-project duplicate-name buffer-list make-local-variable buffer-live-p text-property-not-all point-at-bol point-at-eol button copy-marker t "\n\n" "\n" set-marker-insertion-type treemacs--add-root-element treemacs-dom-node gethash type-of puthash treemacs--expand-root-node treemacs--persist run-hook-with-args treemacs-create-project-functions success treemacs-space-between-root-nodes cl-struct-treemacs-project-tags treemacs--project-positions treemacs-dom treemacs-expand-added-projects] 21 (#$ . 36670)]) (byte-code "\300\301\302\"\210\303\301\302\304#\207" [defalias treemacs-add-project-at treemacs-do-add-project-to-workspace make-obsolete "v.2.2.1"] 4) #@793 Add the given PROJECT to the current workspace. PROJECT may either be a `treemacs-project' instance or a string path. In the latter case the project containing the path will be selected. When IGNORE-LAST-PROJECT-RESTRICTION removing the last project will not count as an error. This is meant to be used in non-interactive code, where another project is immediately added afterwards, as leaving the project list empty is probably a bad idea. Return values may be as follows: * If the given path is invalid (is nil or does not exist): - the symbol `invalid-project' - a string describing the problem * If there is only one project: - the symbol `cannot-delete-last-project' * If everything went well: - the symbol `success' (fn PROJECT &optional IGNORE-LAST-PROJECT-RESTRICTION) (defalias 'treemacs-do-remove-project-from-workspace #[513 "\3062F\211\204\307\310 \211\311H\262GY\203\312\306\313\314!\"\210\204'\312\306\313\315!\"\210;\203\324\316!\203NG\307V\203J\211GSH\317=\203J\320\321O\202o\202o\322\323!\211G\307V\203k\211GSH\317=\203k\211\320\321O\202l\211\262)\322\310 \211\311H\262\320\322\211\211\203\313\211A\262\242\262\262\211\262\203\313\311H\230\206\262\324\211GSH\317=\203\255\202\260\325P\"\266\204\203\276\322\262\203\313\262\262T\262\202{\266\211\262\262\262\204\337\312\306\313\326!\"\210 \211\203;\211@\211\243\211\211\307H\311H\327!\2032\211rq\210\322\311H\330\331!\f>\203\311H\202 \322#b\332 \333\334 \335\"\322\223\332 \336\337 \335\"\322\223\330\331 !\f>\2038\f\311H\202:\f \322#\340\341\"\262\342=\203M\343\344\"\210\310 \211\211\311\345\310 \211\311H\262\"I\266\346 \211\203\211@r\211q\210(\232\203w\322()A\266\202\202b\210\346 \211\203\235\211@\211r\211q\210\347\350!\210\322()\210A\266\202\202\202\210\351!\352!\203\300\353\354\"\206\260d\337 |\210\211\203\346\355\307!\266\202\350\211\203\340\211?V\203\321\356?\322\"\210\334 b\210\320y\210`|\266\202\350\334 \337 |\210\266e\232\203\365\211b\266\202\371b\266\322@\357 \211\203\360!r\361\362\"\216\363@\364\"\210\365 \210*\210\210A\366=\203.\367 \210\340`\370\"\242\371=\203.\307u\210\372 \210+\266A\266\202\202\340\210\373\374\"\210\375 \210\3760\207" [file-name-handler-alist treemacs--scope-storage treemacs-override-workspace buffer-read-only cl-struct-treemacs-project-tags treemacs--project-positions --cl-block-__body__-- 1 treemacs-current-workspace 2 throw treemacs-pulse-on-failure cannot-delete-last-project (invalid-project "Project is nil") file-remote-p 47 0 -1 nil expand-file-name s-starts-with\? "/" (invalid-project "Given path is not in the workspace") buffer-live-p gethash type-of make-marker previous-single-char-property-change point-at-bol :project next-single-char-property-change point-at-eol get-text-property :state root-node-open treemacs--collapse-root-node t delete buffer-list make-local-variable treemacs--project-of-buffer previous-button next-button next-single-property-change button forward-button set-marker-insertion-type treemacs-get-local-window internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord recenter treemacs-mode beginning-of-line display image hl-line-highlight run-hook-with-args treemacs-delete-project-functions treemacs--persist success treemacs--projects-end treemacs--last-highlight major-mode] 21 (#$ . 40429)]) #@545 Switch to a new WORKSPACE. Workspace may either be a workspace name, a workspace object, or be left out. In the latter case the workspace to switch to will be selected interactively. Return values may be as follows: * If there are no workspaces to switch to: - the symbol `only-one-workspace' * If the given workspace could not be found (if WORKSPACE was a name string) - the symbol `workspace-not-found' - the given workspace name * If everything went well: - the symbol `success' - the selected workspace (fn &optional WORKSPACE) (defalias 'treemacs-do-switch-workspace #[256 "\305\306N\204\307 \210\310\305\306\311#\210\3122G\313U\203\314\312\315\"\210\316\317! >\203.\262\202\300;\203F\320!\262\211\204\300\314\312\321D\"\210\202\300\204\300\322\323\316\324\316\211\203s\211A\262\242\262\262T\262\325 =\204QB\262\202Q\266\211\237\262\"\326\327\316\330$\316\324\316\211\211\203\270\211A\262\242\262\262\211\262\203\270@\230\203\253\316\262\203\270\262\262T\262\202\206\266\211\262A\266\203\331\332\n! \"A\211\204\332\333\334\316\211#\262\332\n!B B\211\211\335I\266\336 \211\203\375\211@\211r\211q\210\337\304!\210\316)\210A\266\202\202\343\210\340 \210\341\342!\210\314\312\343D\"\2620\207" [treemacs--workspaces cl-struct-treemacs-workspace-tags treemacs--current-scope-type treemacs--scope-storage treemacs--project-of-buffer treemacs :state-is-restored treemacs--restore put t --cl-block-__body__-- 1 throw only-one-workspace nil type-of treemacs-find-workspace-by-name workspace-not-found mapcar #[257 "\211\300HB\207" [1] 3 "\n\n(fn IT)"] 0 treemacs-current-workspace completing-read "Switch to: " :require-match assoc treemacs-scope->current-scope record treemacs-scope-shelf 2 buffer-list make-local-variable treemacs--rerender-after-workspace-change run-hooks treemacs-switch-workspace-hook success] 12 (#$ . 43929)]) #@225 Rename a workspace. Return values may be as follows: * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the old-name - the renamed workspace (defalias 'treemacs-do-rename-workspace #[0 "\3012D\302 \211\303H\304\305\306\"\307\310\"\"\311\312\"\313\"A\314\315!\316!\203,\317\301\320D\"\210\211\303I\266\321 \210\322\323#\210\324E\266\2060\207" [treemacs--workspaces --cl-block-__body__-- treemacs-current-workspace 1 sort mapcar #[257 "\211\300HB\207" [1] 3 "\n\n(fn IT)"] make-closure #[514 "@\300\230\207" [V0] 4 "\n\n(fn N _)"] completing-read "Rename: " assoc treemacs--read-string "New name: " treemacs--is-name-invalid\? throw invalid-name treemacs--persist run-hook-with-args treemacs-rename-workspace-functions success] 10 (#$ . 45857)]) #@107 Validate the NAME of a project or workspace. Returns t when the name is invalid. NAME: String (fn NAME) (defalias 'treemacs--is-name-invalid\? #[257 "\300!\206\301\302\"\206\303\304\"?\207" [s-blank-str\? s-contains\? "\n" s-matches\? "\\(?:[[:space:]]\\|\\sw\\|\\s_\\|\\s.\\)+"] 4 (#$ . 46710)]) (byte-code "\300\301\302\303#\300\301\304\303#\300\207" [function-put treemacs--is-name-invalid\? pure t side-effect-free] 5) #@103 Get the project for the (nearest) project at point. Return nil when `treemacs-current-button' is nil. (defalias 'treemacs-project-at-point #[0 "\300\301 \302 \303\304$\211\205\305\306\"\262\211\205\307!\207" [text-property-not-all point-at-bol point-at-eol button nil copy-marker t treemacs-project-of-node] 5 (#$ . 47149)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs-project-at-point compiler-macro treemacs-project-at-point--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs-project-at-point--inliner #[257 "\3002\301\302\303CD\304\302DE0\207" [inline--just-use -when-let btn treemacs-current-button treemacs-project-of-node] 5 (#$ . 47656)]) #@190 Get the bounds a PROJECT in the current buffer. Returns a cons cell of buffer positions at the very start and end of the PROJECT, excluding newlines. PROJECT: Project Struct (fn PROJECT) (defalias 'treemacs--get-bounds-of-project #[257 "\212\302\303!>\203\304H\202 \305#b\210\306 \302\303!>\203'\304H\202( \305#\211\205]\307\310\"\311\312\313\"\206<d\314\"\211\203[\307\310\"W\203[\311\312\313\"\206Td\314\"\262\202>\262\262\211\203{\315\316T\313\"\206me!\312\313\"\206vd\262\202|dB\266\203)\207" [cl-struct-treemacs-project-tags treemacs--project-positions gethash type-of 2 nil point-at-bol get-text-property :depth next-button next-single-property-change button t previous-button previous-single-property-change] 9 (#$ . 47873) nil]) #@67 Correct treemacs buffers' content after the workspace was edited. (defalias 'treemacs--consolidate-projects #[0 "\211\205\312\211@\211\243\211\211\306H\307H\310!\203\301\211rq\210\311\312 \313 \314\315$\211\205,\316\317\"\262\211\2055\320!\262\321 \211\307H\315\211\322b\210\323\324 !\204\265\311\312 \313 \314\315$\211\205X\316\317\"\262\211\205a\325!\262C\262\315d\326\313 \327\"\211\262U\204\264\211b\210\311\312 \313 \314\315$\211\205\207\316\317\"\262\330\331\"\262\204g\311\312 \313 \314\315$\211\205\242\316\317\"\262\211\205\253\325!\262B\262\202g\210\211\203\351\211@\332\333!\n>\203\313\307H\202\314 \315#\330\334\"\335=\203\341B\262\336!\210\210A\266\202\202\266\210\211\203\237\211@\211\307H\315\307H\322\315\211\211\203N\211A\262\242\262\262\211\262\203N\307H\230\2065\337\211GSH\340=\2030\2023\341P\"\266\204\203A\315\262\203N\262\262T\262\202\376\266\211\262\266\202\204\230\211\307H\332\f\315#\211\342H\307H\211\203w\211\211\343\344\343H\"I\266\210\345\346\"\210\211\342\315I\266\211\343\315I\266\347\307H\f\"\210\344\"\262A\266\202\202\353\210\315\2113\350 \210\351!\210\322b\210\315\311\312 \313 \314\315$\211\205\300\316\317\"\262\330\327\"\235\203\317\352!\210\210d\326\313 \327\"\211\262U\204\211b\210\311\312 \313 \314\315$\211\205\360\316\317\"\262\330\327\"\235\203\377\352!\210\210\202\320\210)\203\242\315\321 \211\307H\262\322\315\211\211\203f\211A\262\242\262\262\211\262\203f\307H\230\206M\337\211GSH\340=\203H\202K\341P\"\266\204\203Y\315\262\203f\262\262T\262\202\266\211\262\262\203\242\353\315\"\211\203\2364\354=\203\217\355 \210\330`\356\"\242\357=\203\217\306u\210\360 \210\361 \211\203\235\362`\"\210\210\210\202\274\322b\2104\354=\203\274\355 \210\330`\356\"\242\357=\203\274\306u\210\360 \266*\266A\266\202\202\207" [treemacs--scope-storage treemacs-override-workspace cl-struct-treemacs-project-tags treemacs--project-positions treemacs-dom buffer-read-only 1 2 buffer-live-p text-property-not-all point-at-bol point-at-eol button nil copy-marker t treemacs--nearest-path treemacs-current-workspace 0 s-blank\? buffer-string treemacs-project-of-node next-single-char-property-change :project get-text-property :custom gethash type-of :state root-node-open treemacs--collapse-root-node s-starts-with\? 47 "/" 3 4 delete treemacs-walk-dom-exclusive #[257 "\301\302H\"\210\211\303H\211\211\304\305\304H\"I\266\211\306H\211\205+\211@\301\"\210A\266\202\202\207" [treemacs-dom remhash 1 2 3 delete 7] 9 "\n\n(fn IT)"] remhash erase-buffer treemacs--render-projects treemacs--expand-root-node treemacs-find-file-node treemacs-mode beginning-of-line display image hl-line-highlight get-buffer-window set-window-point treemacs--last-highlight major-mode] 29 (#$ . 48655)]) #@83 Display an inline validation MESSAGE in LINE when org-editing. (fn MESSAGE LINE) (defalias 'treemacs--org-edit-display-validation-msg #[514 "\212\211\302=\203\303b\210\203\304\202\305y\210\202'\303b\210\306\307\310\311\312BBB!!\210\313\314 \314 \"\315 \316\317\320\321\322#P#\210\323\324\325\326\327$)\207" [treemacs-show-edit-workspace-help treemacs--org-err-ov :start 0 4 2 search-forward-regexp rx-to-string seq bol (eol) make-overlay point-at-eol overlay-put after-string propertize " ← " face error add-hook after-change-functions treemacs--org-edit-remove-validation-msg nil :local] 9 (#$ . 51572)]) #@54 Remove the validation message overlay. (fn &rest _) (defalias 'treemacs--org-edit-remove-validation-msg #[128 "\203\301!\203\302!\210\303\304\305\306#\207" [treemacs--org-err-ov overlayp delete-overlay remove-hook after-change-functions treemacs--org-edit-remove-validation-msg :local] 5 (#$ . 52198)]) #@74 Find current project by calling `treemacs--find-user-project-functions'. (defalias 'treemacs--find-current-user-project #[0 "\3012!\211\205\211@\211 \211\203\302\301\"\210\210A\266\202\202\2620\207" [treemacs--find-user-project-functions --cl-block-__body__-- throw] 6 (#$ . 52515)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--find-current-user-project side-effect-free t] 4) #@78 Interactively select the workspace with the given NAME. (fn &optional NAME) (defalias 'treemacs--select-workspace-by-name #[256 "\301\302N\204\303 \210\304\301\302\305#\210\211\206\306\307\310\311\"\"\312\313\312\211\211\203S\211A\262\242\262\262\211\262\203S\314H\230\203F\312\262\203S\262\262T\262\202 \266\207" [treemacs--workspaces treemacs :state-is-restored treemacs--restore put t completing-read "Workspace: " mapcar #[257 "\211\300HB\207" [1] 3 "\n\n(fn IT)"] nil 0 1] 11 (#$ . 52928)]) #@275 Delete buffers depending on the value of WHICH. - When it is nil do nothing. - When it is `files' delete all buffers visiting files. - When it is `all' delete all buffers In any case treemacs itself, and the scratch and messages buffers will be left alive. (fn WHICH) (defalias 'treemacs--maybe-clean-buffers-on-workspace-switch #[257 "\211\205K\300\301!\302\303!\304\267\202\305\202\306\202\307\310 \211\205G\211@\311\312\"\313=\204@\211=\204@\211=\204@!\204@\314!\210A\266\202\202\262\266\203\207" [get-buffer-create "*scratch*" get-buffer "*Messages*" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (files 16 all 20)) #[257 "\300!?\207" [buffer-file-name] 3 "\n\n(fn B)"] #[257 "\300\207" [nil] 2 "\n\n(fn _)"] nil buffer-list buffer-local-value treemacs--in-this-buffer t kill-buffer] 9 (#$ . 53464)]) #@124 Find a workspace with the given NAME. The check is case-sensitive. nil is returned when no workspace is found. (fn NAME) (defalias 'treemacs-find-workspace-by-name #[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--workspaces nil 0 1] 10 (#$ . 54345)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-find-workspace-by-name side-effect-free t] 4) #@115 Find a workspace with a project containing the given PATH. nil is returned when no workspace is found. (fn PATH) (defalias 'treemacs-find-workspace-by-path #[257 "\301\302\301\211\211\203\225\211A\262\242\262\262\211\262\203\225\301\303H\302\301\211\211\203w\211A\262\242\262\262\211\262\203w\303H\230\206^\304\211GSH\305=\203Y\202\\\306P\"\266\204\203j\301\262\203w\262\262T\262\202'\266\211\262\266\202\203\210\301\262\203\225\262\262T\262\202\266\207" [treemacs--workspaces nil 0 2 s-starts-with\? 47 "/"] 22 (#$ . 54822)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-find-workspace-by-path side-effect-free t] 4) #@198 Find a workspace matching the given PREDICATE. Predicate should be a function that takes a `treemacs-workspace' as its single argument. nil is returned when no workspace is found. (fn PREDICATE) (defalias 'treemacs-find-workspace-where #[257 "\301\302\301\211\211\2037\211A\262\242\262\262\211\262\2037!\203*\301\262\2037\262\262T\262\202\266\207" [treemacs--workspaces nil 0] 9 (#$ . 55530)]) (provide 'treemacs-workspaces)