;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] "A vector of 26 cons cells, where the ith cons cell contains the string representation and face to use for the i+1th SymbolKind (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--workspace-symbol-action #[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 (#$ . 2546)]) #@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\"\304\310\304\311\"\"\234 \203)\312\313\314@\"\315A#\202*\316\n\203@\312\313\317\320\321!\"\"\315 #\202A\316\203Q\211\316\230\262\203Y\313\322\n\"\202`\313\323 #Q\207" [lsp-ivy-symbol-kind-to-face lsp-ivy-show-symbol-kind lsp-ivy-show-symbol-filename font-lock-comment-face gethash "name" "kind" "containerName" "uri" "location" propertize format "[%s] " face "" " ยท %s" file-relative-name lsp--uri-to-path "%s" "%s.%s"] 15 (#$ . 2852)]) #@204 Map candidate to nil if it should be excluded based on `lsp-ivy-filter-symbol-kind' or FILTER-REGEXPS?, otherwise convert it to an `lsp-ivy:FormattedSymbolInformation' object. (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#\210\262\207" [lsp-ivy-filter-symbol-kind inhibit-changing-match-data gethash "kind" lsp-ivy--format-symbol-match t 0 nil string-match lsp-put :textualRepresentation] 21 (#$ . 3492)]) #@96 Search against WORKSPACES with PROMPT and INITIAL-INPUT. (fn WORKSPACES PROMPT INITIAL-INPUT) (defalias 'lsp-ivy--workspace-symbol #[771 "\300C\300C\300C\301 \302\303#\304\302\305    &\306\307\310\307\311 \312\313\314\315&\f\207" [nil lsp-workspace-root make-closure #[514 "\300\302\303\302\211\203-\211A\262\242\262\262T\262\304\301#\211\203)\211B\262\210\202\266\211\237\262\240\210\305\300\242!\207" [V0 V1 nil 0 lsp-ivy--transform-candidate ivy-update-candidates] 12 "\n\n(fn ALL-CANDIDATES FILTER-REGEXPS\\=\\?)"] ivy-read #[257 "\306!\211@\206 \307\310\311A\"\2039\301\242\230\203\"\304\302\242\"\210\2029\300\312\313\314\315\"\316\317\302\304$\320\321\322\323&\210)\301\240\266\303\242\206D\324\207" [V0 V1 V2 V3 V4 lsp--buffer-workspaces split-string "" mapcar regexp-quote lsp-request-async "workspace/symbol" lsp-make-workspace-symbol-params :query make-closure #[257 "\300\240\210\301\300\242\302\"\207" [V0 V1 V2] 4 "\n\n(fn RESULT)"] :mode detached :cancel-token :workspace-symbol 0] 12 "\n\n(fn USER-INPUT)"] :dynamic-collection t :require-match :initial-input :action lsp-ivy--workspace-symbol-action :caller lsp-ivy-workspace-symbol] 21 (#$ . 4139)]) (ivy-configure 'lsp-ivy-workspace-symbol :display-transformer-fn #[257 "\300\301\"\207" [gethash "textualRepresentation"] 4 "\n\n(fn INPUT0)"]) #@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 (#$ . 5510) "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 (#$ . 5819) "P"]) (provide 'lsp-ivy)