;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 image pulse hl-line treemacs-core-utils treemacs-scope treemacs-themes treemacs-icons treemacs-customization treemacs-fringe-indicator treemacs-logging] 2)
#@43 The last button treemacs has highlighted.
(defvar treemacs--last-highlight nil (#$ . 396))
(make-variable-buffer-local 'treemacs--last-highlight)
#@52 Cache key for `treemacs--indentation-string-cache.
(defvar treemacs--indentation-string-cache-key nil (#$ . 548))
(make-variable-buffer-local 'treemacs--indentation-string-cache-key)
#@33 Cached propertized indentation.
(defvar treemacs--indentation-string-cache (vector) (#$ . 737))
(make-variable-buffer-local 'treemacs--indentation-string-cache)
#@40 Set `treemacs--last-highlight' to nil.
(defalias 'treemacs--forget-last-highlight #[0 "\301\211\207" [treemacs--last-highlight nil] 2 (#$ . 904)])
(byte-code "\300\301\302\303#\300\207" [function-put treemacs--forget-last-highlight compiler-macro treemacs--forget-last-highlight--inliner] 4)
#@21 

(fn INLINE--FORM)
(defalias 'treemacs--forget-last-highlight--inliner #[257 "\3002	�\301\302\303E0\207" [inline--just-use setq treemacs--last-highlight nil] 4 (#$ . 1203)])
#@60 Make sure treemacs icons background aligns with hi-line's.
(defalias 'treemacs--setup-icon-highlight #[0 "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\305#\207" [advice-add hl-line-highlight :after treemacs--update-icon-selection enable-theme treemacs--setup-icon-background-colors disable-theme] 4 (#$ . 1384)])
#@71 Tear down highlighting advice when no treemacs buffer exists anymore.
(defalias 'treemacs--tear-down-icon-highlight #[0 "\302	?\205�\303\304\305\"\210\303\306\307\"\210\303\310\307\"\207" [treemacs--last-highlight treemacs--scope-storage nil advice-remove hl-line-highlight treemacs--update-icon-selection enable-theme treemacs--setup-icon-background-colors disable-theme] 3 (#$ . 1713)])
#@66 Highlight current icon, un-highlight `treemacs--last-highlight'.
(defalias 'treemacs--update-icon-selection #[0 "\205\240�\3061|�	\203�\n\203�\307 \310\n\211T#\266\311\307 \312 \313\314$\211\205*�\315\316\"\262\211\205x�\307 \317T\313\"\206;�e\320Z]\321\322\"\314\f\203f�d\fV\203f�\317\fT\313\"\206W�e\320Z\321\323\"\324\211T\325$\266\211\205u�\324\211T\325$\210\211)\266\202\2620\207
:\204\205�!C\314!\"\204\232�\326\327\330\331\332\333#\334\335\"#\210\336\337\340\"\262\207" [treemacs--in-this-buffer treemacs-fringe-indicator-mode treemacs--fringe-indicator-overlay buffer-read-only treemacs--last-highlight treemacs--saved-eldoc-display (error) point-at-bol move-overlay text-property-not-all point-at-eol button nil copy-marker t previous-single-property-change 2 get-text-property img-selected img-unselected put-text-property display message "%s %s" propertize "[Treemacs]" face ((:inherit error :weight bold)) format "Error on highlight, this shouldn't happen: %s" add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs-eldoc-display treemacs--no-messages] 10 (#$ . 2110)])
#@81 Make sure icons' background are pulsed alongside the entire line.

(fn &rest _)
(defalias 'treemacs--pulse-png-advice #[128 "\303=\205X�\304\305\306 \307 \310\304$\211\205�\311\312\"\262\211\205U�\306 \313T\310\"\206)�e\314Z]\211T\315\316\"\317!\211\242\320=\205S�\321\322\n\323\"\324\304\312$\325A\324#\266\326\316$\266\204\262)\207" [major-mode buffer-read-only pulse-momentary-overlay treemacs-mode nil text-property-not-all point-at-bol point-at-eol button copy-marker t previous-single-property-change 2 get-text-property display copy-sequence image face-attribute overlay-get face :background plist-put put-text-property] 11 (#$ . 3237)])
#@52 Visually pulse current line using FACE.

(fn FACE)
(defalias 'treemacs--do-pulse #[257 "\300`\"\210\301\302\303\304#\210\301\305\303\306#\207" [pulse-momentary-highlight-one-line advice-add pulse-momentary-unhighlight :after hl-line-highlight pulse-lighten-highlight treemacs--pulse-png-advice] 5 (#$ . 3903)])
#@128 Pulse current line with `treemacs-on-success-pulse-face'.
Optionally issue a log statement with LOG-ARGS.

(fn &rest LOG-ARGS)
(defalias 'treemacs-pulse-on-success #[128 "\211\203'�:\204\f�	C\304\n\204\"�\305\306\307\310\311\312#\313\314\313\"!#\210\315\316\317\"\210\205.�\320\321!\207" [treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages treemacs-pulse-on-success nil message "%s %s" propertize "[Treemacs]" face font-lock-keyword-face format apply add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs--do-pulse treemacs-on-success-pulse-face] 8 (#$ . 4222)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\207" [function-put treemacs-pulse-on-success lisp-indent-function 1 speed -1 put byte-optimizer byte-compile-inline-expand] 6)
#@128 Pulse current line with `treemacs-on-failure-pulse-face'.
Optionally issue a log statement with LOG-ARGS.

(fn &rest LOG-ARGS)
(defalias 'treemacs-pulse-on-failure #[128 "\211\203'�:\204\f�	C\304\n\204\"�\305\306\307\310\311\312#\313\314\313\"!#\210\315\316\317\"\210\205.�\320\321!\207" [treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages treemacs-pulse-on-failure nil message "%s %s" propertize "[Treemacs]" face ((:inherit warning :weight bold)) format apply add-hook pre-command-hook treemacs--restore-eldoc-after-log treemacs--do-pulse treemacs-on-failure-pulse-face] 8 (#$ . 5028)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\207" [function-put treemacs-pulse-on-failure lisp-indent-function 1 speed -1 put byte-optimizer byte-compile-inline-expand] 6)
#@71 Rebuild indentation string cache up to DEPTH levels deep.

(fn DEPTH)
(defalias 'treemacs--build-indentation-cache #[257 "\305T\306\"	\nB\211T\307\211W\205H�\211	\250\203$�\310	_\n\"\202>�\f\2041�\310\311_\n\"\202>�\312\313\314\315\316	@_CE#I\266\211T\262\202
�\207" [treemacs--indentation-string-cache treemacs-indentation treemacs-indentation-string treemacs--indentation-string-cache-key window-system make-vector nil 0 s-repeat 2 propertize " " display space :width] 13 (#$ . 5844)])
#@59 Gets an indentation string DEPTH levels deep.

(fn DEPTH)
(defalias 'treemacs--get-indentation #[257 "\211GY\204�	@\n=\203�	A=\204�\304!\210H\207" [treemacs--indentation-string-cache treemacs--indentation-string-cache-key treemacs-indentation treemacs-indentation-string treemacs--build-indentation-cache] 3 (#$ . 6350)])
(byte-code "\300\301\302\303#\300\207" [function-put treemacs--get-indentation compiler-macro treemacs--get-indentation--inliner] 4)
#@27 

(fn INLINE--FORM DEPTH)
(defalias 'treemacs--get-indentation--inliner #[514 "\3002K�\211\301!\203�\211\202�\302\303!\304\305\306\307\310\311DE\312\313\314\315D\316ED\312\313\317\315D\320EDF\321DE\322\311EE=\203A�\211\266\203\202J�\323DC\"\266\2030\207" [inline--just-use macroexp-copyable-p make-symbol "depth" progn when or >= length treemacs--indentation-string-cache not eq car treemacs--indentation-string-cache-key treemacs-indentation cdr treemacs-indentation-string treemacs--build-indentation-cache aref macroexp-let*] 13 (#$ . 6819)])
(provide 'treemacs-visuals)