;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\306\307\310\311\312\302\312\301&\210\313\314\315\316\317DD\320\321\322%\207" [require eldoc ycmd deferred dash s custom-declare-group ycmd-eldoc nil "Eldoc support for `ycmd-mode'." :group custom-declare-variable ycmd-eldoc-always-semantic-server-query-modes funcall function #[0 "\300\207" [(not c-mode c++-mode objc-mode)] 1] "Modes for which `ycmd-eldoc' always queries semantic completion.\n\nIf t, the ycmd server query is always semantic. If a list, server\nquery is semantic for all `major-mode' symbols in that list. If\nthe `car' of the list is `not', server query is sematic for all\n`major-mode' symbols _not_ in that list. If nil, the server query\nis only semantic after a semantic trigger." :type list] 8) (defvar ycmd-eldoc--cache (make-vector 2 nil) nil) (make-variable-buffer-local 'ycmd-eldoc--cache) (defvar ycmd-eldoc--cached-get-type-command 'none nil) (make-variable-buffer-local 'ycmd-eldoc--cached-get-type-command) #@33 Eldoc function for `ycmd-mode'. (defalias 'ycmd-eldoc--documentation-function #[0 "\205\301 ?\205\302\303 \262\304\305\"\262\304\306\"\266\302\207" [ycmd-mode ycmd-parsing-in-progress-p nil ycmd-eldoc--check-if-semantic-completer-exists-for-mode deferred:nextc #[257 "\211\205\300 \207" [ycmd-eldoc--info-at-point] 2 "\n\n(fn RESPONSE)"] #[257 "\300!\207" [eldoc-message] 3 "\n\n(fn TEXT)"]] 4 (#$ . 1109)]) #@80 Return a deferred object whose return value is t if semantic completer exists. (defalias 'ycmd-eldoc--check-if-semantic-completer-exists-for-mode #[0 "\300\301\302!\262\303\304\"\207" [nil deferred:next #[0 "\300 \207" [ycmd-semantic-completer-available-p] 1] deferred:nextc #[257 "\211\203\211\301=\203\302\303\"\210\304\305!\210\211\306=\207" [major-mode none message "No semantic completer exists for major-mode: `%s'. Ycmd ELDoc mode disabled in current buffer." ycmd-eldoc-mode -1 t] 4 "\n\n(fn RESPONSE)"]] 4 (#$ . 1536)]) #@48 Check whether server query should be semantic. (defalias 'ycmd-eldoc-always-semantic-server-query-p #[0 "\302=\203\302\207:\203\"\242\211\303=\203\243\211 >?\207 >\207 >\207" [ycmd-eldoc-always-semantic-server-query-modes major-mode t not] 5 (#$ . 2078)]) #@59 Move cursor to function name and evluate BODY. (fn BODY) (defalias 'ycmd-eldoc--with-point-at-func-name '(macro . #[257 "\300\301E\207" [save-excursion (ycmd-eldoc--goto-func-name)] 4 (#$ . 2354)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ycmd-eldoc--with-point-at-func-name lisp-indent-function 0 put edebug-form-spec t] 5) #@29 Get function info at point. (defalias 'ycmd-eldoc--info-at-point #[0 "\212\301 \210\302 )\211\203\211\303H=\203\304H\207\305\306\307\310\"!\262\311\307\312\"\"\262\311\313\"\262\311\307\314\"\"\207" [ycmd-eldoc--cache ycmd-eldoc--goto-func-name symbol-at-point 0 1 nil deferred:next make-closure #[0 "\300\205$\212\302 \210 \206\303 \304\211\305 \262\306\307\310\"\"\262\211\262\262*\207" [V0 ycmd-force-semantic-completion ycmd-eldoc--goto-func-name ycmd-eldoc-always-semantic-server-query-p nil ycmd-get-completions deferred:nextc make-closure #[257 "\300\203?r\300q\210\301!\203<\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203/\307!\266\203\2027\305\310#\266\311\262\202=\211)\207\301!\203k\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203b\307!\207\305\310#\266\311\207\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" nil] 9 "\n\n(fn RESPONSE)"]] 7] deferred:nextc #[257 "\301\236A\211\205\302\303\300!\"\207" [V0 completions ycmd-eldoc--generate-message symbol-name] 5 "\n\n(fn COMPLETIONS)"] #[257 "\211\206\300 \207" [ycmd-eldoc--get-type] 2 "\n\n(fn TEXT)"] #[257 "\211\205 \301!\262\302\300\"\207" [V0 ycmd--fontify-code ycmd-eldoc--cache-store] 4 "\n\n(fn TEXT)"]] 7 (#$ . 2713)]) #@65 Store SYMBOL and TEXT to `ycmd-eldoc--cache'. (fn SYMBOL TEXT) (defalias 'ycmd-eldoc--cache-store #[514 "\301I\210\302\205\fI\210\207" [ycmd-eldoc--cache 0 1] 5 (#$ . 4077)]) #@99 If point is inside a function call, move to the function name. foo(bar, |baz); -> foo|(bar, baz); (defalias 'ycmd-eldoc--goto-func-name #[0 "\300 A@`\205b\210\301\302!?\205\211b\207" [syntax-ppss looking-at "("] 4 (#$ . 4265)]) #@68 Generate eldoc message for SYMBOL from RESULT. (fn SYMBOL RESULT) (defalias 'ycmd-eldoc--generate-message #[514 "\300\301\300\211\203B\211A\262\242\262\262T\262\302\236A\303\236A\304 \"\2053\211?\2063\305\306\"?\266\202\262\203B\262\202\266\211\237\262\211\205r\211@\211\205p\307\236A\206]\303\236A\211\205n\310!?\205n\311\312\313#@\262\262\207" [nil 0 insertion_text extra_menu_info s-equals\? -contains\? ("[ID]" "[File]" "[Dir]" "[File&Dir]") detailed_info s-blank\? s-split-up-to "\n" 1] 13 (#$ . 4505)]) #@31 Get type at current position. (defalias 'ycmd-eldoc--get-type #[0 "\205\301\302 \262\303\304\"\262\211\262\207" [ycmd-eldoc--cached-get-type-command nil ycmd-eldoc--get-type-command-deferred deferred:nextc #[257 "\211\205\300\211\301!\262\302\303\304\"\"\262\211\262\262\207" [nil ycmd--command-request deferred:nextc make-closure #[257 "\300\203Pr\300q\210\301!\203<\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203/\307!\266\203\2027\305\310#\266\311\262\202N\312!\211\242\243\211\205J\266\204\262)\207\301!\203|\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203s\307!\207\305\310#\266\311\207\312!\211\242\243\211\205\212\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" nil ycmd--get-message] 9 "\n\n(fn RESPONSE)"]] 8 "\n\n(fn CMD)"]] 4 (#$ . 5060)]) #@122 Return a deferred object with the chached GetType command. REQUEST-DATA is plist returned from `ycmd--get-request-data'. (defalias 'ycmd-eldoc--get-type-command-deferred #[0 "\301=\203\302\211\303\304\305\306\"!\262\307\310\311\"\"\207\312\302\"\207" [ycmd-eldoc--cached-get-type-command none nil ycmd--request make-ycmd-request-data :handler "defined_subcommands" deferred:nextc make-closure #[257 "\300\203Er\300q\210\302!\203<\211\303\304\236A\236A\305\304\236A\236A\306\236A\307\230\203/\310!\266\203\2027\306\311#\266\312\262\202C\313\314\"@\211)\207\302!\203q\211\303\304\236A\236A\305\304\236A\236A\306\236A\307\230\203h\310!\207\306\311#\266\312\207\313\314\"@\211\207" [V0 ycmd-eldoc--cached-get-type-command ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" nil -intersection ("GetTypeImprecise" "GetType")] 9 "\n\n(fn RESPONSE)"] deferred:next] 7 (#$ . 5980)]) #@30 Setup eldoc for `ycmd-mode'. (defalias 'ycmd-eldoc-setup #[0 "\300\301!\207" [ycmd-eldoc-mode 1] 2 (#$ . 6964) nil]) (make-obsolete 'ycmd-eldoc-setup 'ycmd-eldoc-mode "0.2") #@28 Reset `ycmd-eldoc--cache'. (defalias 'ycmd-eldoc--teardown #[0 "\301\302\211\"\210\303\211\207" [ycmd-eldoc--cached-get-type-command ycmd-eldoc--cache-store nil none] 3 (#$ . 7144)]) #@99 Non-nil if Ycmd-Eldoc mode is enabled. Use the command `ycmd-eldoc-mode' to change this variable. (defvar ycmd-eldoc-mode nil (#$ . 7334)) (make-variable-buffer-local 'ycmd-eldoc-mode) #@579 Toggle ycmd eldoc mode. This is a minor mode. If called interactively, toggle the `Ycmd-Eldoc mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `ycmd-eldoc-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'ycmd-eldoc-mode #[256 "\303 \304=\203 ?\202\247\203\305W\203\306\202\307\310\301!\2031\311\300 \"\2031\300 B\203V\n\204?\312\302!\210\313\314\315\316\317B\320\306$\210\321\305!\210\322\323\324\306\325$\210\202w\321\326!\210\327\330\302!\320\"\211\330\302!=\204m\331\302\"\210\210\332\323\324\325#\210\324 \210\333\334\203\201\335\202\202\336\"\210\337\340!\203\244\303 \203\226\211\303 \232\203\244\341\342\203\240\343\202\241\344\345#\210\210\346 \210\207" [ycmd-eldoc-mode local-minor-modes eldoc-documentation-function current-message toggle 1 nil t boundp delq make-local-variable ignore advice--add-function :before-until #[0 "\300\301!\207" [advice--buffer-local eldoc-documentation-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eldoc-documentation-function] 4 "\n\n(fn GV--VAL)"] ycmd-eldoc--documentation-function eldoc-mode add-hook ycmd-after-teardown-hook ycmd-eldoc--teardown local -1 advice--remove-function advice--buffer-local advice--set-buffer-local remove-hook run-hooks ycmd-eldoc-mode-hook ycmd-eldoc-mode-on-hook ycmd-eldoc-mode-off-hook called-interactively-p any message "Ycmd-Eldoc mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 7526) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar ycmd-eldoc-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\210\315\316!\207" [ycmd-eldoc-mode-map ycmd-eldoc-mode-hook variable-documentation put "Hook run after entering or leaving `ycmd-eldoc-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode ycmd-eldoc-mode "" boundp provide ycmd-eldoc] 6)