;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!\207" [require ht thunk dash overlay treemacs-dom treemacs-scope treemacs-workspaces treemacs-core-utils] 2) (defconst treemacs--diag-store (make-hash-table :size 50 :test 'equal)) #@52 Debounce guard for the application of diagnostics. (defvar treemacs--diagnostic-timer nil (#$ . 380)) #@52 Debounce delay for the application of diagnostics. (defconst treemacs--apply-diagnostics-delay 3 (#$ . 488)) (byte-code "\300\301\302\303\304\305%\210\300\306\307\303\304\305%\207" [custom-declare-face treemacs-diagnostic-error-face ((t :underline "red")) "TODO." :group treemacs-faces treemacs-diagnostic-warning-face ((t :underline "yellow"))] 6) #@47 TODO PATH DIAGNOSTICS. (fn PATH DIAGNOSTICS) (defalias 'treemacs--reset-and-save-diagnosics #[514 "\301\302#\211\203\303!\210\202\304\305\306\307\310$\262\311#\210\2055\311\211A\262\242\211A\262\242#\210\202\207" [treemacs--diag-store gethash nil clrhash make-hash-table :size 100 :test equal puthash] 8 (#$ . 843)]) #@1007 Display diagnostics based on the given arguments PROVIDER. PROVIDER should be a `thunk' (see thunk.el) that, when evaluated, returns a flat list of consecutive path and face items. File paths should use treemacs' canonical format - they should be absolute, expanded and *not* have a trailing slash. The diagnostic faces could be any face symbols or raw face literals. Treemacs features several pre-made faces named `treemacs-diagnostic-*-face'. This method is debounced, it will never run more often than once every 3 seconds. In addition the use of a lazy thunk ensures that potentially expensive transformations happen only once and only when required. Performance is thus not expected to be a major issue. A basic example use would look like this: (treemacs-apply-diagnostics (thunk-delay '("/path/to/file/x" 'treemacs-diagnostic-warning-face "/path/to/file/y" 'treemacs-diagnostic-error-face "/path/to/file/z" '((:underline "green"))))) (fn PROVIDER) (defalias 'treemacs-apply-diagnostics #[257 "?\205\302 \303\304\305\"#\211\207" [treemacs--diagnostic-timer treemacs--apply-diagnostics-delay run-with-idle-timer nil make-closure #[0 " \211\203\217\211@\211\243\211\306!\n>\204\307\310\311D\"\210\211\312H\306!\n>\204+\307\310\311D\"\210\313H\314!\203\206\211rq\210\212\315\316ed\"\317\"\210\320\300!\211\203\200\211A\262\242\211A\262\242\321\f\322#\203{\323!\324\325T\326\"\206ke\327\326\"\206sd\"\330\331#\266\266\202F\210)\332 \210*\266A\266\202\202\210\322\211\207" [V0 treemacs--scope-storage cl-struct-treemacs-scope-shelf-tags treemacs-override-workspace treemacs-dom treemacs--diagnostic-timer type-of signal wrong-type-argument treemacs-scope-shelf 1 2 buffer-live-p -each overlays-in delete-overlay thunk-force gethash nil treemacs-find-file-node make-overlay previous-single-property-change button next-single-property-change overlay-put face hl-line-highlight] 15]] 7 (#$ . 1189)]) (provide 'treemacs-diagnostics)