;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\305\306\307\310\311\304%\210\312\313\314\315\316DD\317\311\306\320\321&\210\312\322\314\315\323DD\324\311\306\320\321&\210\312\325\314\315\326DD\327\311\306\320\330&\210\312\331\314\315\332DD\333\311\306\320\334&\207" [require ivy dash lsp-protocol lsp-mode custom-declare-group lsp-ivy nil "LSP support for ivy-based symbol completion" :group custom-declare-variable lsp-ivy-show-symbol-kind funcall function #[0 "\300\207" [t] 1] "Whether to show the symbol's kind when showing lsp symbols." :type boolean lsp-ivy-show-symbol-filename #[0 "\300\207" [t] 1] "Whether to show the project-relative path to a symbol's point of definition." lsp-ivy-filter-symbol-kind #[0 "\300\207" [nil] 1] "A list of LSP SymbolKind's to filter out." (repeat integer) lsp-ivy-symbol-kind-to-face #[0 "\300\207" [[(" ") ("File" . font-lock-builtin-face) ("Modu" . font-lock-keyword-face) ("Nmsp" . font-lock-keyword-face) ("Pack" . font-lock-keyword-face) ("Clss" . font-lock-type-face) ("Meth" . font-lock-function-name-face) ("Prop" . font-lock-constant-face) ("Fld " . font-lock-constant-face) ("Cons" . font-lock-function-name-face) ("Enum" . font-lock-type-face) ("Intf" . font-lock-type-face) ("Func" . font-lock-function-name-face) ("Var " . font-lock-variable-name-face) ("Cnst" . font-lock-constant-face) ("Str " . font-lock-string-face) ("Num " . font-lock-builtin-face) ("Bool " . font-lock-builtin-face) ("Arr " . font-lock-builtin-face) ("Obj " . font-lock-builtin-face) ("Key " . font-lock-constant-face) ("Null" . font-lock-builtin-face) ("EmMm" . font-lock-constant-face) ("Srct" . font-lock-type-face) ("Evnt" . font-lock-builtin-face) ("Op " . font-lock-function-name-face) ("TPar" . font-lock-type-face)]] 1] "Mapping between eacho of LSP's SymbolKind and a face.\n\nA vector of 26 cons cells, where the ith cons cell contains\nthe string representation and face to use for the i+1th\nSymbolKind (defined in the LSP)." (vector (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face) (cons string face))] 8) #@42 Jump to selected candidate. (fn INPUT0) (defalias 'lsp-ivy--goto-symbol #[257 "\300\301\"\300\302\"\300\303\300\304\"\"\300\305\"\300\306\"\307\310!!\210eb\210y\210\211u\207" [gethash "location" "uri" "start" "range" "line" "character" find-file lsp--uri-to-path] 9 (#$ . 2605)]) #@87 Convert the match returned by `lsp-mode` into a candidate string. (fn INPUT0 INPUT1) (defalias 'lsp-ivy--format-symbol-match #[514 "\304\305\"\304\306\304\307\"\"GW\203\202\310\234 \203-\311\312\313@\"\314A#\202.\315\n\203D\311\312\316\317\320 !\"\"\314 #\202E\315\321 \322\"Q\207" [lsp-ivy-symbol-kind-to-face lsp-ivy-show-symbol-kind lsp-ivy-show-symbol-filename font-lock-comment-face gethash "kind" "uri" "location" 0 propertize format "[%s] " face "" " ยท %s" file-relative-name lsp--uri-to-path lsp-render-symbol-information "."] 15 (#$ . 2899)]) #@222 Map candidate to nil if it should be excluded based on `lsp-ivy-filter-symbol-kind' or FILTER-REGEXPS?, otherwise convert it to a textual representation with the original candidate as property. (fn INPUT0 INPUT1 INPUT2) (defalias 'lsp-ivy--transform-candidate #[771 "\302\303\"\235?\205_\304\"\305\306\307\211\211\203O\211A\262\242\262\262\211\262\203O\307\305\310#)\266\203\211\262\203O\262\262T\262\202\266\211\262\205]\311\312#\262\207" [lsp-ivy-filter-symbol-kind inhibit-changing-match-data gethash "kind" lsp-ivy--format-symbol-match t 0 nil string-match propertize lsp-ivy-symbol] 21 (#$ . 3485)]) #@74 Jump to the `&SymbolInformation' defined in SYM-STRING. (fn SYM-STRING) (defalias 'lsp-ivy--workspace-symbol-action #[257 "\300\301\302\303#!\207" [lsp-ivy--goto-symbol get-text-property 0 lsp-ivy-symbol] 6 (#$ . 4141)]) #@96 Search against WORKSPACES with PROMPT and INITIAL-INPUT. (fn WORKSPACES PROMPT INITIAL-INPUT) (defalias 'lsp-ivy--workspace-symbol #[771 "\301\302C\302C\303 \304\305\306 %\307\301\310\301\311 \312\313\314\315&\f)\207" [non-essential t nil lsp-workspace-root ivy-read make-closure #[257 "\305!\211@\206 \306\307\310A\"\301\242\230\204#\302\300\311\312\313\314\"\")\240\210\301\240\210\315\302\242\316\315\211\203T\211A\262\242\262\262T\262\317\303#\211\203P\211B\262\210\202-\266\211\237\207" [V0 V1 V2 V3 lsp--buffer-workspaces split-string "" mapcar regexp-quote lsp-request-while-no-input "workspace/symbol" lsp-make-workspace-symbol-params :query nil 0 lsp-ivy--transform-candidate] 13 "\n\n(fn USER-INPUT)"] :dynamic-collection :require-match :initial-input :action lsp-ivy--workspace-symbol-action :caller lsp-ivy-workspace-symbol] 19 (#$ . 4370)]) #@118 `ivy' for lsp workspace/symbol. When called with prefix ARG the default selection will be symbol at point. (fn ARG) (defalias 'lsp-ivy-workspace-symbol #[257 "\300\301 \302\205 \303\304!#\207" [lsp-ivy--workspace-symbol lsp-workspaces "Workspace symbol: " thing-at-point symbol] 6 (#$ . 5269) "P"]) #@152 `ivy' for lsp workspace/symbol for all of the current workspaces. When called with prefix ARG the default selection will be symbol at point. (fn ARG) (defalias 'lsp-ivy-global-workspace-symbol #[257 "\300\301\302\303\304 \211\305H\262!!!\306\205\307\310!#\207" [lsp-ivy--workspace-symbol -uniq -flatten ht-values lsp-session 4 "Global workspace symbols: " thing-at-point symbol] 8 (#$ . 5578) "P"]) #@59 Remove a project-root from the list of workspace folders. (defalias 'lsp-ivy-workspace-folders-remove #[0 "\301 \302\303\304H\305\211\205\306\"\262\307\310&\207" [default-directory lsp-session ivy-read "Select workspace folder to remove: " 1 :preselect lsp-find-session-folder :action #[257 "\300!\210\301 \207" [lsp-workspace-folders-remove ivy--kill-current-candidate] 3 "\n\n(fn FOLDER)"]] 9 (#$ . 5988) nil]) (provide 'lsp-ivy)