;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!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\207" [require s ht treemacs-core-utils treemacs-icons treemacs-async treemacs-customization treemacs-dom treemacs-workspaces treemacs-visuals treemacs-logging] 2) #@237 Marker pointing to position at the end of the last project. If there are no projects, points to the position at the end of any top level extensions positioned to `TOP'. This can always be used as the insertion point for new projects. (defvar treemacs--projects-end nil (#$ . 390)) (make-variable-buffer-local 'treemacs--projects-end) #@79 Value of `file-name-handler-alist' when treemacs loads a directory's content. (defvar treemacs--file-name-handler-alist nil (#$ . 732)) #@95 Set for non-interactive updates. When non-nil `treemacs--maybe-recenter' will have no effect. (defvar treemacs--no-recenter nil (#$ . 874)) #@51 Importable accessor for `treemacs--projects-end'. (defalias 'treemacs--projects-end #[0 "\207" [treemacs--projects-end] 1 (#$ . 1020)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--projects-end compiler-macro treemacs--projects-end--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--projects-end--inliner #[257 "\3002\3010\207" [inline--just-use treemacs--projects-end] 2 (#$ . 1326)]) #@170 Return the button at position POS in the current buffer, or nil. If the button at POS is a text property button, the return value is a marker pointing to POS. (fn POS) (defalias 'treemacs--button-at #[257 "\300\301\"\207" [copy-marker t] 4 (#$ . 1479)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--button-at compiler-macro treemacs--button-at--inliner side-effect-free t] 5) #@25 (fn INLINE--FORM POS) (defalias 'treemacs--button-at--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 "pos" copy-marker t macroexp-let*] 8 (#$ . 1898)]) #@53 Get the current screen line in the selected window. (defalias 'treemacs--current-screen-line #[0 "\300\301\302 \303 \"]\207" [1 count-screen-lines window-start point-at-eol] 4 (#$ . 2182)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--current-screen-line compiler-macro treemacs--current-screen-line--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--current-screen-line--inliner #[257 "\3002\301\302\303\304C\305CEE0\207" [inline--just-use max 1 count-screen-lines window-start point-at-eol] 6 (#$ . 2555)]) #@209 Determine the number of lines visible in the current (treemacs) window. A simple call to something like `window-screen-lines' is insufficient because the height of treemacs' icons must be taken into account. (defalias 'treemacs--lines-in-window #[0 "\301 \302 Z\303 ]\245\207" [treemacs--icon-size window-pixel-height window-mode-line-height frame-char-height] 3 (#$ . 2763)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--lines-in-window compiler-macro treemacs--lines-in-window--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--lines-in-window--inliner #[257 "\3002\301\302\303C\304CE\305\306\307CEE0\207" [inline--just-use / - window-pixel-height window-mode-line-height max treemacs--icon-size frame-char-height] 6 (#$ . 3316)]) #@54 Sort F1 and F2 alphabetically ascending. (fn F1 F2) (defalias 'treemacs--sort-alphabetic-asc #[514 "\231\207" [] 4 (#$ . 3568)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\301\306\305#\300\207" [function-put treemacs--sort-alphabetic-asc compiler-macro treemacs--sort-alphabetic-asc--inliner pure t side-effect-free] 6) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-alphabetic-asc--inliner #[771 "\3002O\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305E=\2030\211\266\203\2029\306DC\"\266\203=\203E\211\266\203\202N\306DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" string-lessp macroexp-let*] 11 (#$ . 3905)]) #@55 Sort F1 and F2 alphabetically descending. (fn F1 F2) (defalias 'treemacs--sort-alphabetic-desc #[514 "\211\231\207" [] 4 (#$ . 4276)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\301\306\305#\300\207" [function-put treemacs--sort-alphabetic-desc compiler-macro treemacs--sort-alphabetic-desc--inliner pure t side-effect-free] 6) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-alphabetic-desc--inliner #[771 "\3002O\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305E=\2030\211\266\203\2029\306DC\"\266\203=\203E\211\266\203\202N\306DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" string-lessp macroexp-let*] 11 (#$ . 4620)]) #@71 Sort F1 and F2 case insensitive alphabetically ascending. (fn F1 F2) (defalias 'treemacs--sort-alphabetic-case-insensitive-asc #[514 "\227\227\231\207" [] 4 (#$ . 4992)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\301\306\305#\300\207" [function-put treemacs--sort-alphabetic-case-insensitive-asc compiler-macro treemacs--sort-alphabetic-case-insensitive-asc--inliner pure t side-effect-free] 6) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-alphabetic-case-insensitive-asc--inliner #[771 "\3002S\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306D\306DE=\2034\211\266\203\202=\307DC\"\266\203=\203I\211\266\203\202R\307DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" string-lessp downcase macroexp-let*] 11 (#$ . 5405)]) #@72 Sort F1 and F2 case insensitive alphabetically descending. (fn F1 F2) (defalias 'treemacs--sort-alphabetic-case-insensitive-desc #[514 "\211\227\227\231\207" [] 4 (#$ . 5812)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\301\306\305#\300\207" [function-put treemacs--sort-alphabetic-case-insensitive-desc compiler-macro treemacs--sort-alphabetic-case-insensitive-desc--inliner pure t side-effect-free] 6) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-alphabetic-case-insensitive-desc--inliner #[771 "\3002S\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306D\306DE=\2034\211\266\203\202=\307DC\"\266\203=\203I\211\266\203\202R\307DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" string-lessp downcase macroexp-let*] 11 (#$ . 6232)]) #@47 Sort F1 and F2 by size ascending. (fn F1 F2) (defalias 'treemacs--sort-size-asc #[514 "\300\301!8\300\301!8W\207" [7 file-attributes] 6 (#$ . 6640)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--sort-size-asc compiler-macro treemacs--sort-size-asc--inliner side-effect-free t] 5) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-size-asc--inliner #[771 "\3002Z\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306\307\310DE\306\307\310DEE=\203;\211\266\203\202D\311DC\"\266\203=\203P\211\266\203\202Y\311DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" < nth 7 file-attributes macroexp-let*] 13 (#$ . 6964)]) #@48 Sort F1 and F2 by size descending. (fn F1 F2) (defalias 'treemacs--sort-size-desc #[514 "\300\301!8\300\301!8Y\207" [7 file-attributes] 6 (#$ . 7369)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--sort-size-desc compiler-macro treemacs--sort-size-desc--inliner side-effect-free t] 5) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-size-desc--inliner #[771 "\3002Z\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306\307\310DE\306\307\310DEE=\203;\211\266\203\202D\311DC\"\266\203=\203P\211\266\203\202Y\311DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" >= nth 7 file-attributes macroexp-let*] 13 (#$ . 7697)]) #@60 Sort F1 and F2 by modification time ascending. (fn F1 F2) (defalias 'treemacs--sort-mod-time-asc #[514 "\300\"\207" [file-newer-than-file-p] 5 (#$ . 8104)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--sort-mod-time-asc compiler-macro treemacs--sort-mod-time-asc--inliner side-effect-free t] 5) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-mod-time-asc--inliner #[771 "\3002O\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305E=\2030\211\266\203\2029\306DC\"\266\203=\203E\211\266\203\202N\306DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" file-newer-than-file-p macroexp-let*] 11 (#$ . 8443)]) #@61 Sort F1 and F2 by modification time descending. (fn F1 F2) (defalias 'treemacs--sort-mod-time-desc #[514 "\300\"\207" [file-newer-than-file-p] 5 (#$ . 8822)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--sort-mod-time-desc compiler-macro treemacs--sort-mod-time-desc--inliner side-effect-free t] 5) #@27 (fn INLINE--FORM F1 F2) (defalias 'treemacs--sort-mod-time-desc--inliner #[771 "\3002O\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305E=\2030\211\266\203\2029\306DC\"\266\203=\203E\211\266\203\202N\306DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "f1" "f2" file-newer-than-file-p macroexp-let*] 11 (#$ . 9165)]) #@75 Insert a root-level separator at point, moving point after the separator. (defalias 'treemacs--insert-root-separator #[0 "\203\301\202 \302c\207" [treemacs-space-between-root-nodes "\n\n" "\n"] 1 (#$ . 9545)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--insert-root-separator compiler-macro treemacs--insert-root-separator--inliner] 4) #@21 (fn INLINE--FORM) (defalias 'treemacs--insert-root-separator--inliner #[257 "\3002\f\301\302\303\304\305FD0\207" [inline--just-use insert if treemacs-space-between-root-nodes "\n\n" "\n"] 6 (#$ . 9910)]) (defalias 'treemacs--get-sort-fuction #[0 "\301\267\202\302\207\303\207\304\207\305\207\306\207\307\207\310\207\311\207\207" [treemacs-sorting #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 6 alphabetic-desc 8 alphabetic-case-insensitive-asc 10 alphabetic-case-insensitive-desc 12 size-asc 14 size-desc 16 mod-time-asc 18 mod-time-desc 20)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc] 2]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--get-sort-fuction compiler-macro treemacs--get-sort-fuction--inliner side-effect-free t] 5) #@21 (fn INLINE--FORM) (defalias 'treemacs--get-sort-fuction--inliner #[257 "\3002D\301\302\303\304D\305\306DD\303\307D\305\310DD\303\311D\305\312DD\303\313D\305\314DD\303\315D\305\316DD\303\317D\305\320DD\303\321D\305\322DD\303\323D\305\324DD\325\211D\257 0\207" [inline--just-use pcase treemacs-sorting quote alphabetic-asc function treemacs--sort-alphabetic-asc alphabetic-desc treemacs--sort-alphabetic-desc alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-asc alphabetic-case-insensitive-desc treemacs--sort-alphabetic-case-insensitive-desc size-asc treemacs--sort-size-asc size-desc treemacs--sort-size-desc mod-time-asc treemacs--sort-mod-time-asc mod-time-desc treemacs--sort-mod-time-desc other] 13 (#$ . 10960)]) #@87 Get the content of DIR, separated into sub-lists of first dirs, then files. (fn DIR) (defalias 'treemacs--get-dir-content #[257 "\303\304\305\"r\211q\210\306\307\"\216\n\310\267\2025\311\2029\312\2029\313\2029\314\2029\315\2029\316\2029\317\2029\320\2029\n\211\262\321\322\323\324\325$!\326\327\"\330@\"\330A@\")D\266\203*\207" [treemacs--file-name-handler-alist file-name-handler-alist treemacs-sorting generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 21 alphabetic-desc 25 alphabetic-case-insensitive-asc 29 alphabetic-case-insensitive-desc 33 size-asc 37 size-desc 41 mod-time-asc 45 mod-time-desc 49)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc treemacs--filter-files-to-be-shown directory-files :absolute-names nil :no-sort -separate file-directory-p sort] 9 (#$ . 11713)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--get-dir-content compiler-macro treemacs--get-dir-content--inliner] 4) #@25 (fn INLINE--FORM DIR) (defalias 'treemacs--get-dir-content--inliner #[514 "\3002W\211\301!\203\211\202\302\303!\304\305\306\307D\310\311CD\312\313\314\315\316\317F\320CFD\321\322\323\324D\312EDF\325\326\327\321D\310E\326\330\321D\310EEED=\203M\211\266\203\202V\331DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "dir" with-temp-buffer let* file-name-handler-alist treemacs--file-name-handler-alist sort-func treemacs--get-sort-fuction entries -> directory-files :absolute-names nil :no-sort treemacs--filter-files-to-be-shown dirs-files -separate function file-directory-p list sort car cadr macroexp-let*] 15 (#$ . 13034)]) #@265 Return the text to insert for a directory button for PATH. PREFIX is a string inserted as indentation. PARENT is the (optional) button under which this one is inserted. DEPTH indicates how deep in the filetree the current button is. (fn PATH PREFIX PARENT DEPTH) (defalias 'treemacs--create-dir-button-strings #[1028 "\301\302!!\303\304\305\306\307\310\311\310\312\313\314\315\316\317\320\321!\322\323&D\207" [treemacs-directory-name-transformer propertize file-name-nondirectory button (t) category default-button help-echo nil keymap :default-face treemacs-directory-face :state dir-node-closed :path :key :symlink file-symlink-p :parent :depth] 29 (#$ . 13704)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--create-dir-button-strings compiler-macro treemacs--create-dir-button-strings--inliner] 4) #@46 (fn INLINE--FORM PATH PREFIX PARENT DEPTH) (defalias 'treemacs--create-dir-button-strings--inliner #[1285 "\3002\316\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\301!\203+\211\202.\302\305!\301!\203:\211\202=\302\306!\307\310\311\n\312\313\314DF\315\316D\315\317CD\315\320D\315\321D\315\322D\323\315\324D\323\325\315\326D\327\315\330D\331\332\333\334D\335\336\257E=\203\205\211\266\203\202\216\337DC\"\266\203=\203\232\211\266\203\202\243\337DC\"\266\203=\203\257\211\266\203\202\270\337DC\"\266\203=\203\304\211\266\203\202\315\337DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" "prefix" "parent" "depth" list propertize ->> file-name-nondirectory funcall treemacs-directory-name-transformer quote button t category default-button help-echo nil keymap :default-face treemacs-directory-face :state dir-node-closed :path :key :symlink file-symlink-p :parent :depth macroexp-let*] 39 (#$ . 14545)]) #@260 Return the text to insert for a file button for PATH. PREFIX is a string inserted as indentation. PARENT is the (optional) button under which this one is inserted. DEPTH indicates how deep in the filetree the current button is. (fn PATH PREFIX PARENT DEPTH) (defalias 'treemacs--create-file-button-strings #[1028 "\304\305!!\227\306\307#\206%\306\310 \"\203!\311\224T\307O\202\"\n#\262\312 \304!!\313\314\315\316\317\307\320\307\321\322\323\324\325\326\327\330&E\207" [treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer file-name-nondirectory directory-file-name gethash nil string-match 0 propertize button (t) category default-button help-echo keymap :default-face treemacs-git-unmodified-face :state file-node-closed :path :key :parent :depth] 28 (#$ . 15549)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--create-file-button-strings compiler-macro treemacs--create-file-button-strings--inliner] 4) #@46 (fn INLINE--FORM PATH PREFIX PARENT DEPTH) (defalias 'treemacs--create-file-button-strings--inliner #[1285 "\3002\315\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\301!\203+\211\202.\302\305!\301!\203:\211\202=\302\306!\307\310 D\311\312 \313\314\315DF\316\317D\316\320CD\316\321D\316\322D\316\323D\324\316\325D\324\326\316\327D\330\316\331D\332\333\334\335\257F=\203\204\211\266\203\202\215\336DC\"\266\203=\203\231\211\266\203\202\242\336DC\"\266\203=\203\256\211\266\203\202\267\336DC\"\266\203=\203\303\211\266\203\202\314\336DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" "prefix" "parent" "depth" list treemacs-icon-for-file propertize ->> file-name-nondirectory funcall treemacs-file-name-transformer quote button t category default-button help-echo nil keymap :default-face treemacs-git-unmodified-face :state file-node-closed :path :key :parent :depth macroexp-let*] 38 (#$ . 16548)]) #@435 Building block macro to open a BUTTON. Gives the button a NEW-STATE, and, optionally, a NEW-ICON. Performs OPEN-ACTION and, optionally, POST-OPEN-ACTION. If IMMEDIATE-INSERT is non-nil it will concat and apply `insert' on the items returned from OPEN-ACTION. If it is nil either OPEN-ACTION or POST-OPEN-ACTION are expected to take over insertion. (fn &key BUTTON NEW-STATE NEW-ICON OPEN-ACTION POST-OPEN-ACTION IMMEDIATE-INSERT) (defalias 'treemacs--button-open '(macro . #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\307\310\311\312\313\314 \315\fF\316\n\205=\317\320\fDD\321\322DDC \203V\323\324\325\326EDDC\202Y C\327\f\330BB$BBED\331BB\207" [plist-member :button :new-state :new-icon :open-action :post-open-action :immediate-insert prog1 save-excursion let ((p (point)) lines) treemacs-with-writable-buffer treemacs-button-put :state append (beginning-of-line) treemacs--button-symbol-switch goto-char treemacs-button-end progn insert apply #'concat (setf lines (count-lines p (point))) (lines) ((when treemacs-move-forward-on-expand (let* ((parent (treemacs-current-button)) (child (next-button parent))) (when (equal parent (treemacs-button-get child :parent)) (forward-line 1)))))] 21 (#$ . 17548)])) #@608 Building block macro for creating buttons from a list of NODES. Will not making any insertions, but instead return a list of strings created by NODE-ACTION, so that the list can be further manipulated and efficiently inserted in one go. NODES is the list to create buttons from. DEPTH is the indentation level buttons will be created on. EXTRA-VARS are additional var bindings inserted into the initial let block. NODE-ACTION is the button creating form inserted for every NODE. NODE-NAME is the variable individual nodes are bound to in NODE-ACTION. (fn &key NODES NODE-ACTION DEPTH EXTRA-VARS NODE-NAME) (defalias 'treemacs--create-buttons '(macro . #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\306\307D\310\311 DD\312BBBB\313\314\nD\315\n\316BBEE\317BBB\207" [plist-member :nodes :node-action :depth :extra-vars :node-name let* depth (prefix (concat "\n" (treemacs--get-indentation depth))) car (strings) when dolist --each ((push it strings)) ((nreverse strings))] 15 (#$ . 18824)])) #@756 Display DIRS as flattened. Go to each dir button, expand its label with the collapsed dirs, set its new path and give it a special parent-path property so opening it will add the correct cache entries. DIRS: List of Collapse Paths. Each Collapse Path is a list of 1) the extra text that must be appended in the view, 2) The original full and un-collapsed path, 3) a series of intermediate steps which are the result of appending the collapsed path elements onto the original, ending in 4) the full path to the directory that the collapsing leads to. For Example: ("/26.0/elpa" "/home/a/Documents/git/treemacs/.cask" "/home/a/Documents/git/treemacs/.cask/26.0" "/home/a/Documents/git/treemacs/.cask/26.0/elpa") (fn DIRS) (defalias 'treemacs--flatten-dirs #[257 "\211\205J\211@A@\211\306\307 \310!>\204\311\312\313D\"\210\211\314H\262\315\306\211\211\203\203\211A\262\242\262\262\211\262\203\203\310! >\204M\311\312\316D\"\210\314H\230\206j\317\211GSH\320=\203e\202h\321P\"\266\204\203v\306\262\203\203\262\262T\262\202$\266\211\262\262\262\211\205F\211@\211@A@AA\322!G\323 \"\211\203=\n\203c\324 \306#\211\203\310p@>\204\375\211p@B\240\266\202\376\3251\342\306\326pC\327\n\330\331#B #\2100\266\202\376\332\333!\306\334\335#)\266\203?\205\373\311@A\"\266\210\211\203b\211@\326\334 #\210\324 \306#\211\203&p@>\204Z\211p@B\240\266\202[\3361?\306\326pC\327\337\331#B #\2100\266\202[\332\333!\306\334\335#)\266\203?\205X\311@A\"\266\210A\266\202\202\377\210\324.\306#\211\203~\211@\326.#\210A\266\202\202j\210\211\211\340I\266\341\342T\343\"\206\221e!\344\342T\343\"\206\234e\345\343\"\206\244d\346$\210\347\350\"\206\353\306\315\306\211\211\203\346\211A\262\242\262\262\211\262\203\346\351!\203\331\306\262\203\346\262\262T\262\202\266\266\211\262\344\342T\343\"\206\365e\345\343\"\206\375d\350$\266BB\344\342T\343\"\206e\345\343\"\206d\352$\266\306\210`c\210\353`#\210/\354>\204;\353`\355#\210\266\266A\266\202\202\215\262\262\207" [cl-struct-treemacs-workspace-tags cl-struct-treemacs-project-tags treemacs-filewatch-mode treemacs--filewatch-index inhibit-changing-match-data treemacs--collapsed-filewatch-index nil treemacs-current-workspace type-of signal wrong-type-argument treemacs-workspace 2 0 treemacs-project s-starts-with\? 47 "/" -last-item treemacs-find-file-node gethash (debug file-notify-error) puthash file-notify-add-watch (change) treemacs--filewatch-callback "No file notification program found" error-message-string t string-match (debug file-notify-error) (change) 7 text-properties-at previous-single-property-change button put-text-property next-single-property-change :path get-text-property :symlink file-symlink-p :collapsed add-text-properties (deferred extended) (face treemacs-directory-collapsed-face) treemacs-dom treemacs-git-mode] 21 (#$ . 19857)]) #@130 Unrolled in-place mapping operation. Maps ITEMS at given index INTERVAL using MAPPER function. (fn ITEMS INTERVAL &rest MAPPER) (defalias 'treemacs--inplace-map-when-unrolled '(macro . #[642 "\300\301!\302\267\202\303\202\304\202\305\202\306\307\"\202\310\311DC\312\313DE\311\314\315 DDC BBFE\207" [make-symbol "list" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (2 9 3 13 4 17 _ 21)) cdr cddr cdddr error "Interval %s is not handled yet" nil let while setq it pop] 14 (#$ . 22866)])) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--inplace-map-when-unrolled lisp-indent-function 2] 4) #@341 Create a new treemacs branch under ROOT. The branch is indented at DEPTH and uses the eventual outputs of GIT-FUTURE to decide on file buttons' faces and COLLAPSE-PROCESS to determine which directories should be displayed as one. The buttons' parent property is set to PARENT. (fn ROOT DEPTH GIT-FUTURE COLLAPSE-PROCESS &optional PARENT) (defalias 'treemacs--create-branch #[1284 "\212\306\307\310\"r\211q\210\311\312\"\216\n\313\267\2026\314\202:\315\202:\316\202:\317\202:\320\202:\321\202:\322\202:\323\202:\n\211\262\324\325\326\327\330$!\331\332\"\333@\"\333A@\")D\266\203*\262\211@A@\334 \327#\335\311\336\"\"\335\311\337\"\"\327\211\211\211\340\244 \340H\244I\266\340H\211\203\235\211@\341\342H #\210A\266\202\202\210\210\f\343\fGY\204\270 @@=\203\270 AA=\204\274\344!\210\fHP @\327BP\203%\f\211\203$\211@\345C\346!!\347\350\351\352\353\327\354\327\355\356\357\360\361\362\363\364!\365&\366&D\367\327\211\203\211A\262\242\262\262T\262B\262\202\377\266A\266\202\202\316\210\237\266\205\262\f\343\fGY\204E @@=\203E AA=\204I\344!\210\fHP@\327\203\322\n\211\203\321\211@\346\370!!\227\334D\327#\206\205\334\371E\"\203\367\224T\327O\202\200DF#\262\345G\346!!\347\372\351\352\353\327\354\327\355\373\357\374\361\362\365$\366&E\367\327\211\203\310\211A\262\242\262\262T\262B\262\202\254\266A\266\202\202W\210\211\237\266\204\262\327\210H\375\267\202S \203 \376\f\377\"\211\203\364\211\202\201K !\201L\377#\210\211\262\262\202\201M\201N\201O\"\211\262\262\341I#\210\202b\334I\327#\206<\201M\201N\201O\"\211\262\262\201P\201Q\327\201R p&\210\202b\201M\201N\201O\"\211\262\262J\203>\327\203\322@A@AA@\201SQ\327J\367\327\211\211\203\262\211A\262\242\262\262\211\262\203\262\"\211\262\204\262\262\262T\262\202\203\266\211\262\203\277\266\202\311BBB\266\205AAA\262\202h\211\237\262\210\327\203:@A@\201SQ\327J\367\327\211\211\203\211A\262\242\262\262\211\262\203\"\211\262\204\262\262T\262\202\357\266\211\262\203+\266\2022BB\266\204AA\262\202\330\211\237\266\202\211\211\203\234\211A\262\211A\262\242\201T\367G\201U\201SQ\334 \327#\211\201V\267\202\220\201W\202\221\201X\202\221\201Y\202\221\201Z\202\221\201[\202\221\201\\\202\221\356\262\262%\266\202?\210\201]\201^\"c\210\327\210\211\203 \211AA\262\211A\262\242\201T\367G\201U\201SQ\334 \327#\211\201_\267\202\375\201W\202\376\201X\202\376\201Y\202\376\201Z\202\376\201[\202\376\201\\\202\376\373\262\262%\266\202\253\210\201]\201^\"c\210\212\201`\201a\f!!\210\201b \"\210)\201c \266\211)\207" [treemacs--file-name-handler-alist file-name-handler-alist treemacs-sorting treemacs-dom treemacs--indentation-string-cache treemacs--indentation-string-cache-key generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 22 alphabetic-desc 26 alphabetic-case-insensitive-asc 30 alphabetic-case-insensitive-desc 34 size-asc 38 size-desc 42 mod-time-asc 46 mod-time-desc 50)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc treemacs--filter-files-to-be-shown directory-files :absolute-names nil :no-sort -separate file-directory-p sort gethash mapcar #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] 3 puthash 1 "\n" treemacs--build-indentation-cache propertize file-name-nondirectory button (t) category default-button help-echo keymap :default-face treemacs-directory-face :state dir-node-closed :path :key :symlink file-symlink-p :parent :depth 0 directory-file-name string-match (t) treemacs-git-unmodified-face file-node-closed #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (extended 482 simple 482 deferred 549)) process-get git-table treemacs-indentation treemacs-indentation-string treemacs-icon-dir-closed treemacs-directory-name-transformer treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer treemacs-git-mode treemacs--git-cache treemacs-pre-file-insert-predicates treemacs--git-status-parse-function process-put make-hash-table :test equal run-with-timer 0.5 treemacs--apply-deferred-git-state "/" put-text-property face #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1="M" 876 #2="U" 882 #3="?" 888 #4="!" 894 #5="A" 900 #6="R" 906)) treemacs-git-modified-face treemacs-git-conflict-face treemacs-git-untracked-face treemacs-git-ignored-face treemacs-git-added-face treemacs-git-renamed-face apply concat #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1# 985 #2# 991 #3# 997 #4# 1003 #5# 1009 #6# 1015)) treemacs--flatten-dirs treemacs--parse-collapsed-dirs treemacs--reentry point-at-eol] 46 (#$ . 23539)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--create-branch compiler-macro treemacs--create-branch--inliner] 4) #@77 (fn INLINE--FORM ROOT DEPTH GIT-FUTURE COLLAPSE-PROCESS &optional PARENT) (defalias 'treemacs--create-branch--inliner #[1541 "\3002\370\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\301!\203,\211\202/\302\305!\301!\203;\211\202>\302\306!\301!\203J\211\202M\302\307!\310\311\312\313\fDD\314\315\312DD\316\317\312DD\320\321DD\322\323\324\325\320\326\327\257\314ED\330\323\324\325\320\326\327\257\316ED\331C\332C\333C\257 \334\335\320D\336\322\330\335\320DFE\337\327\335\320DD\340\327DE\341\333\342\343\314\344\345\346\347\350EDC\351\352\353\354\355\353\345\257\257 E\341\332\342\343\316\351\352\353\354\356\353\347\257\257 E\357C\360\361\362\363\364D\363\365DE\334\331\366DE\367\370\331FE\363\371D\341\331\362\372\370E\373CEE\374\375\376\377\201@D\201AC\257E\201B\341\331\373CED\257\201C\201D\201E\201F\201G\332\311\347\315\332DD\201H\317\332DD\201I\201J\332DD\201K\346\201L\201IFDF\201M\201N\201O\327\201K\331F\201DE\341\201P\201Q\201I\201Q\201H\201Q\347\201PEEEEEE\341\332\201R\332DEF\341\332\201S\201PDEF\201E\201T\201G\333\311\347\315\333DD\201U\317\333DD\201V\346\201L\201UFDE\201M\201N\201O\327\201V\331F\201DE\341\201P\201Q\201U\201Q\347\201PEEEEE\341\333\201W\333DEF\341\333\201S\201PDEFF\201X\333\201Y\201Z\201[\201\\\327D\363\201]D\201^\346\201L\327F\331\363\201_DF\327\257F\201`\201a\377\346D\333ED\357C\201X\332\201b\201Z\201[\201\\\327D\363\201]D\201^\346\201L\327F\331\363\201cDF\327\257F\201`\201a\377\346D\332ED\310\201d\201eDD\201fEE\201gC\257D=\203\220\211\266\203\202\233\201hDC\"\266\203=\203\247\211\266\203\202\262\201hDC\"\266\203=\203\276\211\266\203\202\311\201hDC\"\266\203=\203\325\211\266\203\202\340\201hDC\"\266\203=\203\354\211\266\203\202\367\201hDC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "root" "depth" "git-future" "collapse-process" "parent" save-excursion let* dirs-and-files treemacs--get-dir-content dirs car files cadr parent-node treemacs-find-in-dom dir-dom-nodes --map treemacs-dom-node->create! :parent :key it file-dom-nodes git-info file-strings dir-strings setf treemacs-dom-node->children nconc dolist treemacs-dom-node->insert-into-dom! setq treemacs--create-buttons :nodes :extra-vars dir-prefix concat prefix treemacs-icon-dir-closed :depth :node-name node :node-action treemacs--create-dir-button-strings treemacs--create-file-button-strings end-of-line pcase treemacs-git-mode or quote simple extended treemacs--get-or-parse-git-result ht-set! treemacs--git-cache deferred ht-get ht run-with-timer 0.5 nil function treemacs--apply-deferred-git-state current-buffer _ when treemacs-pre-file-insert-predicates -let [result nil] while icon filename caddr filepath "/" unless --any\? funcall result cons cdddr nreverse [result nil] dirname dirpath cddr treemacs--inplace-map-when-unrolled 2 put-text-property 0 length face treemacs--get-node-face treemacs-directory-face insert apply 3 treemacs-git-unmodified-face treemacs--flatten-dirs treemacs--parse-collapsed-dirs treemacs--reentry point-at-eol macroexp-let*] 44 (#$ . 29107)]) #@183 Close node given by BUTTON, use NEW-ICON and BUTTON's state to NEW-STATE. Run POST-CLOSE-ACTION after everything else is done. (fn &key BUTTON NEW-ICON NEW-STATE POST-CLOSE-ACTION) (defalias 'treemacs--button-close '(macro . #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305\306\307\205$\310DC\311\312F\313\314\315\316\317\320\321\322\323BBD\324BBE\325\326\327\330DD\331\332DD\333BB\334BBFEE\"BD\207" [plist-member :button :new-icon :new-state :post-close-action save-excursion treemacs-with-writable-buffer append treemacs--button-symbol-switch treemacs-button-put :state -let [next (next-button (point-at-eol))] if or (null next) /= 1+ treemacs-button-get (:depth) ((treemacs-button-get (copy-marker next t) :depth)) (delete-trailing-whitespace) let* pos-start treemacs-button-end next treemacs--next-non-child-button ((pos-end (if next (-> next (treemacs-button-start) (previous-button) (treemacs-button-end)) (point-max)))) ((delete-region pos-start pos-end))] 20 (#$ . 32319)])) #@149 Expand the given root BTN. Open every child-directory as well when RECURSIVE is non-nil. BTN: Button RECURSIVE: Bool (fn BTN &optional RECURSIVE) (defalias 'treemacs--expand-root-node #[513 "\306\307\"\310\311! >\204\312\313\314D\"\210\211\315H\316\311! >\204(\312\313\314D\"\210\317H!=\204\312\311! >\204A\312\313\314D\"\210\211\315I\266\320\311! >\203g\311! >\204a\312\313\314D\"\210\317H\202h\n\310#\311! >\204{\312\313\314D\"\210\317H\311! >\204\216\312\313\314D\"\210\315H\321>\203\260\322!\323\324T\325\"\206\243e\326\325\"\206\253d\327$\266\330!\323\324T\325\"\206\275e\326\325\"\206\305d\331$\266\266)\311! >\204\334\312\313\314D\"\210\211\315H\332>\203/\333\334\335\311! >\204\367\312\313\314D\"\210\317H\331\336#\"C\211\203& :\204 \fC\310 \204!\337\340\335\341\331\342#\333\343\333\"!#\210\344\345\346\"\210@\205.\347\350!\207\306\351\"\306\327\"\203@\352!\202A\211\353\"\354\"\355A\212`\310\211\323\324\fT\325\"\206\\e\326 \325\"\206ed\356\357$\210\360 \210\212BG\361\362 \363\"\324T\325\"\206~e\262Zb\210Bc\210\364!\266)\326 \325\"\206\227db\210\320C\310#\211\203\341\211\211\365I\266\211\366H\211\203\311\211@\320C\310#\211\365I\266A\266\202\202\257\210\211\317H\211\203\334\211\211\367\367HBI\266\266\202\372\370\371\n\310\211\211\310\211&\262\372\373HC#\266\374 \n\"\210\306 \375\"T\212\376\377\363\"r\211q\210\201W\201X\"\216DEF\201Y\267\202V\201Z\202[\201[\202[\201\\\202[\201]\202[\201^\202[\201_\202[\201`\202[\201a\202[F\211\262\201b\201c\f\201d\310\201e$!\201f\201g\"\201h@\"\201hA@\")D\266\203*\262\211@A@\320\fC\310#\201i\201W\201j\"\"\201i\201W\201k\"\"\310\211\211\211\315\244 \315H\244I\266\315H\211\203\334\211@\372\373HC#\210A\266\202\202\306\210 \201lGGY\204\374H@I=\203\374HAJ=\204\201m!\210GHP @\310KP\203\204\f\211\203\203\211@\335L\201n!!\325\201o\201p\201q\201r\310\201s\310\201t\201u\356\201v\351\201w\327\322!\201x1\375(&D\201y\310\211\203z\211A\262\242\262\262T\262B\262\202^\266A\266\202\202\210\237\266\205\262 \201lGGY\204\251H@I=\203\251HAJ=\204\257\201m!\210GHP@\310\203Y\n\211\203X\211@\201n\201z!!\227\320M\310#\206\364\320\201{N\"\203\356\201y\224T\310O\202\357MO#\262\335P\201n!!\325\201|\201p\201q\201r\310\201s\310\201t\201}\356\201~\351\201w\201x/\375&&E\201y\310\211\203O\211A\262\242\262\262T\262B\262\2023\266A\266\202\202\276\210\211\237\266\204\262\310\210Q\201\267\202\342\203\232\201\200\201\201\"\211\203\201\211\202\225\201\202!\201\203\201\201#\210\211\262\262\202\247\201\204\201\205\201\206\"\211\262\262\372R#\210\202\361\320R\310#\206\313\201\204\201\205\201\206\"\211\262\262\201\207\201\210\310\201\211p&\210\202\361\201\204\201\205\201\206\"\211\262\262S\203\321\310\203c@A@AA@\201\212Q\310S\201y\310\211\211\203C\211A\262\242\262\262\211\262\203C\"\211\262\204C\262\262T\262\202\266\211\262\203P\266\202ZBBB\266\205AAA\262\202\367\211\237\262\210\310\203\315@A@\201\212Q\310S\201y\310\211\211\203\261\211A\262\242\262\262\211\262\203\261\"\211\262\204\261\262\262T\262\202\202\266\211\262\203\276\266\202\305BB\266\204AA\262\202i\211\237\266\202\211\211\203/\211A\262\211A\262\242\323\201yG\331\201\212Q\320 \310#\211\201\213\267\202!\201\214\202$\201\215\202$\201\216\202$\201\217\202$\201\220\202$\201\221\202$\201u\262\262%\266\202\322\210\343\201\222\"c\210\310\210\211\203\232\211AA\262\211A\262\242\323\201yG\331\201\212Q\320 \310#\211\201\223\267\202\214\201\214\202\217\201\215\202\217\201\216\202\217\201\217\202\217\201\220\202\217\201\221\202\217\201}\262\262%\266\202<\210\343\201\222\"c\210\212\201\224\201\225!!\210\201\226\"\210)\201\227 \266\211)\262b\210\201\230 \n\"\210\320T\310#\211\203\352p@>\204/\211p@B\240\266\2020\201\2311 \310\372\npC\201\232 \201\233\201\234#BT#\2100\266\2020\201\235\201\236!\310\363U\201{#)\266\203?\205-\312@A\"\266\210\310\311 ! >\204C\312\313\314 D\"\210\315H\316\311 ! >\204Y\312\313\314 D\"\210\n\317H!=\204\n\311 ! >\204u\312\313\314 D\"\210\n\211\315I\266\320\311\f! >\203\237\311\f! >\204\230\312\313\314D\"\210 \317H\202\241 \n\310#\311\f! >\204\265\312\313\314D\"\210 \317H\311 ! >\204\312\312\313\314D\"\210\f\315H\201\237>\203\357\322!\323\324T\325\"\206\342e\326\325\"\206\352d\327$\266\330 !\323\324T\325\"\206\375e\326\325\"\206d\331$\266\266) \203v\311 ! >\204#\312\313\314 D\"\210\315H\201\240>\203v\201\241 !\201y\310\211\203t\211A\262\242\262\262T\262\306\356\"\201v=\2039\324T\325\"\206`eb\210\201\242\201\243\f\201\244\363%\210\2029\266\201\245`\"\262)\262)V\203\262\201\246\362 \201\227 \325\310$\211\205\235\201\247\363\"\262\361!\306\201x\"\232\203\260\373y\210\266\"\207" [buffer-read-only cl-struct-treemacs-project-tags treemacs--project-positions treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages get-text-property :project nil type-of signal wrong-type-argument treemacs-project 3 treemacs--get-path-status 2 gethash (local-readable remote-readable) file-symlink-p put-text-property previous-single-property-change button next-single-property-change :symlink treemacs--root-face face (local-unreadable remote-unreadable extension) format "%s is not readable." propertize font-lock-string-face message "%s %s" "[Treemacs]" ((:inherit warning :weight bold)) apply add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs--do-pulse treemacs-on-failure-pulse-face :path file-truename treemacs--git-status-process treemacs--collapsed-dirs-process treemacs--maybe-recenter :state root-node-open beginning-of-line next-button point-at-bol t delete-char 5 7 4 record treemacs-dom-node puthash 1 treemacs--apply-project-top-extensions :depth generate-new-buffer " *temp*" treemacs-pulse-on-failure treemacs-recenter-after-project-expand treemacs-icon-root-open treemacs-dom treemacs--file-name-handler-alist file-name-handler-alist treemacs-sorting treemacs--indentation-string-cache treemacs--indentation-string-cache-key treemacs-indentation treemacs-indentation-string treemacs-icon-dir-closed treemacs-directory-name-transformer treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer treemacs-git-mode treemacs--git-cache treemacs-pre-file-insert-predicates treemacs--filewatch-index inhibit-changing-match-data treemacs-move-forward-on-expand make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 550 alphabetic-desc 556 alphabetic-case-insensitive-asc 562 alphabetic-case-insensitive-desc 568 size-asc 574 size-desc 580 mod-time-asc 586 mod-time-desc 592)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc treemacs--filter-files-to-be-shown directory-files :absolute-names :no-sort -separate file-directory-p sort mapcar #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] "\n" treemacs--build-indentation-cache file-name-nondirectory (t) category default-button help-echo keymap :default-face treemacs-directory-face dir-node-closed :key :parent 0 directory-file-name string-match (t) treemacs-git-unmodified-face file-node-closed #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (extended 1131 simple 1131 deferred 1204)) process-get git-table treemacs--git-status-parse-function process-put make-hash-table :test equal run-with-timer 0.5 treemacs--apply-deferred-git-state "/" #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1="M" 1533 #2="U" 1539 #3="?" 1545 #4="!" 1551 #5="A" 1557 #6="R" 1563)) treemacs-git-modified-face treemacs-git-conflict-face treemacs-git-untracked-face treemacs-git-ignored-face treemacs-git-added-face treemacs-git-renamed-face concat #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1# 1640 #2# 1646 #3# 1652 #4# 1658 #5# 1664 #6# 1670)) treemacs--flatten-dirs treemacs--parse-collapsed-dirs treemacs--reentry point-at-eol treemacs--apply-project-bottom-extensions (debug file-notify-error) file-notify-add-watch (change) treemacs--filewatch-callback "No file notification program found" error-message-string (local-readable remote-readable) (local-readable remote-readable) treemacs-collect-child-nodes treemacs--expand-dir-node :git-future :recursive count-lines text-property-not-all copy-marker] 53 (#$ . 33341)]) #@121 Collapse the given root BTN. Remove all open entries below BTN when RECURSIVE is non-nil. (fn BTN &optional RECURSIVE) (defalias 'treemacs--collapse-root-node #[513 "\212\304\212 G\305\306 \307\"\310T\311\"\206e\262Zb\210 c\210\312!\266)\313\310T\311\"\206-e\314\311\"\2065d\315\316$\210\305\317 !\211\203T\320\321\"T\322\307\"\320\321\"\262U\204[\323 \266\202\270\314\311\"\206cd\205\226\320\321\"\305\314\311\"\206ud\307\"\211\203\224\320\321\"W\203\224\305\314\311\"\206\215d\307\"\262\202w\262\211\203\262\324\310T\311\"\206\244e!\314\311\"\206\255d\262\202\263d|\266\320\325\"\304C\326\327\330#\n\"\210\211\242\211\203\333\211@\331\n\"\210A\266\202\202\311\266\332 \304#\211\333H\334H\211\203\371\211\211\335\336\335H\"I\266\210\203\337\340\"\210\211\333\304I\266\211\335\304I\262\266\202\202C\211\203+\337\341\"\210\211\333\304I\262\266\202\202C\334H\211\205?\211\211\335\336\335H\"I\262\262\266\202\262*\207" [buffer-read-only treemacs-icon-root-closed treemacs--filewatch-index treemacs-dom nil next-button point-at-bol t previous-single-property-change button delete-char put-text-property next-single-property-change :state root-node-closed point-at-eol get-text-property :depth copy-marker delete-trailing-whitespace previous-button :path maphash make-closure #[514 "\300\230\206\303\211GSH\304=\203\202\305P\"\266\202\205H\211@Ap>\205FA\2037\306p\"\240\207\307!\210\310\n\"\210\301\301\242B\240\266\202\207" [V0 V1 treemacs--collapsed-filewatch-index s-starts-with\? 47 "/" delq file-notify-rm-watch remhash] 8 "\n\n(fn WATCHED-PATH WATCH-INFO)"] remhash gethash 3 2 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)"] #[257 "\301\302H\"\210\211\303H\211\211\304\305\304H\"I\266\211\306H\211\203+\211@\301\"\210A\266\202\202\210\211\211\304\307I\207" [treemacs-dom remhash 1 2 3 delete 7 nil] 9 "\n\n(fn IT)"]] 13 (#$ . 42649)]) #@122 Open the node given by BTN. BTN: Button GIT-FUTURE: Pfuture|HashMap RECURSIVE: Bool (fn BTN &key GIT-FUTURE RECURSIVE) (defalias 'treemacs--expand-dir-node #[385 "\306\307\"A@\306\310\"A@\311\312\"\313!\204L\314\315\316\317#D\211\203D:\204) C\320\n\204?\321\322\315\323\316\324#\325\326\325\"!#\210\327\330\331\"\210 \205K\332\333!\207\334!\311\335\"\203`\336\337!\"\202h\206h\336\"\340\"\212`\320\211\341\342 T\343\"\206|e\344\f\343\"\206\205d\345\346$\210\347 \210\212 G\350\351 \352\"\342T\343\"\206\235e\262Zb\210 c\210\353!\266)\344\n\343\"\206\265db\210\354@\320#\211\203\377\211\211\355 I\266\211\356H\211\203\347\211@\354@\320#\211\355I\266A\266\202\202\315\210\211\357H\211\203\372\211\211\360\360HBI\266\266\202\361\362\320\211\211\320\211&\262\363\364H@#\266\365\n\"\210\311\n\366\"T\212\367\370\352\"r\211q\210\371\372\"\216ABC\373\267\202f\374\202k\375\202k\376\202k\377\202k\201T\202k\201U\202k\201V\202k\201W\202kC\211\262\201X\201Y\n\201Z\320\201[$!\201\\\201]\"\201^@\"\201^A@\")D\266\203*\262\211@A@\354\n@\320#\201_\371\201`\"\"\201_\371\201a\"\"\320\211\211\211\201b\244 \201bH\244I\266\201bH\211\203\356\211@\363\364H@#\210A\266\202\202\330\210 \201cDGY\204E@F=\203EAG=\204\201d!\210DHP @\320HP\203\230\f\211\203\227\211@\315I\201e!!\343\201f\201g\201h\201i\320\201j\320\201k\201l\345\201m\312\201n\335\201o!\201p0\366(&D\201q\320\211\203\216\211A\262\242\262\262T\262B\262\202r\266A\266\202\202'\210\237\266\205\262 \201cDGY\204\275E@F=\203\275EAG=\204\303\201d!\210DHP@\320\203m\n\211\203l\211@\201e\201r!!\227\354J\320#\206\354\201sK\"\203\201q\224T\320O\202JL#\262\315M\201e!!\343\201t\201g\201h\201i\320\201j\320\201k\201u\345\201v\312\201n\201p.\366&&E\201q\320\211\203c\211A\262\242\262\262T\262B\262\202G\266A\266\202\202\322\210\211\237\266\204\262\320\210N\201w\267\202\366 \203\256\201x\201y\"\211\203\225\211\202\251\201z!\201{\201y#\210\211\262\262\202\273\201|\201}\201~\"\211\262\262\363O#\210\202\354O\320#\206\337\201|\201}\201~\"\211\262\262\201\201\200\320\201\201p&\210\202\201|\201}\201~\"\211\262\262P\203\345\320\203w@A@AA@\201\202Q\320P\201q\320\211\211\203W\211A\262\242\262\262\211\262\203W\"\211\262\204W\262\262T\262\202(\266\211\262\203d\266\202nBBB\266\205AAA\262\202 \211\237\262\210\320\203\341@A@\201\202Q\320P\201q\320\211\211\203\305\211A\262\242\262\262\211\262\203\305\"\211\262\204\305\262\262T\262\202\226\266\211\262\203\322\266\202\331BB\266\204AA\262\202}\211\237\266\202\211\211\203C\211A\262\211A\262\242\341\201qG\316\201\202Q\354 \320#\211\201\203\267\2025\201\204\2028\201\205\2028\201\206\2028\201\207\2028\201\210\2028\201\211\2028\201l\262\262%\266\202\346\210\326\201\212\"c\210\320\210\211\203\256\211AA\262\211A\262\242\341\201qG\316\201\202Q\354 \320#\211\201\213\267\202\240\201\204\202\243\201\205\202\243\201\206\202\243\201\207\202\243\201\210\202\243\201\211\202\243\201u\262\262%\266\202P\210\326\201\212\"c\210\212\201\214\201\215!!\210\201\216\"\210)\201\217 \266\211)\262b\210\201\220\n\"\210\354Q\320#\211\203\376p@>\204E\211p@B\240\266\202F\201\2211!\320\363pC\201\222 \201\223\201\224#BQ#\2100\266\202F\201\225\201\226!\320\352R\201s#)\266\203?\205C\201\227@A\"\266\210\203\217\201\230\n!\201q\320\211\203\215\211A\262\242\262\262T\262\311\345\"\201m=\203V\342T\343\"\206}eb\210\201\231\307\n\310\352%\210\202V\266\201\232`\"\262)\262)S\203\313\201\233\351 \201\217 \343\320$\211\205\266\201\234\352\"\262\350!\311\201p\"\232\203\311\364y\210\266\207" [treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages treemacs-pulse-on-failure buffer-read-only treemacs-icon-dir-open plist-member :git-future :recursive get-text-property :path file-readable-p "Directory %s is not readable." propertize face font-lock-string-face nil message "%s %s" "[Treemacs]" ((:inherit warning :weight bold)) format apply add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs--do-pulse treemacs-on-failure-pulse-face treemacs-project-of-node :symlink treemacs--git-status-process file-truename treemacs--collapsed-dirs-process put-text-property previous-single-property-change button next-single-property-change :state dir-node-open beginning-of-line next-button point-at-bol t delete-char gethash 5 7 2 4 record treemacs-dom-node puthash 1 treemacs--apply-directory-top-extensions :depth generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 318 alphabetic-desc 322 alphabetic-case-insensitive-asc 326 alphabetic-case-insensitive-desc 330 size-asc 334 size-desc 340 mod-time-asc 346 mod-time-desc 352)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs-dom treemacs--file-name-handler-alist file-name-handler-alist treemacs-sorting treemacs--indentation-string-cache treemacs--indentation-string-cache-key treemacs-indentation treemacs-indentation-string treemacs-icon-dir-closed treemacs-directory-name-transformer treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer treemacs-git-mode treemacs--git-cache treemacs-pre-file-insert-predicates treemacs--filewatch-index inhibit-changing-match-data treemacs-move-forward-on-expand treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc treemacs--filter-files-to-be-shown directory-files :absolute-names :no-sort -separate file-directory-p sort mapcar #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] #[257 "\301\302\300\303\211\211\211\211&\207" [V0 record treemacs-dom-node nil] 10 "\n\n(fn IT)"] 3 "\n" treemacs--build-indentation-cache file-name-nondirectory (t) category default-button help-echo keymap :default-face treemacs-directory-face dir-node-closed :key file-symlink-p :parent 0 directory-file-name string-match (t) treemacs-git-unmodified-face file-node-closed #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (extended 895 simple 895 deferred 968)) process-get git-table treemacs--git-status-parse-function process-put make-hash-table :test equal run-with-timer 0.5 treemacs--apply-deferred-git-state "/" #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1="M" 1297 #2="U" 1303 #3="?" 1309 #4="!" 1315 #5="A" 1321 #6="R" 1327)) treemacs-git-modified-face treemacs-git-conflict-face treemacs-git-untracked-face treemacs-git-ignored-face treemacs-git-added-face treemacs-git-renamed-face concat #s(hash-table size 6 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1# 1404 #2# 1410 #3# 1416 #4# 1422 #5# 1428 #6# 1434)) treemacs--flatten-dirs treemacs--parse-collapsed-dirs treemacs--reentry point-at-eol treemacs--apply-directory-bottom-extensions (debug file-notify-error) file-notify-add-watch (change) treemacs--filewatch-callback "No file notification program found" error-message-string signal treemacs-collect-child-nodes treemacs--expand-dir-node count-lines text-property-not-all copy-marker] 52 (#$ . 44779)]) #@118 Close node given by BTN. Remove all open dir and tag entries under BTN when RECURSIVE. (fn BTN &optional RECURSIVE) (defalias 'treemacs--collapse-dir-node #[513 "\212\304\212 G\305\306 \307\"\310T\311\"\206e\262Zb\210 c\210\312!\266)\313\310T\311\"\206-e\314\311\"\2065d\315\316$\210\305\317 !\211\203T\320\321\"T\322\307\"\320\321\"\262U\204[\323 \266\202\270\314\311\"\206cd\205\226\320\321\"\305\314\311\"\206ud\307\"\211\203\224\320\321\"W\203\224\305\314\311\"\206\215d\307\"\262\202w\262\211\203\262\324\310T\311\"\206\244e!\314\311\"\206\255d\262\202\263d|\266\320\325\"\304C\326\327\330#\n\"\210\211\242\211\203\333\211@\331\n\"\210A\266\202\202\311\266\332 \304#\211\333H\334H\211\203\371\211\211\335\336\335H\"I\266\210\203\337\340\"\210\211\333\304I\266\211\335\304I\262\266\202\202C\211\203+\337\341\"\210\211\333\304I\262\266\202\202C\334H\211\205?\211\211\335\336\335H\"I\262\262\266\202\262*\207" [buffer-read-only treemacs-icon-dir-closed treemacs--filewatch-index treemacs-dom nil next-button point-at-bol t previous-single-property-change button delete-char put-text-property next-single-property-change :state dir-node-closed point-at-eol get-text-property :depth copy-marker delete-trailing-whitespace previous-button :path maphash make-closure #[514 "\300\230\206\303\211GSH\304=\203\202\305P\"\266\202\205H\211@Ap>\205FA\2037\306p\"\240\207\307!\210\310\n\"\210\301\301\242B\240\266\202\207" [V0 V1 treemacs--collapsed-filewatch-index s-starts-with\? 47 "/" delq file-notify-rm-watch remhash] 8 "\n\n(fn WATCHED-PATH WATCH-INFO)"] remhash gethash 3 2 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)"] #[257 "\301\302H\"\210\211\303H\211\211\304\305\304H\"I\266\211\306H\211\203+\211@\301\"\210A\266\202\202\210\211\211\304\307I\207" [treemacs-dom remhash 1 2 3 delete 7 nil] 9 "\n\n(fn IT)"]] 13 (#$ . 52593)]) #@52 Get the face to be used for PROJECT. (fn PROJECT) (defalias 'treemacs--root-face #[257 "\301!>\204\302\303\304D\"\210\211\305H\211\306\267\202 \307\207\310\207\311\207\312\207\313\207" [cl-struct-treemacs-project-tags type-of signal wrong-type-argument treemacs-project 3 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (local-unreadable 24 remote-readable 26 remote-disconnected 28 remote-unreadable 30)) treemacs-root-unreadable-face treemacs-root-remote-face treemacs-root-remote-disconnected-face treemacs-root-remote-unreadable-face treemacs-root-face] 5 (#$ . 54716)]) #@91 Insert a new root node for the given PROJECT node. PROJECT: Project Struct (fn PROJECT) (defalias 'treemacs--add-root-element #[257 "c\210\304 \305! >\204\306\307\310D\"\210\311H\312\313\314\211\211\314\211&\315\316H\n#\210\315\305! >\203J\305! >\204D\306\307\310D\"\210\311H\202K #\210\317\305! >\204`\306\307\310D\"\210\316H\320\321\322\323\324\325 !\326\f\327\305! >\204\201\306\307\310D\"\210\330H\331>\205\216\332 !\333\334\335\336\337&c\207" [treemacs-icon-root-closed cl-struct-treemacs-project-tags treemacs-dom treemacs--project-positions point-marker type-of signal wrong-type-argument treemacs-project 2 record treemacs-dom-node nil puthash 1 propertize button (t) category default-button face treemacs--root-face :project :symlink 3 (local-readable remote-readable) file-symlink-p :state root-node-closed :path :depth 0] 22 (#$ . 55341)]) #@74 Actually render the given PROJECTS in the current buffer. (fn PROJECTS) (defalias 'treemacs--render-projects #[257 "\303 \204 \304 \305\306\"\307 \310!\311\303\211\203B\211A\262\242\262\262T\262\2038\n\2035\312\2026\313c\210\314\262\315!\210\202\266`\316\"\210\317 \"\210 \303\223\262\266\203)\207" [buffer-read-only treemacs--projects-end treemacs-space-between-root-nodes nil make-marker -reject treemacs-project->is-disabled\? treemacs-current-workspace treemacs--apply-root-top-extensions 0 "\n\n" "\n" t treemacs--add-root-element treemacs--apply-root-bottom-extensions set-marker-insertion-type] 10 (#$ . 56241)]) #@439 Update the node identified by its PATH. Throws an error when the node cannot be found. Does nothing if the node is not expanded, unless FORCE-EXPAND is non-nil, in which case the node will be expanded. Same as `treemacs-update-node', but does not take care to either save position or assure hl-line highlighting, so it should be used when making multiple updates. PATH: Node Path FORCE-EXPAND: Boolean (fn PATH &optional FORCE-EXPAND) (defalias 'treemacs-do-update-node #[513 "\304\211\203\f\305!\202\306!\211\205\211b\262\211\203Q\307\310\" >\203B\311\307\310\"\n\"\211 \210\311\307\310\"\n\" \312=\205=\211 \262\202c\205c\311\307\310\"\n\" \202c\313 \314#\211\205a\211\211\315\304I\262\262\262)\207" [treemacs--no-recenter treemacs--open-node-states treemacs-TAB-actions-config treemacs-dom t treemacs-goto-node treemacs-find-visible-node get-text-property :state alist-get 1 gethash nil 6] 8 (#$ . 56898)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs-do-update-node compiler-macro treemacs-do-update-node--inliner] 4) #@49 (fn INLINE--FORM PATH &optional FORCE-EXPAND) (defalias 'treemacs-do-update-node--inliner #[770 "\3002\227\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\305\306\307\310\311D\312\313\nD\314CEFD\310\315\307D\316\317\320\321D\322\323\324\320\325\326\307\327E\330EDE\320\321DEF\322\320\325\326\307\327E\330EDEF\331\332\333 DD\334\335\332D\336EEFD=\203x\211\266\203\202\201\337DC\"\266\203=\203\215\211\266\203\202\226\337DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" "force-expand" treemacs-without-recenter -if-let btn if treemacs-goto-node -some-> treemacs-find-visible-node goto-char treemacs-is-node-expanded\? -let [close-func (alist-get (treemacs-button-get btn :state) treemacs-TAB-actions-config)] funcall close-func when eq 1 alist-get treemacs-button-get :state treemacs-TAB-actions-config -when-let dom-node treemacs-find-in-dom setf treemacs-dom-node->refresh-flag t macroexp-let*] 23 (#$ . 57972)]) #@197 Update the node identified by its PATH. Same as `treemacs-do-update-node', but wraps the call in `treemacs-save-position'. PATH: Node Path FORCE-EXPAND: Boolean (fn PATH &optional FORCE-EXPAND) (defalias 'treemacs-update-node #[513 "\306\307\310 \311 \312\306$\211\205\313\314\"\262\315 \211\205M\211\205M\316\317\"\320\321\312\"\206,d\314\"\211\203K\316\317\"W\203K\320\321\312\"\206Dd\314\"\262\202.\262\262\211\205W\322\323\"\262\211\205\232\316\317\"\324\325T\312\"\206le!\211\203\212\316\317\"W\203\212\324\325T\312\"\206\204e!\262\202m\211\205\230\316\317\"U\205\230\211\266\202\262\211\205\244\322\323\"\262\211\205\257\316\323\"\262\211\205\272\316\326\"\262\211\205\305\316\327\"\262\211\203\323\316\330\"\202\336\211\205\334\331!\262\332 \211\205\376\333!r\334\335\"\216\336@\337\"\210\340\341\342 \311 \"]*\262\314\n\203\f\343\f!\202\344\f!\211\205\211b\262\211\203V\316\326\"\n>\203D\345\316\326\" \"\211 \210\345\316\326\" \" \340=\203?\211 \210\266\202i \203R\345\316\326\" \" \210\210\202i\346 \f\306#\211\203g\211\211\347\314I\266\266)\350\267\202\313\351\306\"\211\203\235 \352=\203\216\353 \210\316`\354\"\242\355=\203\216\340u\210\356 \210\357 \211\203\234\360`\"\210\210\210\202\350\346\f\306#\203\354@\204\273\361A\362\363!!\"\204\354\351\306\"\211\203\350 \352=\203\331\353 \210\316`\354\"\242\355=\203\331\340u\210\356 \210\357 \211\203\347\360`\"\210\210\210\202\350\364\203,\211 !\203,\351 \306\"\211\203' \352=\203\353 \210\316`\354\"\242\355=\203\340u\210\356 \210\357 \211\203&\360`\"\210\210\266\202\350\203k\211!\203k\351\306\"\211\203f \352=\203W\353 \210\316`\354\"\242\355=\203W\340u\210\356 \210\357 \211\203e\360`\"\210\210\266\202\350\211;\203\222\365!\211G\340V\203\214\211GSH\366=\203\214\211\367\370O\202\215\211\262\202\367\211@\371=\203\246G\372V\205\367\373!\202\367\211@;\203\276G\372V\203\271\373!\202\367@\202\367\374@!B>\203\357G\372V\203\325\373!\202\367\374@!B>\204\350\375\376\377@D\"\210@\372H\202\367\201D\201E\"\262!\204\221\211\211;\203&\365!\211G\340V\203 \211GSH\366=\203 \211\367\370O\202!\211\262\202\212\211@\371=\203:G\372V\205\212\373!\202\212\211@;\203RG\372V\203M\373!\202\212@\202\212\374@!B>\203\202G\372V\203i\373!\202\212\374@!B>\204{\375\376\377@D\"\210@\372H\202\212\201D\201E\"\262\262\202\371\351\306\"\211\203\276 \352=\203\257\353 \210\316`\354\"\242\355=\203\257\340u\210\356 \210\357 \211\203\275\360`\"\210\210\266\202\350\343!\210\202\350\204\326b\210\202\350\201F1\345\343!0\210\202\350\306\266 \352=\203\376\353 \210\316`\354\"\242\355=\203\376\340u\210\316`\201G\"\203\321`\201G\"b\210\211\205<`\333!r\334\201H\"\216\336@\337\"\210\367C\201IS!\210)\360\201J \"*\262\262\266\212)\207" [treemacs--ready-to-follow treemacs--no-recenter treemacs--open-node-states treemacs-TAB-actions-config treemacs-dom major-mode nil text-property-not-all point-at-bol point-at-eol button copy-marker t point-marker get-text-property :depth next-button next-single-property-change button-get :path previous-button previous-single-property-change :state :collapsed :key treemacs--nearest-path 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 1 count-screen-lines window-start treemacs-goto-node treemacs-find-visible-node alist-get gethash 6 #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (root-node-closed 368 root-node-open 368 file-node-closed 417 file-node-open 417 dir-node-closed 417 dir-node-open 417 tag-node 963 tag-node-closed 963 tag-node-open 963)) treemacs-find-file-node treemacs-mode beginning-of-line display image hl-line-highlight get-buffer-window set-window-point s-matches\? file-name-nondirectory directory-file-name #[257 "\303\304#\205 \206\305\n\306\307!!\"?\207" [treemacs-dom treemacs-show-hidden-files treemacs-dotfiles-regex gethash nil s-matches\? file-name-nondirectory directory-file-name] 6 "\n\n(fn IT)"] file-name-directory 47 0 -1 :custom 2 butlast type-of signal wrong-type-argument treemacs-project treemacs-show-hidden-files treemacs-dotfiles-regex cl-struct-treemacs-project-tags scroll-margin error "Path type did not match: %S" (error) invisible #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] recenter selected-window] 19 (#$ . 58959)]) #@513 Delete single node at given PATH and PROJECT. Does nothing when the given node is not visible. Must be run in a treemacs buffer. This will also take care of all the necessary house-keeping like making sure child nodes are deleted as well and everything is removed from the dom. If multiple nodes are to be deleted it is more efficient to make multiple calls to `treemacs-do-delete-single-node' wrapped in `treemacs-save-position' instead. PATH: Node Path Project: Project Struct (fn PATH &optional PROJECT) (defalias 'treemacs-delete-single-node #[513 "\306\307\310 \311 \312\306$\211\205\313\314\"\262\315 \211\205M\211\205M\316\317\"\320\321\312\"\206,d\314\"\211\203K\316\317\"W\203K\320\321\312\"\206Dd\314\"\262\202.\262\262\211\205W\322\323\"\262\211\205\232\316\317\"\324\325T\312\"\206le!\211\203\212\316\317\"W\203\212\324\325T\312\"\206\204e!\262\202m\211\205\230\316\317\"U\205\230\211\266\202\262\211\205\244\322\323\"\262\211\205\257\316\323\"\262\211\205\272\316\326\"\262\211\205\305\316\327\"\262\211\203\323\316\330\"\202\336\211\205\334\331!\262\332 \211\205\376\333!r\334\335\"\216\336@\337\"\210\340\341\342 \311 \"]*\262\343\f\f\"\210\344\267\202X\345\306\"\211\2038 \346=\203)\347 \210\316`\350\"\242\351=\203)\340u\210\352 \210\353 \211\2037\354`\"\210\210\210\202u\355\n\306#\203\205 \204T\356\f\357\360!!\"\204\205\345\306\"\211\203\201 \346=\203r\347 \210\316`\350\"\242\351=\203r\340u\210\352 \210\353 \211\203\200\354`\"\210\210\210\202u\361\203\305\211 !\203\305\345 \306\"\211\203\300 \346=\203\261\347 \210\316`\350\"\242\351=\203\261\340u\210\352 \210\353 \211\203\277\354`\"\210\210\266\202u\203\211!\203\345\306\"\211\203\377 \346=\203\360\347 \210\316`\350\"\242\351=\203\360\340u\210\352 \210\353 \211\203\376\354`\"\210\210\266\202u\211;\203+\362!\211G\340V\203%\211GSH\363=\203%\211\364\365O\202&\211\262\202\212\211@\366=\203?G\367V\205\212\370!\202\212\211@;\203WG\367V\203R\370!\202\212@\202\212\371@! >\203\206G\367V\203m\370!\202\212\371@! >\204\372\373\374@D\"\210@\367H\202\212\375\376\"\262!\204\211\211;\203\271\362!\211G\340V\203\263\211GSH\363=\203\263\211\364\365O\202\264\211\262\202\211@\366=\203\315G\367V\205\370!\202\211@;\203\345G\367V\203\340\370!\202@\202\371@! >\203G\367V\203\373\370!\202\371@! >\204\f\372\373\374@D\"\210@\367H\202\375\376\"\262\262\202\214\345\306\"\211\203K \346=\203<\347 \210\316`\350\"\242\351=\203<\340u\210\352 \210\353 \211\203J\354`\"\210\210\266\202u\377!\210\202u\204cb\210\202u\201A1r\377!0\210\202u\306\266 \346=\203\213\347 \210\316`\350\"\242\351=\203\213\340u\210\316`\201B\"\203\234\321`\201B\"b\210\211\203\310`\333!r\334\201C\"\216\336@\337\"\210\364@\201DS!\210)\354\201E \"\210*\266\352 \266\212)\207" [treemacs--ready-to-follow major-mode treemacs-dom treemacs-show-hidden-files treemacs-dotfiles-regex cl-struct-treemacs-project-tags nil text-property-not-all point-at-bol point-at-eol button copy-marker t point-marker get-text-property :depth next-button next-single-property-change button-get :path previous-button previous-single-property-change :state :collapsed :key treemacs--nearest-path 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 1 count-screen-lines window-start treemacs-do-delete-single-node #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (root-node-closed 267 root-node-open 267 file-node-closed 316 file-node-open 316 dir-node-closed 316 dir-node-open 316 tag-node 848 tag-node-closed 848 tag-node-open 848)) treemacs-find-file-node treemacs-mode beginning-of-line display image hl-line-highlight get-buffer-window set-window-point gethash s-matches\? file-name-nondirectory directory-file-name #[257 "\303\304#\205 \206\305\n\306\307!!\"?\207" [treemacs-dom treemacs-show-hidden-files treemacs-dotfiles-regex gethash nil s-matches\? file-name-nondirectory directory-file-name] 6 "\n\n(fn IT)"] file-name-directory 47 0 -1 :custom 2 butlast type-of signal wrong-type-argument treemacs-project error "Path type did not match: %S" treemacs-goto-node scroll-margin (error) invisible #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] recenter selected-window] 19 (#$ . 63558)]) #@203 Actual implementation of single node deletion. Will delete node at given PATH and PROJECT. See also `treemacs-delete-single-node'. PATH: Node Path Project: Project Struct (fn PATH &optional PROJECT) (defalias 'treemacs-do-delete-single-node #[513 "\303\304#\211\205o\211\305H\206\306\307#\211b\210\310\311\" >\203$\312\313!\210\304\310\314\"\2035\315#\202l\316 d\317 T^|\210\320\321H\"\210\322H\211\211\323\324\323H\"I\266\325H\211\205j\211@\320\"\210A\266\202\202X\262)\262\207" [treemacs-dom treemacs--open-node-states buffer-read-only gethash nil 5 treemacs-goto-node :ignore-file-exists get-text-property :state treemacs-TAB-action :purge :collapsed treemacs--delete-at-flattened-path point-at-bol point-at-eol remhash 1 2 3 delete 7] 12 (#$ . 68087)]) #@215 Handle a delete for a flattened path BTN for given DELETED-PATH. Remove DOM-NODE from the dom if the entire line was deleted. Btn: Button DELETED-PATH: File Path DOM-NODE: Dom Node (fn BTN DELETED-PATH DOM-NODE) (defalias 'treemacs--delete-at-flattened-path #[771 "\302\303\"\302\304\"\211A\230\203F\305 d\306 T^|\210\307\310H\"\210\311H\211\211\312\313\312H\"I\266\314H\211\205E\211@\307\"\210A\266\202\2023\207\302\315\"\211;\203s\316!\211G\310V\203m\211GSH\317=\203m\211\320\321O\202n\211\262\202\333\211@\322=\203\211G\311V\205\333\323!\202\333\211@;\203\244G\311V\203\236\323!\202\333@\202\333\324@! >\203\327G\311V\203\274\323!\202\333\324@! >\204\317\325\326\327 @D\"\210@\311H\202\333\330\331\"\262GGZG\332O@\333\334\335#G\336\337 T\340\"\206\373e\341\340\"\206d\315$\210\332\210`Z`|\210\342Z\"\211\211\203,\211@\307\"\210A\266\202\202\210\n\211\314\332\314H\320\332\211\203[\211A\262\242\262\262T\262 \235\2049B\262\2029\266\211\237\262I\266\343\344\"\266\211\320U\203\210\336\337 T\340\"\206{e\341\340\"\206\204d\304\332$\207\211\345T \"B\336\337T\340\"\206\233e\341\340\"\206\244d\304$\207" [treemacs-dom cl-struct-treemacs-project-tags get-text-property :key :collapsed point-at-bol point-at-eol remhash 1 2 3 delete 7 :path file-name-directory 47 0 -1 :custom butlast type-of signal wrong-type-argument treemacs-project error "Path type did not match: %S" nil split-string "/" :omit-nulls put-text-property previous-single-property-change button next-single-property-change last -each treemacs--stop-watching -take] 23 (#$ . 68885)]) #@494 Determine the insert location for PATH under PARENT-BTN. Specifically this will return the node *after* which to make the new insert. Mostly this means the position before the first node for whose path returns SORT-FUNCTION returns non-nil, but files and directories must be handled properly,and edge cases for inserting at the end of the project and buffer must be taken into account. PATH: File Path PARENT-BTN: Button SORT-FUNCTION: Button -> Boolean. (fn PATH PARENT-BTN SORT-FUNCTION) (defalias 'treemacs--determine-insert-position #[771 "\301\302\"\303\304#\262\211\305H\304\211\306\304\211\203H\211A\262\242\262\262T\262\307H\211;\2052\310!\262\203@B\262\202B\262\202\266\237\237D\266\202\311@\312\313\"\"\311A@\312\314\"\"\310!\203\363\304\306\304\211\211\203\246\211A\262\242\262\262\211\262\203\246 \307H\"\203\231\304\262\203\246\262\262T\262\202q\266\211\262\211\205\274\315\316H\206\273\317\307H!!\262\206y\320!\211\205\323\211\316H\206\323\317\307H!\262\206y\211@\211\205\353\315\316H\206\352\317\307H!!\262\206y\207\304\306\304\211\211\203.\211A\262\242\262\262\211\262\203. \307H\"\203!\304\262\203.\262\262T\262\202\371\266\211\262\211\205D\315\316H\206C\317\307H!!\262\206y\320!\211\205[\211\316H\206[\317\307H!\262\206y\320!\211\205r\211\316H\206r\317\307H!\262\206y\207" [treemacs-dom get-text-property :path gethash nil 3 0 1 file-directory-p sort make-closure #[514 "\300\301H\301H\"\207" [V0 1] 6 "\n\n(fn D1 D2)"] #[514 "\300\301H\301H\"\207" [V0 1] 6 "\n\n(fn F1 F2)"] previous-button 5 treemacs-find-file-node -last-item] 18 (#$ . 70571)]) #@125 Insert single file node at given PATH and below PARENT-PATH. PATH: File Path PARENT-PATH: File Path (fn PATH PARENT-PATH) (defalias 'treemacs-do-insert-single-node #[514 "\302\303#\211\2053\302\303#\203\304!\207\211\305H\306\307\"\303\211\203+\310$\2020\311#)\266\202\207" [treemacs-dom buffer-read-only gethash nil treemacs-update-single-file-git-state 5 get-text-property :collapsed treemacs--insert-node-in-flattened-directory treemacs--insert-single-node] 10 (#$ . 72289)]) #@248 Insert new CREATED-PATH below non-flattened directory at PARENT-BTN. Will find the correct insert location, insert the necessary strings, and make the necessary dom entries and adjust PARENT-DOM-NODE. (fn CREATED-PATH PARENT-BTN PARENT-DOM-NODE) (defalias 'treemacs--insert-single-node #[771 "\306\267\202&\307\202*\310\202*\311\202*\312\202*\313\202*\314\202*\315\202*\316\202*\211\262\317#\211b\210\320\210\321\322\323\"T\211 GY\204P\n@ =\203P\nA\f=\204T\324!\210 H\325\326\320\211\327\f!\203\230 P\211\330<\331!!\332\333\334\335\336\320\337\320\340\341\342\343\344\345\346\347!!\350!\323&D\262\262\341\262\202\353\331\351!!\227\352=\320#\206\301\352\353>\"\203\273\354\224T\320O\202\274=?#\262\330@\331!!\332\355\334\335\336\320\337\320\340\356\342\357\344\345\350\323&E\262\360\262\361!\362\354G\363%\266\266\202\"\262\262\261\210\364\365\320\211\211\211\211&\366\367HA#\210\211\370\370HBI\266B\205.\371\372\373#\207" [treemacs-sorting treemacs--indentation-string-cache treemacs--indentation-string-cache-key treemacs-indentation treemacs-indentation-string treemacs-icon-dir-closed #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alphabetic-asc 6 alphabetic-desc 10 alphabetic-case-insensitive-asc 14 alphabetic-case-insensitive-desc 18 size-asc 22 size-desc 26 mod-time-asc 30 mod-time-desc 34)) treemacs--sort-alphabetic-asc treemacs--sort-alphabetic-desc treemacs--sort-alphabetic-case-insensitive-asc treemacs--sort-alphabetic-case-insensitive-desc treemacs--sort-size-asc treemacs--sort-size-desc treemacs--sort-mod-time-asc treemacs--sort-mod-time-desc treemacs--determine-insert-position nil "\n" button-get :depth treemacs--build-indentation-cache apply concat file-directory-p propertize file-name-nondirectory button (t) category default-button help-echo keymap :default-face treemacs-directory-face :state dir-node-closed :path :key :symlink file-symlink-p :parent directory-file-name gethash string-match 0 (t) treemacs-git-unmodified-face file-node-closed treemacs-file-face -last-item put-text-property face record treemacs-dom-node puthash 1 3 treemacs-do-update-single-file-git-state :exclude-parents :override-status treemacs-directory-name-transformer treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer treemacs-dom treemacs-git-mode] 38 (#$ . 72795)]) #@541 Insert new CREATED-PATH below flattened directory at PARENT-BTN. Will take care of every part necessary for adding a new node under a flattened directory - adjusting the label, the state PARENT-DOM-NODE, the FLATTEN-INFO and path text properties, the filewatch entries. It will also differentiate between creating new files and new directories and re-open the node accordingly. PATH: File Path PARENT-BTN: Button PARENT-DOM-NODE: Dom Node Struct FLATTEN-INFO [Int File Path...] (fn CREATED-PATH PARENT-BTN PARENT-DOM-NODE FLATTEN-INFO) (defalias 'treemacs--insert-node-in-flattened-directory #[1028 "\3062\307!\310!\230\206%\311\211GSH\312=\203 \202#\313P\"\266\202\314\315\">\203E\203E\211\203E\316\306\317   #\"\210\203V\203V\211\204V\316\306\320\"\210\321!\314\322\"\204g\204\211\323 !\211G\324V\203\203\211GSH\312=\203\203\211\325\326O\202\204\211\262\202\213\211G\327O\330\313\331#\262\323!\211G\324V\203\263\211GSH\312=\203\263\211\325\326O\202\264\211\262GT\327O\325C \205\316 @ Y\205\316\n??\205\211\203\357\211@T\262\332\"\262B\262A\266\202\202\323\210\237\262\333\fA\"\333A\"\211\2035\211@\327C\334\335\336#\n\"\210\211\242\211\203&\211@\337\n\"\210A\266\202\202\266\340\327 #\210A\266\202\202\210\211\211\203\241\211@\340\320\f#\210\341\n\327#\211\203^p@>\204\222\211p@B\240\266\202\223\3421w\327\340pC\343\344\345#B\n#\2100\266\202\223\346\347!\327\320\350#)\266\203?\205\220\351@A\"\266\210\340 #\210A\266\202\2027\210\211\352\353A!I\266\325V\205\267B\262\354\355#\210\354\356#\210 b\210`\357 |\210\360\361\n#c\210`GZb\210 `\327\223\210 \203\376\n\203\376\362\314\315\"4\" \266\213\202\362\314\315\"4\" \210\f\211\363\327I\262\266\2130\207" [treemacs--open-node-states treemacs-collapse-dirs treemacs--filewatch-index treemacs-dom treemacs--collapsed-filewatch-index inhibit-changing-match-data --cl-block-__body__-- file-regular-p -last-item s-starts-with\? 47 #1="/" get-text-property :state throw treemacs--insert-single-node t text-properties-at :key file-name-directory 1 0 -1 nil split-string :omit-nulls treemacs-join-path -difference maphash make-closure #[514 "\300\230\206\303\211GSH\304=\203\202\305P\"\266\202\205H\211@Ap>\205FA\2037\306p\"\240\207\307!\210\310\n\"\210\301\301\242B\240\266\202\207" [V0 V1 treemacs--collapsed-filewatch-index s-starts-with\? 47 #1# delq file-notify-rm-watch remhash] 8 "\n\n(fn WATCHED-PATH WATCH-INFO)"] remhash puthash gethash (debug file-notify-error) file-notify-add-watch (change) treemacs--filewatch-callback "No file notification program found" error-message-string string-match signal 7 copy-sequence plist-put :collapsed :path point-at-eol apply propertize alist-get 6 treemacs-TAB-actions-config] 28 (#$ . 75260)]) #@231 Create the necessary strings to insert a new file node. Creates the required indent prefix and file icon based on the given file PATH, PARENT node and node DEPTH. PATH: File Path PARENT: Button DEPTH: Int (fn PATH PARENT DEPTH) (defalias 'treemacs--create-string-for-single-insert #[771 "\211GY\204 @\n=\203 A =\204\306!\210H\307\310\311\211\312!\203\\\fP\211\313 \314\f!!\315\316\317\320\321\311\322\311\323\324\325\326\327\330\331\332!\333\334&D\262\262\324\262\202\257\314\335\n!!\227\336(\311#\206\205\336\337)\"\203\340\224T\311O\202\200(*#\262\313+\314\f!!\315\341\317\320\321\311\322\311\323\342\325\343\327\330\333\334&E\262\344\262\345!\346\340G\347%\266\266\202\"\207" [treemacs--indentation-string-cache treemacs--indentation-string-cache-key treemacs-indentation treemacs-indentation-string treemacs-icon-dir-closed treemacs-directory-name-transformer treemacs--build-indentation-cache apply concat nil file-directory-p propertize file-name-nondirectory button (t) category default-button help-echo keymap :default-face treemacs-directory-face :state dir-node-closed :path :key :symlink file-symlink-p :parent :depth directory-file-name gethash string-match 0 (t) treemacs-git-unmodified-face file-node-closed treemacs-file-face -last-item put-text-property face treemacs-icons treemacs-file-extension-regex treemacs-icon-fallback treemacs-file-name-transformer] 34 (#$ . 78142)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--create-string-for-single-insert compiler-macro treemacs--create-string-for-single-insert--inliner side-effect-free t] 5) #@39 (fn INLINE--FORM PATH PARENT DEPTH) (defalias 'treemacs--create-string-for-single-insert--inliner #[1028 "\3002\300\301!\203\211\202\302\303!\301!\203\211\202 \302\304!\301!\203+\211\202.\302\305!\306\307\310DDC\311\312\313D\314\315C\316CD\317\320\fD\321\315\322\313\307\323E \257\316\324\325D\257\321\315\326\307\257\316\324\327D\257F\330\331\332\333\334\335D\324\316D\316\335\257E\315\257EE=\203\214\211\266\203\202\225\336DC\"\266\203=\203\241\211\266\203\202\252\336DC\"\266\203=\203\266\211\266\203\202\277\336DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" "depth" "parent" let prefix treemacs--get-indentation apply function concat let* strs face if file-directory-p setf treemacs--create-dir-button-strings treemacs-icon-dir-closed quote treemacs-directory-face treemacs--create-file-button-strings treemacs-file-face -let [last (-last-item strs)] put-text-property 0 length last macroexp-let*] 26 (#$ . 79808)]) #@432 Potentially recenter based on value of WHEN. WHEN can take the following values: * always: Recenter indiscriminately, * on-distance: Recentering depends on the distance between `point' and the window top/bottom being smaller than `treemacs-recenter-distance'. * on-visibility: Special case for projects: recentering depends on whether the newly rendered number of NEW-LINES fits the view. (fn WHEN &optional NEW-LINES) (defalias 'treemacs--maybe-recenter #[513 "?\205`\304 \305\306\307 !!\"\205`\310\311\312\313 \314 \"]!\310\315 \316 Z\n\317 ]\245!\320\267\266\202_\321 \207\211ZV\205G\321\322\323ZZ!]!\207\245\324Z V\204Z V\205\\\321 \207\266\325\207" [treemacs--no-recenter treemacs--buffer-name-prefix treemacs--icon-size treemacs-recenter-distance s-starts-with\? buffer-name window-buffer selected-window float 1 count-screen-lines window-start point-at-eol window-pixel-height window-mode-line-height frame-char-height #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (always 47 on-visibility 50 on-distance 72)) recenter 0 round 1.0 nil] 11 (#$ . 80822)]) (byte-code "\300\301\302\303#\300\207" [function-put treemacs--maybe-recenter lisp-indent-function 1] 4) #@433 Recursively refresh by descending the dom starting from NODE. If NODE under PROJECT is marked for refresh and in an open state (since it could have been collapsed in the meantime) it will simply be collapsed and re-expanded. If NODE is node marked its children will be recursively investigated instead. Additionally all the refreshed nodes are collected and returned so their parents' git status can be updated. (fn NODE PROJECT) (defalias 'treemacs--recursive-refresh-descent #[514 "\306\307\310H\211\203!\211\310\307I\266C\262\211G\311V\203\323\307\262\312H\204s\313!>\2044\314\315\316D\"\210\317H\320\313!>\204I\314\315\316D\"\210\312H!=\204\366\313!>\204d\314\315\316D\"\210\211\317I\266\321\313!>\203\215\313!>\204\206\314\315\316 D\"\210\312H\202\217 \307#\313!>\204\243\314\315\316 D\"\210\312H\313!>\204\270\314\315\316\nD\"\210\317H\322>\203\333\323!\324\325T\326\"\206\316e\327\326\"\206\326d\330$\266\331!\324\325T\326\"\206\351e\327\326\"\206\361d\332$\266\266\321\313!>\203\313!>\204\314\315\316D\"\210\312H\202 \307#\333\334\"\262\335=\203!\321\313!>\203E\313!>\204?\314\315\316D\"\210\312H\202F \307#\211b\210\307\336!\210\313!>\204b\314\315\316D\"\210\317H\337>\204n\340!\210\266\202\"\341H\342\"\211\205\245 \343=\203\225\344 \210\333`\345\"\242\346=\203\225\341u\210\347 \210\350 \211\203\243\351`\"\210\210\211\262\333\334\"\352>\203\316\325T\326\"\206\271eb\210\353!\210\325T\326\"\206\310eb\210\353!\210\266\202\"\211\211\203 \211@\211\211A\262\242\211\354\267\202&\355\n\"\266\202\306\356!\211\205\375\211b\262\211\203-\333\334\" >\203?\357\333\334\"@\"\211 \210\357\333\334\"@\" \341=\203(\211 \210\266\202@\321A\307#\211\203>\211\211\310\306I\266\210\210)B\360>\203\361!\266\202\362 \341H\"\266\202\307\262 \312H\204\303\313 !>\204w\314\315\316 D\"\210\317H\320\313 !>\204\215\314\315\316 D\"\210\n\312H!=\204<\313 !>\204\251\314\315\316 D\"\210\n\211\317I\266\321\313\f!>\203\323\313\f!>\204\314\314\315\316D\"\210 \312H\202\325 \307#\313\f!>\204\351\314\315\316D\"\210 \312H\313 !>\204\376\314\315\316D\"\210\f\317H\363>\203!\323!\324\325T\326\"\206e\327\326\"\206d\330$\266\331 !\324\325T\326\"\206/e\327\326\"\2067d\332$\266\266\321\313\n!>\203`\313\n!>\204Y\314\315\316\fD\"\210 \312H\202b \307#\333\334\"\262\335=\203!\321\313\n!>\203\222\313\n!>\204\213\314\315\316\fD\"\210 \312H\202\224 \307#\211b\210\307\336!\210\313\n!>\204\261\314\315\316\fD\"\210 \317H\364>\204\276\340!\210\266\202 \341H\342 \"\211\205\366 \343=\203\346\344 \210\333`\345\"\242\346=\203\346\341u\210\347 \210\350 \211\203\364\351`\"\210\210\211\262\333\334\"\365>\203\325T\326\"\206\neb\210\353!\210\325T\326\"\206eb\210\353!\210\266\266\202C:\2041DCC\307DE\204G\366\367\370\371\332\372#\373\374\"#\210\375\376\377\"\210\307\262 \312H\204\267\313 !>\204g\314\315\316 D\"\210\317H\320\313 !>\204}\314\315\316 D\"\210\n\312H!=\204.\313 !>\204\231\314\315\316 D\"\210\n\211\317I\266\321\313\f!>\203\303\313\f!>\204\274\314\315\316D\"\210 \312H\202\305 \307#\313\f!>\204\331\314\315\316D\"\210 \312H\313 !>\204\356\314\315\316D\"\210\f\317H\201F>\203\323!\324\325T\326\"\206e\327\326\"\206d\330$\266\331 !\324\325T\326\"\206!e\327\326\"\206)d\332$\266\266\321\313\n!>\203R\313\n!>\204K\314\315\316\fD\"\210 \312H\202T \307#\333\334\"\262\335=\203\321\313\n!>\203\204\313\n!>\204}\314\315\316\fD\"\210 \312H\202\206 \307#\211b\210\307\336!\210\313\n!>\204\243\314\315\316\fD\"\210 \317H\201G>\204\262\340!\210\266\202 \341H\342 \"\211\205\352 \343=\203\332\344 \210\333`\345\"\242\346=\203\332\341u\210\347 \210\350 \211\203\350\351`\"\210\210\211\262\333\334\"\201H>\203\325T\326\"\206eb\210\353!\210\325T\326\"\206eb\210\353!\210\266\266A\266\202\202\324\210\210\203B\317H\211\203A\211@\201I\"\244\262A\266\202\202)\210\207" [cl-struct-treemacs-project-tags treemacs--project-positions treemacs--last-highlight major-mode treemacs--no-recenter treemacs--open-node-states t nil 6 8 2 type-of signal wrong-type-argument treemacs-project 3 treemacs--get-path-status gethash (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 1 treemacs-find-file-node treemacs-mode beginning-of-line display image hl-line-highlight get-buffer-window set-window-point (dir-node-open file-node-open root-node-open) treemacs--push-button #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (deleted 488 changed 498 created 592 force-refresh 604)) treemacs-do-delete-single-node treemacs-find-visible-node alist-get (extended deferred) treemacs-update-single-file-git-state treemacs-do-insert-single-node (local-readable remote-readable) (local-unreadable remote-unreadable extension) (dir-node-open file-node-open root-node-open) message "%s %s" propertize "[Treemacs]" ((:inherit warning :weight bold)) format "Unknown change event: %s" add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs-TAB-actions-config treemacs-dom treemacs-git-mode treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages (local-readable remote-readable) (local-unreadable remote-unreadable extension) (dir-node-open file-node-open root-node-open) treemacs--recursive-refresh-descent] 20 (#$ . 82068)]) #@190 Check if PATH should not be reentered. Returns nil if PATH is either not a file or it should be hidden on account of `treemacs-show-hidden-files' being non-nil. PATH: Node Path (fn PATH) (defalias 'treemacs--should-reenter\? #[257 "\211;\203 \211\202\211:\205\211@;\205\211@\211\203(\206)\302 \303\304!!\"?\207\305\207" [treemacs-show-hidden-files treemacs-dotfiles-regex s-matches\? file-name-nondirectory directory-file-name t] 7 (#$ . 87921)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put treemacs--should-reenter\? compiler-macro treemacs--should-reenter\?--inliner side-effect-free t] 5) #@26 (fn INLINE--FORM PATH) (defalias 'treemacs--should-reenter\?--inliner #[514 "\3002T\211\301!\203\211\202\302\303!\304\305\306\307DD\310\311D\307\312DDE\312DDEDC\313\305\314\315\316\317\320\321\305DEDE\322FE=\203J\211\266\203\202S\323DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "path" let path cond stringp and consp car if or treemacs-show-hidden-files not s-matches\? treemacs-dotfiles-regex treemacs--filename t macroexp-let*] 15 (#$ . 88558)]) #@171 Reopen dirs below PATH. GIT-INFO is passed through from the previous branch build. PATH: Node Path GIT-INFO: Pfuture | Map (fn PATH &optional GIT-INFO) (defalias 'treemacs--reentry #[513 "\303\304#\211\205x\211\305H\211\205v\211\305\304I\266\211\211\205t\211@\211\306H\303\304#\211\203k;\2033\202@:\205@@;\205@@\211\203T \206U\307\n\310\311!!\"?\202U\312\262\203k\211\211\305\305HI\266\313\314!\"\210\266A\266\202\202\262\262\207" [treemacs-dom treemacs-show-hidden-files treemacs-dotfiles-regex gethash nil 4 1 s-matches\? file-name-nondirectory directory-file-name t treemacs--reopen-node treemacs-goto-node] 14 (#$ . 89060)]) #@106 Reopen file BTN. GIT-INFO is passed through from the previous branch build. (fn BTN &optional GIT-INFO) (defalias 'treemacs--reopen-node #[513 "\301\302\"\211\303\267\202\304\305#\207\306!\207\307!\207\310!\207\211\311\"!\207" [treemacs-TAB-actions-config get-text-property :state #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (dir-node-closed 10 file-node-closed 16 tag-node-closed 20 root-node-closed 24)) treemacs--expand-dir-node :git-future treemacs--expand-file-node treemacs--expand-tag-node treemacs--expand-root-node alist-get] 7 (#$ . 89750)]) (provide 'treemacs-rendering)