;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!\207" [require xref easymenu hl-line treemacs-core-utils treemacs-tags treemacs-scope treemacs-follow-mode treemacs-filewatch-mode treemacs-logging] 2) (defvar treemacs--mouse-project-list-functions '(("Add Project.el project" . treemacs--builtin-project-mouse-selection-menu))) #@55 Build a mouse selection menu for project.el projects. (defalias 'treemacs--builtin-project-mouse-selection-menu #[0 "\302\303!\203\304\305\306\307\303 \"\"\202\310\211\310=\203\311\312\313\"C\207\211\204(\311\314\313\"C\207\211\315\316\315\211\203\316\211A\262\242\262\262T\262\315\317 \320!>\204T\321\322\323D\"\210\211\324H\262\316\315\211\211\203\274\211A\262\242\262\262\211\262\203\274\320! >\204\206\321\322\325D\"\210\324H\230\206\243\326\211GSH\327=\203\236\202\241\330P\"\266\204\203\257\315\262\203\274\262\262T\262\202]\266\211\262\262\204.B\262\202.\266\211\237\262\211\204\336\311\331\313\"C\207\211\332\333\"\207" [cl-struct-treemacs-workspace-tags cl-struct-treemacs-project-tags fboundp project-known-project-roots -sort string< -map treemacs-canonical-path unavailable vector "Project.el api is not available" ignore "Project.el list is empty" nil 0 treemacs-current-workspace type-of signal wrong-type-argument treemacs-workspace 2 treemacs-project s-starts-with\? 47 "/" "All Project.el projects are alread in the workspace" mapcar #[257 "\300\301\302\"\"\207" [vector make-closure #[0 "\301\300!\207" [V0 treemacs-add-project-to-workspace] 2 nil nil]] 6 "\n\n(fn IT)"]] 21 (#$ . 491)]) #@108 Move focus to the clicked line. Must be bound to a mouse click, or EVENT will not be supplied. (fn EVENT) (defalias 'treemacs-leftclick-action #[257 "\211\301\234\302=\205\303A@@!\210\304A@!b\210\305 \203\306 \210\307A@8\203j\310\311 \312 \313\314$\211\2056\315\316\"\262\211\203i\317\320\"\211\321\267\266\202j\322!\266\202j\323!\266\202j\324!\266\202j\325!\266\202j\210\210\326=\205\327 \210\317`\330\"\242\331=\205\332u\207" [major-mode 0 down-mouse-1 select-window posn-point region-active-p keyboard-quit 7 text-property-not-all point-at-bol point-at-eol button nil copy-marker t get-text-property :state #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file-node-open 72 file-node-closed 80 tag-node-open 88 tag-node-closed 96)) treemacs--collapse-file-node treemacs--expand-file-node treemacs--collapse-tag-node treemacs--expand-tag-node treemacs-mode beginning-of-line display image 1] 6 (#$ . 1779) "e"]) #@309 Run the appropriate double-click action for the current node. In the default configuration this means to do the same as `treemacs-RET-action'. This function's exact configuration is stored in `treemacs-doubleclick-actions-config'. Must be bound to a mouse click, or EVENT will not be supplied. (fn EVENT) (defalias 'treemacs-doubleclick-action #[257 "\211\306\234\307=\205\230\310A@!b\210\311 \203\312 \210\313\314 \315 \316\317$\211\205'\320\321\"\262\211\2051\322\323\"\262\211\205\226\211\236A\211\203Z\211 \210 \324=\205\224\325 \210\322`\326\"\242\327=\205\224\330u\202\224\331\332\333\334\"\335\336#D\211\203\213\n:\204p C\317\f\204\206\337\340\332\341\335\342#\333\343\333\"!#\210\344\345\346\"\210 \205\222\347\350!\262\262\262\207" [treemacs-doubleclick-actions-config major-mode treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages treemacs-pulse-on-failure 0 double-mouse-1 posn-point region-active-p keyboard-quit text-property-not-all point-at-bol point-at-eol button nil copy-marker t get-text-property :state treemacs-mode beginning-of-line display image 1 "No double click action defined for node of type %s." propertize format "%s" face font-lock-type-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] 11 (#$ . 2770) "e"]) #@345 A modified single-leftclick action that expands the clicked nodes. Can be bound to if you prefer to expand nodes with a single click instead of a double click. Either way it must be bound to a mouse click, or EVENT will not be supplied. Clicking on icons will expand a file's tags, just like `treemacs-leftclick-action'. (fn EVENT) (defalias 'treemacs-single-click-expand-action #[257 "\211\302\234\303=\205\252\304A@@!\210\305A@!b\210\306 \203\307 \210\310A@8\203m\311\312 \313 \314\315$\211\2056\316\317\"\262\211\203i\320\321\"\211\322\267\266\202\225\323!\266\202\225\324!\266\202\225\325!\266\202\225\326!\266\202\225\210\210\202\225\311\312 \313 \314\315$\211\205}\316\317\"\262\211\205\207\320\321\"\262\211\203\224\327\"A \210\210 \330=\205\252\331 \210\320`\332\"\242\333=\205\252\334u\207" [treemacs-doubleclick-actions-config major-mode 0 mouse-1 select-window posn-point region-active-p keyboard-quit 7 text-property-not-all point-at-bol point-at-eol button nil copy-marker t get-text-property :state #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file-node-open 72 file-node-closed 80 tag-node-open 88 tag-node-closed 96)) treemacs--collapse-file-node treemacs--expand-file-node treemacs--collapse-tag-node treemacs--expand-tag-node assoc treemacs-mode beginning-of-line display image 1] 6 (#$ . 4205) "e"]) #@123 Drag a file/dir node to be opened in a window. Must be bound to a mouse click, or EVENT will not be supplied. (fn EVENT) (defalias 'treemacs-dragleftclick-action #[257 "\211\300\234\301=\205K\302 \211\205Ir\211q\210\303\304 \305 \306\307$\211\205\"\310\311\"\262)\211\211\205.\312\313\"\262\211\211;\203D\314\315\234\300\234!\210\316!\202E\307\262\266\202\262\207" [0 drag-mouse-1 treemacs-get-local-buffer text-property-not-all point-at-bol point-at-eol button nil copy-marker t get-text-property :path select-window 2 find-file] 8 (#$ . 5622) "e"]) #@298 Define the behaviour of `treemacs-doubleclick-action'. Determines that a button with a given STATE should lead to the execution of ACTION. The list of possible states can be found in `treemacs-valid-button-states'. ACTION should be one of the `treemacs-visit-node-*' commands. (fn STATE ACTION) (defalias 'treemacs-define-doubleclick-action #[514 "\301\"BB\211\207" [treemacs-doubleclick-actions-config assq-delete-all] 5 (#$ . 6195)]) #@203 Return source buffer or list of buffer and position for the current node. This information can be used for future display. Stay in the selected window and ignore any prefix argument. (fn &optional _) (defalias 'treemacs-node-buffer-and-position #[256 "\305\306\307 \310 \311\312$\211\205\313\305\"\262\211\205\271\312\314\315\"\316 \317>\204d\320N\204d\321\322D\211\203V\n:\204; C\312\204Q\323\324\325\326\327\330#\331\332\331\"!#\210\333\334\335\"\210\f\205]\336\337!\262\266\202\202\270\340\316 \206p\341\316 \312\211#!\210\342\267\202\236\343r\344!q\210\314\345\")!\202\262\343r\344!q\210\314\345\")!\202\262\346!\202\262\320N\211\203\253\211!\202\260\347\350\317#\262\340!\210\266\202)\262)\207" [treemacs--no-messages treemacs--ready-to-follow treemacs--saved-eldoc-display treemacs-eldoc-display treemacs-pulse-on-failure t text-property-not-all point-at-bol point-at-eol button nil copy-marker get-text-property :state selected-window (tag-node file-node-closed file-node-open dir-node-closed dir-node-open root-node-closed root-node-open) :treemacs-visit-action "%s" "" 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 select-window next-window #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (root-node-closed 120 root-node-open 120 dir-node-closed 120 dir-node-open 120 file-node-closed 136 file-node-open 136 tag-node 152)) find-file-noselect marker-buffer :path treemacs--tag-noselect error "No match achieved even though button's state %s was part of the set of valid states %s"] 12 (#$ . 6647) "P"]) #@108 Return a list of the source buffer for FILE and the position of the tag from TAG-PATH. (fn FILE TAG-PATH) (defalias 'treemacs--imenu-tag-noselect #[514 "\303!\304!\3051\306!\210\307!\211\203&\211@\310\"A\262A\266\202\202\210\311\312\313\312\211\211\203`\211A\262\242\262\262\211\262\203`@\n\232\203S\312\262\203`\262\262T\262\202.\266\211\262A\"\211A\262\242\206w\314!D\266\203\2620\207:\204\207 C\312\n\204\241\315\316\317\320\321\322#\323\324\317\321\325###\210\326\327\330\"\207" [treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages -last-item -butlast (error) find-file-noselect treemacs--get-imenu-index assoc treemacs--extract-position nil 0 get-file-buffer message "%s %s" propertize "[Treemacs]" face ((:inherit error :weight bold)) format "Something went wrong when finding tag '%s': %s" treemacs-tags-face add-hook pre-command-hook treemacs--restore-eldoc-after-log] 14 (#$ . 8402)]) #@85 Return list of tag source buffer and position for BTN for future display. (fn BTN) (defalias 'treemacs--tag-noselect #[257 "\304\305\306r\307!q\210\310\311\"\310\312\"\313\"\266\202)\211A\262\242\203(D\207\314\267\202\265\315\211r\307 !q\210\316 !\262\310 \312\"\262)\317\"\207r\307!q\210\320\321 T\322\"\206]e\323\n\322\"\206fd\")!\211\205t!!D\207 :\204}\nC\315 \204\260\324\325\326\327\330\331#\332\333\326r\307 !q\210\320\321T\322\"\206\237e\323\322\"\206\250d\")\330\334#\"#\210\335\336\337\"\207\340\341\"\207" [treemacs-goto-tag-strategy treemacs--saved-eldoc-display treemacs-eldoc-display treemacs--no-messages #[257 "\300\301 \"@\207" [xref-backend-definitions xref-find-backend] 4 "Return the first definition of string IDENTIFIER.\n\n(fn IDENTIFIER)"] #[257 "\300\212\301\302!!)!\207" [marker-buffer xref-location-marker xref-item-location] 5 "Return the buffer in which xref ITEM is defined.\n\n(fn ITEM)"] #[257 "\300\212\301\302!!)!\207" [marker-position xref-location-marker xref-item-location] 5 "Return the buffer position where xref ITEM is defined.\n\n(fn ITEM)"] marker-buffer get-text-property :marker :path treemacs--extract-position #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (refetch-index 46 call-xref 74 issue-warning 117)) nil treemacs--nearest-path treemacs--imenu-tag-noselect buffer-substring-no-properties previous-single-property-change button next-single-property-change message "%s %s" propertize "[Treemacs]" face ((:inherit warning :weight bold)) format "Tag '%s' is located in a buffer that does not exist." treemacs-tags-face add-hook pre-command-hook treemacs--restore-eldoc-after-log error "[Treemacs] '%s' is an invalid value for treemacs-goto-tag-strategy"] 18 (#$ . 9385)]) #@70 Show a contextual right click menu based on click EVENT. (fn EVENT) (defalias 'treemacs-rightclick-menu #[257 "\306 \307=\204 \310\311 !\210\312A@!b\210\313 \210\314 \210\315\316\317 \320 \321\306$\211\205+\322\323\"\262\211\211\2056\324\325\"\262\316\317 \320 \321\306$\211\205H\322\323\"\262\211\205Q\326!\262\327\306\330\331\332\333\334\n\n!$\335\334??\336BBB\331\337\340\334\f \341>!$\331\342\340\334 \f\343>!$\331\344\345\334!$\331\346\347\334!$\331\350\351\334!$\331\352\353\334!$\354\331\355\356\334!$\331\357\360\334!$\331\361\362\334!$\331\363\364\334!$\257\365\366\367\370\371\372\n\"\331\373\374\334!$\331\375\376\334!$D\"BB\377\201A\201B\331\201C\201D \203 \201E\202\201F\"\201GB\"\201B\331\201C\201H\f\203*\201E\202-\201F\"\201IB\"\201B\331\201C\201J \203G\201E\202J\201F\"\201KB\"\201B\331\201C\201L@\203e\201E\202h\201F\"\201MB\"\257\201NBBBBBBBBBBBBBB\"\201O\"\201P\201B\331\"\"\201Q!\204\276\211=\204\276\262\201O\"\262\201P\201B\331\"\"\262\202\224\211\203\320\201Q!\203\320\201R!\210\313 \266\206\262)\207" [treemacs--ready-to-follow major-mode treemacs--mouse-project-list-functions treemacs-show-hidden-files treemacs-follow-mode treemacs-filewatch-mode nil treemacs-mode select-window treemacs-get-local-window posn-point hl-line-highlight redisplay #[257 "\211??\207" #1=[] 2 "\n\n(fn VALUE)"] text-property-not-all point-at-bol point-at-eol button copy-marker t get-text-property :state treemacs-project-of-node easy-menu-create-menu ("New" ["New File" treemacs-create-file] ["New Directory" treemacs-create-dir]) vector "Open" treemacs-visit-node-no-split :visible "Open With" (["Open Directly" treemacs-visit-node-no-split] ["Open In External Application" treemacs-visit-node-in-external-application] ["Open With Vertical Split" treemacs-visit-node-vertical-split] ["Open With Horizontal Split" treemacs-visit-node-horizontal-split] ["Open With Ace" treemacs-visit-node-ace] ["Open With Ace & Vertical Split" treemacs-visit-node-ace-vertical-split] ["Open With Ace & Horizontal Split" treemacs-visit-node-ace-horizontal-split]) "Open Tags" treemacs-toggle-node (file-node-closed tag-node-closed) "Close Tags" (file-node-open tag-node-open) "--" #'ignore "Rename" treemacs-rename "Delete" treemacs-delete "Move" treemacs-move-file "Copy" "Copy File" treemacs-copy-file "Copy Absolute Path" treemacs-copy-absolute-path-at-point "Copy Relative Path" treemacs-copy-relative-path-at-point "Copy Project Path" treemacs-copy-project-path-at-point ["--" #'ignore t] "Projects" ["Add Project" treemacs-add-project] append mapcar #[257 "\211@A B\207" #1# 3 "\n\n(fn IT)"] "Remove Project" treemacs-remove-project-from-workspace "Rename Project" treemacs-rename-project ("Workspaces" ["Edit Workspaces" treemacs-edit-workspaces] ["Create Workspace" treemacs-create-workspace] ["Remove Workspace" treemacs-remove-workspace] ["Rename Workspace" treemacs-rename-workspace] ["Switch Workspace" treemacs-switch-workspace] ["Set Fallback Workspace" treemacs-set-fallback-workspace]) treemacs-fringe-indicator-mode "Toggles" apply format "Dotfile Visibility (Currently %s)" "Enabled" "Disabled" (treemacs-toggle-show-dotfiles) "Follow-Mode (Currently %s)" (treemacs-follow-mode) "Filewatch-Mode (Currently %s)" (treemacs-filewatch-mode) "Fringe-Indicator-Mode (Currently %s)" (treemacs-fringe-indicator-mode) (("Help" ["Show Helpful Hydra" treemacs-helpful-hydra] ["Show Active Extensions" treemacs-show-extensions] ["Show Changelog" treemacs-show-changelog])) x-popup-menu lookup-key commandp call-interactively] 29 (#$ . 11200) "e"]) (provide 'treemacs-mouse-interface)