;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!\210\300\312!\210\300\313!\210\314\315\316\317\320\321\322\323\322\324& \210\325\326\327\330\331DD\332\333\334%\210\325\335\327\330\336DD\337\333\340%\210\325\341\327\330\342DD\343\333\344\345\346&\210\325\347\327\330\350DD\351\333\352%\210\325\353\327\330\354DD\355\333\356%\210\325\357\327\330\360DD\361\333\362%\210\325\363\327\330\364DD\365\333\366%\210\325\367\327\330\370DD\371\333\372\345\346&\210\325\373\327\330\374DD\375\333\376\377\201@&\210\325\201A\327\330\201BDD\201C\333\201D%\210\325\201E\327\330\201FDD\201G\333\201H%\210\325\201I\327\330\201JDD\201K\333\201L%\210\325\201M\327\330\201NDD\201O\333\201P\377\201Q&\210\325\201R\327\330\201SDD\201T\333\201U%\210\325\201V\327\330\201WDD\201X\333\201Y%\210\325\201Z\327\330\201[DD\201\\\333\201Y%\210\325\201]\327\330\201^DD\201_\333\201Y%\210\325\201`\327\330\201aDD\201b\333\201Y%\210\325\201c\327\330\201dDD\201e\333\201f\377\201g&\210\325\201h\327\330\201iDD\201j\333\201k%\210\325\201l\327\330\201mDD\201n\333\201o%\210\325\201p\327\330\201qDD\201r\333\201o%\210\325\201s\327\330\201tDD\201u\333\201Y%\210\325\201v\327\330\201wDD\201x\333\201y%\210\325\201z\327\330\201{DD\201|\333\201U%\210\325\201}\327\330\201~DD\201\333\201U%\210\325\201\200\327\330\201\201DD\201\202\333\201U%\210\325\201\203\327\330\201\204DD\201\205\333\201U%\210\325\201\206\327\330\201\207DD\201\210\333\201U%\210\325\201\211\327\330\201\212DD\201\213\333\201U%\210\325\201\214\327\330\201\215DD\201\216\333\201\217%\210\325\201\220\327\330\201\221DD\201\222\333\201Y%\210\325\201\223\327\330\201\224DD\201\225\333\372\345\346&\210\325\201\226\327\330\201\227DD\201\230\333\372\345\346&\210\325\201\231\327\330\201\232DD\201\233\333\201U\201\234\201\235&\210\325\201\236\327\330\201\237DD\201\240\333\201\241\345\346\201\234\201\242& \207" [require dash s deferred hmac-def json request request-deferred etags easymenu diff diff-mode custom-declare-group ycmd nil "a ycmd emacs client" :link (url-link :tag "Github" "https://github.com/abingham/emacs-ycmd") :group tools programming custom-declare-variable ycmd-global-config funcall function #[0 "\300\207" [nil] 1] "Path to global extra conf file." :type (string) ycmd-extra-conf-whitelist #[0 "\300\207" [nil] 1] "List of glob expressions which match extra configs.\nWhitelisted configs are loaded without confirmation." (repeat string) ycmd-extra-conf-handler #[0 "\300\207" [ask] 1] "What to do when an un-whitelisted extra config is encountered.\n\nOptions are:\n\n`load'\n Automatically load unknown extra confs.\n\n`ignore'\n Ignore unknown extra confs and do not load them.\n\n`ask'\n Ask the user for each unknown extra conf." (choice (const :tag "Load unknown extra confs" load) (const :tag "Ignore unknown extra confs" ignore) (const :tag "Ask the user" ask)) :risky t ycmd-host #[0 "\300\207" [#1="127.0.0.1"] 1 #1#] "The host on which the ycmd server is running." (string) ycmd-server-command #[0 "\300\207" [nil] 1] "The ycmd server program command.\n\nThe value is a list of arguments to run the ycmd server.\nExample value:\n\n(set-variable 'ycmd-server-command (\"python\" \"/path/to/ycmd/package/\"))" (repeat string) ycmd-server-args #[0 "\300\207" [("--log=debug" "--keep_logfile" "--idle_suicide_seconds=10800")] 1] "Extra arguments to pass to the ycmd server." (repeat string) ycmd-server-port #[0 "\300\207" [nil] 1] "The ycmd server port. If nil, use random port." (number) ycmd-file-parse-result-hook #[0 "\300\207" [nil] 1] "Functions to run with file-parse results.\n\nEach function will be called with with the results returned from\nycmd when it parses a file in response to\n/event_notification." hook ycmd-idle-change-delay #[0 "\300\207" [0.5] 1] "Number of seconds to wait after buffer modification before\nre-parsing the contents." (number) :safe numberp ycmd-keepalive-period #[0 "\300\207" [600] 1] "Number of seconds between keepalive messages." (number) ycmd-startup-timeout #[0 "\300\207" [3] 1] "Number of seconds to wait for the server to start." (number) ycmd-delete-process-delay #[0 "\300\207" [3] 1] "Seconds to wait for the server to finish before killing the process." (number) ycmd-parse-conditions #[0 "\300\207" [(save new-line mode-enabled)] 1] "When ycmd should reparse the buffer.\n\nThe variable is a list of events that may trigger parsing the\nbuffer for new completion:\n\n`save'\n Set buffer-needs-parse flag after the buffer was saved.\n\n`new-line'\n Set buffer-needs-parse flag immediately after a new\n line was inserted into the buffer.\n\n`idle-change'\n Set buffer-needs-parse flag a short time after a\n buffer has changed. (See `ycmd-idle-change-delay')\n\n`mode-enabled'\n Set buffer-needs-parse flag after `ycmd-mode' has been\n enabled.\n\n`buffer-focus'\n Set buffer-needs-parse flag when an unparsed buffer gets\n focus.\n\nIf nil, never set buffer-needs-parse flag. For a manual reparse,\nuse `ycmd-parse-buffer'." (set (const :tag "After the buffer was saved" save) (const :tag "After a new line was inserted" new-line) (const :tag "After a buffer was changed and idle" idle-change) (const :tag "After a `ycmd-mode' was enabled" mode-enabled) (const :tag "After an unparsed buffer gets focus" buffer-focus)) listp ycmd-default-tags-file-name #[0 "\300\207" [#2="tags"] 1 #2#] "The default tags file name." string ycmd-force-semantic-completion #[0 "\300\207" [nil] 1] "Whether to use always semantic completion." boolean ycmd-auto-trigger-semantic-completion #[0 "\300\207" [t] 1] "If non-nil, semantic completion is turned off.\nSemantic completion is still available if\n`ycmd-force-semantic-completion' is non-nil." ycmd-hide-url-status #[0 "\300\207" [t] 1] "Whether to quash url status messages for ycmd requests." ycmd-bypass-url-proxy-services #[0 "\300\207" [t] 1] "Bypass proxies for local traffic with the ycmd server.\n\nIf non-nil, bypass the variable `url-proxy-services' in\n`ycmd--request' by setting it to nil and add `no_proxy' to\n`process-environment' to bypass proxies when using `curl' as\n`request-backend' and for the ycmd process." ycmd-tag-files #[0 "\300\207" [nil] 1] "Whether to collect identifiers from tags file.\n\nnil\n Do not collect identifiers from tag files.\n\n`auto'\n Look up directory hierarchy for first found tags file with\n `ycmd-default-tags-file-name'.\n\nstring\n A tags file name.\n\nlist\n A list of tag file names." (choice (const :tag "Don't use tag file." nil) (const :tag "Locate tags file automatically" auto) (string :tag "Tag file name") (repeat :tag "List of tag files" (string :tag "Tag file name"))) #[257 "\2119\206 \211;\206 \300!\207" [ycmd--string-list-p] 3 "\n\n(fn OBJ)"] ycmd-file-type-map #[0 "\300\207" [((c++-mode "cpp") (c-mode "c") (caml-mode "ocaml") (csharp-mode "cs") (d-mode "d") (erlang-mode "erlang") (emacs-lisp-mode "elisp") (go-mode "go") (java-mode "java") (js-mode "javascript") (js2-mode "javascript") (lua-mode "lua") (objc-mode "objc") (perl-mode "perl") (cperl-mode "perl") (php-mode "php") (python-mode "python") (ruby-mode "ruby") (rust-mode "rust") (swift-mode "swift") (scala-mode "scala") (tuareg-mode "ocaml") (typescript-mode "typescript"))] 1] "Mapping from major modes to ycmd file-type strings.\n\nUsed to determine a) which major modes we support and b) how to\ndescribe them to ycmd." (alist :key-type symbol :value-type (repeat string)) ycmd-min-num-chars-for-completion #[0 "\300\207" [2] 1] "The minimum number of characters for identifier completion.\n\nIt controls the number of characters the user needs to type\nbefore identifier-based completion suggestions are triggered.\n\nThis option is NOT used for semantic completion.\n\nSetting this it to a high number like 99 effectively turns off\nthe identifier completion engine and just leaves the semantic\nengine." integer ycmd-max-num-identifier-candidates #[0 "\300\207" [10] 1] "The maximum number of identifier completion results." ycmd-seed-identifiers-with-keywords #[0 "\300\207" [nil] 1] "Whether to seed identifier database with keywords." ycmd-get-keywords-function #[0 "\300\207" [ycmd--get-keywords-from-alist] 1] "Function to get keywords for current mode." symbol ycmd-gocode-binary-path #[0 "\300\207" [nil] 1] "Gocode binary path." ycmd-godef-binary-path #[0 "\300\207" [nil] 1] "Godef binary path." ycmd-rust-src-path #[0 "\300\207" [nil] 1] "Rust source path." ycmd-swift-src-path #[0 "\300\207" [nil] 1] "Swift source path." ycmd-racerd-binary-path #[0 "\300\207" [nil] 1] "Racerd binary path." ycmd-python-binary-path #[0 "\300\207" [nil] 1] "Python binary path." ycmd-global-modes #[0 "\300\207" [t] 1] "Modes for which `ycmd-mode' is turned on by `global-ycmd-mode'.\n\nIf t, ycmd mode is turned on for all major modes in\n`ycmd-file-type-map'. If set to all, ycmd mode is turned on\nfor all major-modes. If a list, ycmd mode is turned on for all\n`major-mode' symbols in that list. If the `car' of the list is\n`not', ycmd mode is turned on for all `major-mode' symbols _not_\nin that list. If nil, ycmd mode is never turned on by\n`global-ycmd-mode'." (choice (const :tag "none" nil) (const :tag "member in `ycmd-file-type-map'" t) (const :tag "all" all) (set :menu-tag "mode specific" :tag "modes" :value (not) (const :tag "Except" not) (repeat :inline t (symbol :tag "mode")))) ycmd-confirm-fixit #[0 "\300\207" [t] 1] "Whether to confirm when applying fixit on line." ycmd-after-exception-hook #[0 "\300\207" [nil] 1] "Function to run if server request resulted in exception.\n\nThis hook is run whenever an exception is thrown after a ycmd\nserver request. Four arguments are passed to the function, a\nstring with the type of request that triggerd the exception, the\nbuffer and the point at the time of the request and the server\nresponse structure which looks like this:\n\n ((exception\n (TYPE . \"RuntimeError\"))\n (traceback . \"long traceback string\")\n (message . \"Can't jump to definition.\"))\n\nThis variable is a normal hook. See Info node `(elisp)Hooks'." ycmd-after-teardown-hook #[0 "\300\207" [nil] 1] "Functions to run after execution of `ycmd--teardown'.\n\nThis variable is a normal hook. See Info node `(elisp)Hooks'." ycmd-mode-line-prefix #[0 "\300\207" [#3="ycmd"] 1 #3#] "Base mode line lighter for ycmd." :package-version (ycmd . "1.3") ycmd-completing-read-function #[0 "\300\207" [completing-read] 1] "Function to read from minibuffer with completion.\n\nThe function must be compatible to the built-in `completing-read'\nfunction." (choice (const :tag "Default" completing-read) (const :tag "IDO" ido-completing-read) (function :tag "Custom function")) (ycmd . "1.2")] 10) #@70 A list of ycmd file type strings which support semantic diagnostics. (defconst ycmd--file-types-with-diagnostics '("c" "cpp" "objc" "objcpp" "cs" "typescript") (#$ . 10985)) #@150 Alist mapping major-modes to keywords for. Keywords source: https://github.com/auto-complete/auto-complete/tree/master/dict and `company-keywords'. (defvar ycmd-keywords-alist '((c++-mode "alignas" "alignof" "and" "and_eq" "asm" "auto" "bitand" "bitor" "bool" "break" "case" "catch" "char" "char16_t" "char32_t" "class" "compl" "concept" "const" "const_cast" "constexpr" "continue" "decltype" "default" "define" "defined" "delete" "do" "double" "dynamic_cast" "elif" "else" "endif" "enum" "error" "explicit" "export" "extern" "false" "final" "float" "for" "friend" "goto" "if" "ifdef" "ifndef" "include" "inline" "int" "line" "long" "mutable" "namespace" "new" "noexcept" "not" "not_eq" "nullptr" "operator" "or" "or_eq" "override" "pragma" "_Pragma" "private" "protected" "public" "register" "reinterpret_cast" "requires" "return" "short" "signed" "sizeof" "static" "static_assert" "static_cast" "struct" "switch" "template" "this" "thread_local" "throw" "true" "try" "typedef" "typeid" "typename" "union" "unsigned" "using" "virtual" "void" "volatile" "wchar_t" "while" "xor" "xor_eq") (c-mode "auto" "_Alignas" "_Alignof" "_Atomic" "_Bool" "break" "case" "char" "_Complex" "const" "continue" "default" "define" "defined" "do" "double" "elif" "else" "endif" "enum" "error" "extern" "float" "for" "goto" "_Generic" "if" "ifdef" "ifndef" "_Imaginary" "include" "inline" "int" "line" "long" "_Noreturn" "pragma" "register" "restrict" "return" "short" "signed" "sizeof" "static" "struct" "switch" "_Static_assert" "typedef" "_Thread_local" "undef" "union" "unsigned" "void" "volatile" "while") (go-mode "break" "case" "chan" "const" "continue" "default" "defer" "else" "fallthrough" "for" "func" "go" "goto" "if" "import" "interface" "map" "package" "range" "return" "select" "struct" "switch" "type" "var") (lua-mode "and" "break" "do" "else" "elseif" "end" "false" "for" "function" "if" "in" "local" "nil" "not" "or" "repeat" "return" "then" "true" "until" "while") (python-mode "ArithmeticError" "AssertionError" "AttributeError" "BaseException" "BufferError" "BytesWarning" "DeprecationWarning" "EOFError" "Ellipsis" "EnvironmentError" "Exception" "False" "FloatingPointError" "FutureWarning" "GeneratorExit" "IOError" "ImportError" "ImportWarning" "IndentationError" "IndexError" "KeyError" "KeyboardInterrupt" "LookupError" "MemoryError" "NameError" "None" "NotImplemented" "NotImplementedError" "OSError" "OverflowError" "PendingDeprecationWarning" "ReferenceError" "RuntimeError" "RuntimeWarning" "StandardError" "StopIteration" "SyntaxError" "SyntaxWarning" "SystemError" "SystemExit" "TabError" "True" "TypeError" "UnboundLocalError" "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError" "UnicodeTranslateError" "UnicodeWarning" "UserWarning" "ValueError" "Warning" "ZeroDivisionError" "__builtins__" "__debug__" "__doc__" "__file__" "__future__" "__import__" "__init__" "__main__" "__name__" "__package__" "_dummy_thread" "_thread" "abc" "abs" "aifc" "all" "and" "any" "apply" "argparse" "array" "as" "assert" "ast" "asynchat" "asyncio" "asyncore" "atexit" "audioop" "base64" "basestring" "bdb" "bin" "binascii" "binhex" "bisect" "bool" "break" "buffer" "builtins" "bytearray" "bytes" "bz2" "calendar" "callable" "cgi" "cgitb" "chr" "chuck" "class" "classmethod" "cmath" "cmd" "cmp" "code" "codecs" "codeop" "coerce" "collections" "colorsys" "compile" "compileall" "complex" "concurrent" "configparser" "contextlib" "continue" "copy" "copyreg" "copyright" "credits" "crypt" "csv" "ctypes" "curses" "datetime" "dbm" "decimal" "def" "del" "delattr" "dict" "difflib" "dir" "dis" "distutils" "divmod" "doctest" "dummy_threading" "elif" "else" "email" "enumerate" "ensurepip" "enum" "errno" "eval" "except" "exec" "execfile" "exit" "faulthandler" "fcntl" "file" "filecmp" "fileinput" "filter" "finally" "float" "fnmatch" "for" "format" "formatter" "fpectl" "fractions" "from" "frozenset" "ftplib" "functools" "gc" "getattr" "getopt" "getpass" "gettext" "glob" "global" "globals" "grp" "gzip" "hasattr" "hash" "hashlib" "heapq" "help" "hex" "hmac" "html" "http" "id" "if" "imghdr" "imp" "impalib" "import" "importlib" "in" "input" "inspect" "int" "intern" "io" "ipaddress" "is" "isinstance" "issubclass" "iter" "itertools" "json" "keyword" "lambda" "len" "license" "linecache" "list" "locale" "locals" "logging" "long" "lzma" "macpath" "mailbox" "mailcap" "map" "marshal" "math" "max" "memoryview" "mimetypes" "min" "mmap" "modulefinder" "msilib" "msvcrt" "multiprocessing" "netrc" "next" "nis" "nntplib" "not" "numbers" "object" "oct" "open" "operator" "optparse" "or" "ord" "os" "ossaudiodev" "parser" "pass" "pathlib" "pdb" "pickle" "pickletools" "pipes" "pkgutil" "platform" "plistlib" "poplib" "posix" "pow" "pprint" "print" "profile" "property" "pty" "pwd" "py_compiler" "pyclbr" "pydoc" "queue" "quit" "quopri" "raise" "random" "range" "raw_input" "re" "readline" "reduce" "reload" "repr" "reprlib" "resource" "return" "reversed" "rlcompleter" "round" "runpy" "sched" "select" "selectors" "self" "set" "setattr" "shelve" "shlex" "shutil" "signal" "site" "slice" "smtpd" "smtplib" "sndhdr" "socket" "socketserver" "sorted" "spwd" "sqlite3" "ssl" "stat" "staticmethod" "statistics" "str" "string" "stringprep" "struct" "subprocess" "sum" "sunau" "super" "symbol" "symtable" "sys" "sysconfig" "syslog" "tabnanny" "tarfile" "telnetlib" "tempfile" "termios" "test" "textwrap" "threading" "time" "timeit" "tkinter" "token" "tokenize" "trace" "traceback" "tracemalloc" "try" "tty" "tuple" "turtle" "type" "types" "unichr" "unicode" "unicodedata" "unittest" "urllib" "uu" "uuid" "vars" "venv" "warnings" "wave" "weakref" "webbrowser" "while" "winsound" "winreg" "with" "wsgiref" "xdrlib" "xml" "xmlrpc" "xrange" "yield" "zip" "zipfile" "zipimport" "zlib") (rust-mode "Self" "as" "box" "break" "const" "continue" "crate" "else" "enum" "extern" "false" "fn" "for" "if" "impl" "in" "let" "loop" "macro" "match" "mod" "move" "mut" "pub" "ref" "return" "self" "static" "struct" "super" "trait" "true" "type" "unsafe" "use" "where" "while") (swift-mode "true" "false" "nil" "#available" "#colorLiteral" "#column" "#else" "#elseif" "#endif" "#fileLiteral" "#file" "#function" "#if" "#imageLiteral" "#keypath" "#line" "#selector" "#sourceLocation" "associatedtype" "class" "deinit" "enum" "extension" "fileprivate" "func" "import" "init" "inout" "internal" "let" "open" "operator" "private" "protocol" "public" "static" "struct" "subscript" "typealias" "var" "break" "case" "continue" "default" "defer" "do" "else" "fallthrough" "for" "guard" "if" "in" "repeat" "return" "switch" "where" "while" "as" "catch" "dynamicType" "is" "rethrows" "super" "self" "Self" "throws" "throw" "try" "Protocol" "Type" "and" "assignment" "associativity" "convenience" "didSet" "dynamic" "final" "get" "higherThan" "indirect" "infix" "lazy" "left" "lowerThan" "mutating" "none" "nonmutating" "optional" "override" "postfix" "precedence" "precedencegroup" "prefix" "required" "right" "set" "unowned" "weak" "willSet")) (#$ . 11166)) #@160 The actual port being used by the ycmd server. This is set based on the value of `ycmd-server-port' if set, or the value from the output of the server itself. (defvar ycmd--server-actual-port nil (#$ . 18185)) #@219 This is populated with the hmac secret of the current connection. Users should never need to modify this, hence the defconst. It is not, however, treated as a constant by this code. This value gets set in ycmd-open. (defvar ycmd--hmac-secret nil (#$ . 18402)) #@123 The Emacs name of the server process. This is used by functions like `start-process', `get-process' and `delete-process'. (defconst ycmd--server-process-name "ycmd-server" (#$ . 18671)) #@65 Timer for notifying ycmd server to do work, e.g. parsing files. (defvar ycmd--notification-timer nil (#$ . 18863)) (make-variable-buffer-local 'ycmd--notification-timer) #@53 Timer for sending keepalive messages to the server. (defvar ycmd--keepalive-timer nil (#$ . 19039)) #@65 Timer for deferring ycmd server notification to parse a buffer. (defvar ycmd--on-focus-timer nil (#$ . 19145)) (defvar ycmd--server-timeout-timer nil) #@33 Name of the ycmd server buffer. (defconst ycmd--server-buffer-name "*ycmd-server*" (#$ . 19302)) #@40 The last status of the current buffer. (defvar ycmd--last-status-change 'unparsed (#$ . 19405)) (make-variable-buffer-local 'ycmd--last-status-change) #@50 The BUFFER's last FileReadyToParse tick counter. (defvar ycmd--last-modified-tick nil (#$ . 19562)) (make-variable-buffer-local 'ycmd--last-modified-tick) (defvar ycmd--buffer-visit-flag nil nil) (make-variable-buffer-local 'ycmd--buffer-visit-flag) (defvar ycmd--available-completers (make-hash-table :test 'eq)) (defvar ycmd--process-environment nil) #@52 List of modes for which keywords have been loaded. (defvar ycmd--mode-keywords-loaded nil (#$ . 19921)) #@28 Hooks which ycmd hooks in. (defconst ycmd-hooks-alist '((after-save-hook . ycmd--on-save) (after-change-functions . ycmd--on-change) (window-configuration-change-hook . ycmd--on-window-configuration-change) (kill-buffer-hook . ycmd--on-close-buffer) (before-revert-hook . ycmd--teardown) (post-command-hook . ycmd--perform-deferred-parse)) (#$ . 20031)) (add-hook 'kill-emacs-hook 'ycmd-close) #@46 Keymap for `ycmd-mode' interactive commands. (defvar ycmd-command-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\351#\210\301\352\353#\210\301\354\355#\210\207" [make-sparse-keymap define-key "p" ycmd-parse-buffer "o" ycmd-open "c" ycmd-close "." ycmd-goto "gi" ycmd-goto-include "gd" ycmd-goto-definition "gD" ycmd-goto-declaration "gm" ycmd-goto-implementation "gp" ycmd-goto-imprecise "gr" ycmd-goto-references "gt" ycmd-goto-type "s" ycmd-toggle-force-semantic-completion "v" ycmd-show-debug-info "V" ycmd-version "d" ycmd-show-documentation "C" ycmd-clear-compilation-flag-cache "O" ycmd-restart-semantic-server "t" ycmd-get-type "T" ycmd-get-parent "f" ycmd-fixit "r" ycmd-refactor-rename "x" ycmd-completer] 5) (#$ . 20431)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable ycmd-keymap-prefix funcall function #[0 "\300\207" ["Y"] 1] "Prefix for key bindings of `ycmd-mode'.\n\nChanging this variable outside Customize does not have any\neffect. To change the keymap prefix from Lisp, you need to\nexplicitly re-define the prefix key:\n\n (define-key ycmd-mode-map ycmd-keymap-prefix nil)\n (setq ycmd-keymap-prefix (kbd \"C-c ,\"))\n (define-key ycmd-mode-map ycmd-keymap-prefix\n ycmd-command-map)" :type string :risky t :set #[514 "\302!\203\302\300!\203\303J\304#\210\303 #\210\305\"\207" [ycmd-mode-map ycmd-command-map boundp define-key nil set-default] 6 "\n\n(fn VARIABLE KEY)"]] 10) #@25 Keymap for `ycmd-mode'. (defvar ycmd-mode-map (byte-code "\302 \303 #\210\207" [ycmd-keymap-prefix ycmd-command-map make-sparse-keymap define-key] 5) (#$ . 22247)) #@39 Menu used when `ycmd-mode' is active. (defvar ycmd-mode-menu nil (#$ . 22419)) (easy-menu-do-define 'ycmd-mode-menu ycmd-mode-map "Menu used when `ycmd-mode' is active." '("YCMd" ["Start server" ycmd-open] ["Stop server" ycmd-close] "---" ["Parse buffer" ycmd-parse-buffer] "---" ["GoTo" ycmd-goto] ["GoToDefinition" ycmd-goto-definition] ["GoToDeclaration" ycmd-goto-declaration] ["GoToInclude" ycmd-goto-include] ["GoToImplementation" ycmd-goto-implementation] ["GoToReferences" ycmd-goto-references] ["GoToType" ycmd-goto-type] ["GoToImprecise" ycmd-goto-imprecise] "---" ["Show documentation" ycmd-show-documentation] ["Show type" ycmd-get-type] ["Show parent" ycmd-get-parent] "---" ["FixIt" ycmd-fixit] ["RefactorRename" ycmd-refactor-rename] "---" ["Load extra config" ycmd-load-conf-file] ["Restart semantic server" ycmd-restart-semantic-server] ["Clear compilation flag cache" ycmd-clear-compilation-flag-cache] ["Force semantic completion" ycmd-toggle-force-semantic-completion :style toggle :selected ycmd-force-semantic-completion] "---" ["Show debug info" ycmd-show-debug-info] ["Show version" ycmd-version t] ["Log enabled" ycmd-toggle-log-enabled :style toggle :selected ycmd--log-enabled])) #@27 Cancel TIMER. (fn TIMER) (defalias 'ycmd--kill-timer '(macro . #[257 "\300\301D\302\303BBF\207" [when cancel-timer setq (nil)] 7 (#$ . 23632)])) #@37 Return t if parsing is in progress. (defalias 'ycmd-parsing-in-progress-p #[0 "\301=\207" [ycmd--last-status-change parsing] 2 (#$ . 23787)]) #@34 Report ycmd STATUS. (fn STATUS) (defalias 'ycmd--report-status #[257 "\211\301 \207" [ycmd--last-status-change force-mode-line-update] 2 (#$ . 23936)]) #@29 Get text for the mode line. (defalias 'ycmd--mode-line-status-text #[0 "\205\303 \304\267\202#\305\202$\306\202$\307\202$\310\202$\311\202$\312\202$\313\314\nR\207" [ycmd-force-semantic-completion ycmd--last-status-change ycmd-mode-line-prefix "/s" #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (parsed 11 parsing 15 unparsed 19 stopped 23 starting 27 errored 31)) "" "*" "?" "-" ">" "!" nil " "] 6 (#$ . 24096)]) #@87 Non-nil if Ycmd mode is enabled. Use the command `ycmd-mode' to change this variable. (defvar ycmd-mode nil (#$ . 24567)) (make-variable-buffer-local 'ycmd-mode) #@391 Minor mode for interaction with the ycmd completion server. When called interactively, toggle `ycmd-mode'. With prefix ARG, enable `ycmd-mode' if ARG is positive, otherwise disable it. When called from Lisp, enable `ycmd-mode' if ARG is omitted, nil or positive. If ARG is `toggle', toggle `ycmd-mode'. Otherwise behave as if called interactively. \{ycmd-mode-map} (fn &optional ARG) (defalias 'ycmd-mode #[256 "\303 \304=\203 ?\202\247\203\305W\203\306\202\307\310\301!\2031\311\300 \"\2031\300 B\203P\n\211\203L\211@\312@A\306\313$\210A\266\202\2026\210\202j\n\211\203f\211@\314@A\313#\210A\266\202\202Q\210\315 \210\316\317\203t\320\202u\321\"\210\322\323!\203\227\303 \203\211\211\303 \232\203\227\324\325\203\223\326\202\224\327\330#\210\331 \204\237\332 \210\333\334\335\"\266\336 \210\207" [ycmd-mode local-minor-modes ycmd-hooks-alist current-message toggle 1 nil t boundp delq add-hook local remove-hook ycmd--teardown run-hooks ycmd-mode-hook ycmd-mode-on-hook ycmd-mode-off-hook called-interactively-p any message "Ycmd mode %sabled%s" "en" "dis" " in current buffer" ycmd-running-p ycmd-open ycmd--conditional-parse mode-enabled deferred force-mode-line-update] 9 (#$ . 24736) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar ycmd-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\310\211%\207" [ycmd-mode-map ycmd-mode-hook variable-documentation put "Hook run after entering or leaving `ycmd-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-mode (:eval (ycmd--mode-line-status-text))] 6) #@74 Setup `ycmd-mode'. Hook `ycmd-mode' into modes in `ycmd-file-type-map'. (defalias 'ycmd-setup #[0 "\211\205\211@\301\302\303\304\305@!\"!\306\"\210A\266\202\202\207" [ycmd-file-type-map add-hook intern format "%s-hook" symbol-name ycmd-mode] 8 (#$ . 26563) nil]) (make-obsolete 'ycmd-setup 'global-ycmd-mode "1.0") #@455 Get the `emacs-ycmd' version as string. If called interactively or if SHOW-VERSION is non-nil, show the version in the echo area and the messages buffer. The returned string includes both, the version from package.el and the library version, if both a present and different. If the version number could not be determined, signal an error, if called interactively, or if SHOW-VERSION is non-nil, otherwise just return nil. (fn &optional SHOW-VERSION) (defalias 'ycmd-version #[256 "\300\301\302\303#\203\304\305!\203\306\307\"\210\207\310\311!\207" [require pkg-info nil :no-error pkg-info-version-info ycmd message "emacs-ycmd version: %s" error "Cannot determine version without package pkg-info"] 5 (#$ . 26893) (list t)]) #@51 Enable `ycmd-mode' according `ycmd-global-modes'. (defalias 'ycmd--maybe-enable-mode #[0 "\302\267\202\303 !\202;\202>:\2035\242\211\304=\203*\243\211 >?\262\262\2020 >\262\262\202; >\262\205@\305 \207" [ycmd-global-modes major-mode #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 6 all 12)) ycmd-major-mode-to-file-types not ycmd-mode] 5 (#$ . 27634)]) (put 'global-ycmd-mode 'globalized-minor-mode t) (defvar ycmd-mode-major-mode nil nil) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315& \207" [make-variable-buffer-local ycmd-mode-major-mode custom-declare-variable global-ycmd-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Global Ycmd mode is enabled.\nSee the `global-ycmd-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `global-ycmd-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 10) #@336 Toggle Ycmd mode in all buffers. With prefix ARG, enable Global Ycmd mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Ycmd mode is enabled in all buffers where `ycmd--maybe-enable-mode' would do it. See `ycmd-mode' for more information on Ycmd mode. (fn &optional ARG) (defalias 'global-ycmd-mode #[256 "\303 \304\301\305=\203\306\301!?\202!\247\203 \307W\203 \310\202!\311\"\210\312\300!\2038\313\301\"\306\301!\2038\301B \203N\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202]\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \211\203\203\211@r\211q\210 \203s\325 \210\202{\n\203{\302\326!\210)A\266\202\202_\210\327\330\306\301!\203\220\331\202\221\332\"\210\333\334!\203\271\335\301!\210\303 \203\251\211\303 \232\203\271\336\337\306\301!\203\265\340\202\266\341\342#\210\210\343 \210\306\301!\207" [global-minor-modes global-ycmd-mode ycmd-mode current-message set-default toggle default-value 1 nil t boundp delq add-hook after-change-major-mode-hook global-ycmd-mode-enable-in-buffers find-file-hook global-ycmd-mode-check-buffers change-major-mode-hook global-ycmd-mode-cmhh remove-hook buffer-list ycmd--maybe-enable-mode -1 run-hooks global-ycmd-mode-hook global-ycmd-mode-on-hook global-ycmd-mode-off-hook called-interactively-p any customize-mark-as-set message "Global Ycmd mode %sabled%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 28718) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar global-ycmd-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\310\313\300!\205#\310\211%\207" [global-ycmd-mode-map global-ycmd-mode-hook variable-documentation put "Hook run after entering or leaving `global-ycmd-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 global-ycmd-mode boundp] 6) (defvar ycmd-mode-set-explicitly nil nil) (make-variable-buffer-local 'ycmd-mode-set-explicitly) (defalias 'ycmd-mode-set-explicitly #[0 "\301\211\207" [ycmd-mode-set-explicitly t] 2]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put ycmd-mode-set-explicitly definition-name global-ycmd-mode add-hook ycmd-mode-hook] 4) (defvar global-ycmd-mode-buffers nil) (defalias 'global-ycmd-mode-enable-in-buffers #[0 "\305\211\211\2059\211@\306!\2032r\211q\210 \204/\n =\204/\f\203,\304\307!\210\310 \210\202/\310 \210 )A\266\202\202\207" [global-ycmd-mode-buffers ycmd-mode-set-explicitly ycmd-mode-major-mode major-mode ycmd-mode nil buffer-live-p -1 ycmd--maybe-enable-mode] 5]) (put 'global-ycmd-mode-enable-in-buffers 'definition-name 'global-ycmd-mode) (defalias 'global-ycmd-mode-check-buffers #[0 "\300 \210\301\302\303\"\207" [global-ycmd-mode-enable-in-buffers remove-hook post-command-hook global-ycmd-mode-check-buffers] 3]) (put 'global-ycmd-mode-check-buffers 'definition-name 'global-ycmd-mode) (defalias 'global-ycmd-mode-cmhh #[0 "\300\301p\"\210\302\303\304\"\207" [add-to-list global-ycmd-mode-buffers add-hook post-command-hook global-ycmd-mode-check-buffers] 3]) (put 'global-ycmd-mode-cmhh 'definition-name 'global-ycmd-mode) #@27 Unload function for ycmd. (defalias 'ycmd-unload-function #[0 "\300\301!\210\302\303\304\"\207" [global-ycmd-mode -1 remove-hook kill-emacs-hook ycmd-close] 3 (#$ . 32057)]) #@60 If non-nil, a deferred file parse notification is pending. (defvar ycmd--deferred-parse nil (#$ . 32237)) (make-variable-buffer-local 'ycmd--deferred-parse) #@114 Determine whether parsing the file has to be deferred. Return t if parsing is to be deferred, or nil otherwise. (defalias 'ycmd--must-defer-parse #[0 "\301 ?\206\302 ?\206\303 \206\207" [revert-buffer-in-progress-p ycmd--server-alive-p get-buffer-window ycmd-parsing-in-progress-p] 1 (#$ . 32401)]) #@56 Return non-nil if current buffer has a deferred parse. (defalias 'ycmd--deferred-parse-p #[0 "\207" [ycmd--deferred-parse] 1 (#$ . 32714)]) #@46 Defer parse notification for current buffer. (defalias 'ycmd--parse-deferred #[0 "\301\211\207" [ycmd--deferred-parse t] 2 (#$ . 32861)]) #@29 Perform the deferred parse. (defalias 'ycmd--perform-deferred-parse #[0 "\301 \205 \302\303 \207" [ycmd--deferred-parse ycmd--deferred-parse-p nil ycmd--conditional-parse] 1 (#$ . 33006)]) #@266 Reparse the buffer under CONDITION. If CONDITION is non-nil, determine whether a ready to parse notification should be sent according `ycmd-parse-conditions'. If FORCE-DEFERRED is non-nil perform parse notification later. (fn &optional CONDITION FORCE-DEFERRED) (defalias 'ycmd--conditional-parse #[512 "\2052\203 >\2052\211\204\302 \203\303 \207p\304\305\306\307\"!\262\310\306\311\"\"\262\211\262\262\207" [ycmd-mode ycmd-parse-conditions ycmd--must-defer-parse ycmd--parse-deferred nil deferred:next make-closure #[0 "r\300q\210\301 )\207" [V0 ycmd--on-visit-buffer] 1] deferred:nextc #[0 "r\300q\210\302 \211 \232?\205\211\303 \262)\207" [V0 ycmd--last-modified-tick buffer-chars-modified-tick ycmd-notify-file-ready-to-parse] 3]] 9 (#$ . 33204)]) #@49 Function to run when the buffer has been saved. (defalias 'ycmd--on-save #[0 "\300\301!\207" [ycmd--conditional-parse save] 2 (#$ . 33987)]) #@33 Function to run on idle-change. (defalias 'ycmd--on-idle-change #[0 "\203\n\301!\210\302\303\304!\207" [ycmd--notification-timer cancel-timer nil ycmd--conditional-parse idle-change] 2 (#$ . 34134)]) #@94 Function to run when a buffer change between BEG and END. _LEN is ununsed. (fn BEG END LEN) (defalias 'ycmd--on-change #[771 "\304 \305\306\"\216\2054 \203\307 !\210\310\311{\310\312\313#)\266\203\203-\314\315!\2024\316 \310\317#\211)\207" [ycmd-mode ycmd--notification-timer inhibit-changing-match-data ycmd-idle-change-delay match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] cancel-timer nil "\n" t string-match ycmd--conditional-parse new-line run-at-time ycmd--on-idle-change] 11 (#$ . 34344)]) #@66 Function to run when an unparsed BUFFER gets focus. (fn BUFFER) (defalias 'ycmd--on-unparsed-buffer-focus #[257 "\203\n\301!\210\302r\211q\210\303\304!)\207" [ycmd--on-focus-timer cancel-timer nil ycmd--conditional-parse buffer-focus] 3 (#$ . 34897)]) #@56 Function to run by `window-configuration-change-hook'. (defalias 'ycmd--on-window-configuration-change #[0 "\304 \203\305 \207\205/ \306>\205/\307\n>\205/ \203\"\310 !\210\311\312\313p\"\314\315\311#\211\262\207" [ycmd-mode ycmd--last-status-change ycmd-parse-conditions ycmd--on-focus-timer ycmd--deferred-parse-p ycmd--perform-deferred-parse (starting unparsed) buffer-focus cancel-timer nil apply-partially ycmd--on-unparsed-buffer-focus run-at-time 1.0] 5 (#$ . 35160)]) #@69 Execute BODY with each `ycmd-mode' enabled buffer. (fn &rest BODY) (defalias 'ycmd--with-all-ycmd-buffers '(macro . #[128 "\300\301\302\303\304\305BBEE\207" [dolist (buffer (buffer-list)) with-current-buffer buffer when ycmd-mode] 8 (#$ . 35652)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ycmd--with-all-ycmd-buffers lisp-indent-function 0 put edebug-form-spec t] 5) #@56 Check whether RESPONSE is an exception. (fn RESPONSE) (defalias 'ycmd--exception-p #[257 "\211<\205\300\236\207" [exception] 3 (#$ . 36054)]) #@684 Run a deferred REQUEST and exectute BODY on success. Catch all exceptions raised through server communication. If it is raised because of a unknown .ycm_extra_conf.py file, load the file or ignore it after asking the user. Otherwise print exception to minibuffer if NO-EXCEPTION-MESSAGE is nil. ON-EXCEPTION-FORM is run if an exception occurs. The value of RETURN-FORM is returned on exception. If BIND-CURRENT-BUFFER is non-nil, bind `current-buffer' to `request-buffer' var. (fn REQUEST &key NO-DISPLAY ERROR-FORM RETURN-FORM BIND-CURRENT-BUFFER &rest BODY) (fn REQUEST &rest BODY &key DONT-SHOW-EXCEPTION-MSG ON-EXCEPTION-FORM RETURN-FORM BIND-CURRENT-BUFFER &allow-other-keys) (defalias 'ycmd-with-handled-server-exceptions '(macro . #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305@!\203'AA\262\202\306\307\310\311BBDC\312\313\314\315\316\317\320\321\307\322\323\324\325\322\326\327\330\331BB\257E\322\332\333DD\325BBBFEEEEEE\207" [plist-member :dont-show-exception-msg :on-exception-form :return-form :bind-current-buffer keywordp let request-buffer and ((current-buffer)) deferred:$ deferred:nextc it lambda (response) cl-macrolet ((with-optional-current-buffer (buffer-or-name &rest body-2) `(if ,buffer-or-name (with-current-buffer ,buffer-or-name ,@body-2) ,@body-2))) with-optional-current-buffer if (ycmd--exception-p response) let-alist response (string= \.exception\.TYPE "UnknownExtraConf") (ycmd--handle-extra-conf-exception \.exception\.extra_conf_file) unless ((message "%s: %s" \.exception\.TYPE \.message)) null quote] 28 (#$ . 36207)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ycmd-with-handled-server-exceptions lisp-indent-function 1 put edebug-form-spec t] 5) #@61 If `ycmd--buffer-visit-flag' is nil send BufferVisit event. (defalias 'ycmd--on-visit-buffer #[0 "?\205\301 \205p\302\303\304!\262\305\306\307\"\"\262\211\262\262\207" [ycmd--buffer-visit-flag ycmd--server-alive-p nil ycmd--event-notification "BufferVisit" deferred:nextc make-closure #[257 "\300\203Ar\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\202?\313\211)\207\302!\203m\211\303\304\236A\236A\305\304\236A\236A\306\236A\307\230\203d\310!\207\306\311#\266\312\207\313\211\207" [V0 ycmd--buffer-visit-flag ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" nil t] 9 "\n\n(fn RESPONSE)"]] 7 (#$ . 37960)]) #@88 Notify server that the current buffer is no longer open. Cleanup emacs-ycmd variables. (defalias 'ycmd--on-close-buffer #[0 "\300 \203\301\211\302\303!\262\304\305\306\"\"\266\307 \207" [ycmd--server-alive-p nil ycmd--event-notification "BufferUnload" 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)"] ycmd--teardown] 7 (#$ . 38756)]) (defalias 'ycmd--reset-parse-status #[0 "\301\302!\210\303\211\207" [ycmd--last-modified-tick ycmd--report-status unparsed nil] 2]) #@34 Teardown ycmd in current buffer. (defalias 'ycmd--teardown #[0 "\203\n\302!\210\303\304 \210\303\305\306!\207" [ycmd--notification-timer ycmd--deferred-parse cancel-timer nil ycmd--reset-parse-status run-hooks ycmd-after-teardown-hook] 2 (#$ . 39650)]) #@31 Teardown ycmd in all buffers. (defalias 'ycmd--global-teardown #[0 "\203\n\305!\210\306\306\307\n!\210\310 \211\205-\211@r\211q\210 \203%\311 \210\306)A\266\202\202\207" [ycmd--on-focus-timer ycmd--mode-keywords-loaded ycmd--available-completers ycmd-mode ycmd--buffer-visit-flag cancel-timer nil clrhash buffer-list ycmd--teardown] 3 (#$ . 39914)]) #@232 Find the ycmd file types for MODE which support semantic diagnostics. Returns a possibly empty list of ycmd file type strings. If this is empty, then ycmd doesn't support semantic completion (or diagnostics) for MODE. (fn MODE) (defalias 'ycmd-file-types-with-diagnostics #[257 "\301\302!\"\207" [ycmd--file-types-with-diagnostics -intersection ycmd-major-mode-to-file-types] 5 (#$ . 40282)]) #@68 Return a list with major-modes which support semantic diagnostics. (defalias 'ycmd-major-modes-with-diagnostics #[0 "\302\303\304\305\304\211\203*\211A\262\242\262\262T\262A@ \235\203B\262\202\266\211\237\262\"\207" [ycmd-file-type-map ycmd--file-types-with-diagnostics mapcar #[257 "\211@\207" [] 2 "\n\n(fn IT)"] nil 0] 9 (#$ . 40686)]) #@352 Wait for the given deferred task. Error is raised if it is not processed within deferred chain D. This is a slightly modified version of the original `deferred:sync!' function, with using `accept-process-output' wrapped with `with-current-buffer' for waiting instead of a combination of `sit-for' and `sleep-for' and with a shorter wait time. (fn D) (defalias 'ycmd-deferred:sync! #[257 "\302C\303C\303\304\305\306\"\"\262\307\305\310\"\"\266\3111A\303\242\302=\2032\211\242\2042\312\303\313\"\210\202\211\242\203<\314\242!\210\242)0\207\210\315\316\317!\207" [inhibit-quit quit-flag deferred:undefined* nil deferred:nextc make-closure #[257 "\300\240\207" [V0] 3 "\n\n(fn X)"] deferred:error #[257 "\300\240\207" [V0] 3 "\n\n(fn ERR)"] (quit) accept-process-output 0.01 deferred:resignal t eval (ignore nil)] 9 (#$ . 41052)]) #@339 Time out macro on a deferred task. If the deferred task does not complete within TIMEOUT-SEC, this macro cancels the deferred task D and returns nil. This is a slightly modified version of the original `deferred:timeout' macro, which takes the timeout var in seconds and the timeout form returns the symbol `timeout'. (fn TIMEOUT-SEC D) (defalias 'ycmd-deferred:timeout '(macro . #[514 "\300\301\302\303\304BBD\305BBE\207" [deferred:earlier deferred:nextc deferred:wait * (1000) ((lambda nil 'timeout))] 8 (#$ . 41907)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ycmd-deferred:timeout lisp-indent-function 1 put edebug-form-spec t] 5) #@98 Start a new ycmd server. This kills any ycmd server already running (under ycmd.el's control.). (defalias 'ycmd-open #[0 "\300 \210\301 \210\302 \210\303 \207" [ycmd-close ycmd--start-server ycmd--start-server-timeout-timer ycmd--start-keepalive-timer] 1 (#$ . 42576) nil]) #@136 Shutdown any running ycmd server. STATUS is a status symbol for `ycmd--report-status', defaulting to `stopped'. (fn &optional STATUS) (defalias 'ycmd-close #[256 "\303 \210\304 \210\203\305!\210\306 \203\305 !\210\306\307 \211\205:\211@r\211q\210\n\2032\310\2060\311!\210)A\266\202\202\207" [ycmd--keepalive-timer ycmd--server-timeout-timer ycmd-mode ycmd--stop-server ycmd--global-teardown cancel-timer nil buffer-list ycmd--report-status stopped] 5 (#$ . 42858) nil]) #@255 Stop the ycmd server process. Send a `shutdown' request to the ycmd server and wait for the ycmd server to stop. If the ycmd server is still running after a timeout specified by `ycmd-delete-process-delay', then kill the process with `delete-process'. (defalias 'ycmd--stop-server #[0 "\302 \203A\303 \304\305\306\307\310!\311\"\312\211\313\314\315\316\312#!\262\306\317\320\"\"\262\211\262\262\"!\210\321 \203@\303 ZV\203@\322\323!\210\202+\210\3241J\325 !0\207\210\312\207" [ycmd-delete-process-delay ycmd--server-process-name ycmd--server-alive-p float-time ycmd-deferred:sync! deferred:earlier deferred:nextc deferred:wait 100.0 #[0 "\300\207" [timeout] 1] nil ycmd--request record ycmd-request-data "shutdown" make-closure #[257 "\300\2034r\300q\210\301!\2031\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205*\307!\266\203\262\2022\211)\207\301!\203W\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205V\307!\207\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception] 7 "\n\n(fn RESPONSE)"] ycmd-running-p sit-for 0.05 (error) delete-process] 11 (#$ . 43351)]) #@47 Return t if a ycmd server is already running. (defalias 'ycmd-running-p #[0 "\301!\211\205\302!\205\303!\205\304\207" [ycmd--server-process-name get-process processp process-live-p t] 3 (#$ . 44543)]) #@55 Return t if server is running and ready for requests. (defalias 'ycmd--server-alive-p #[0 "\301 \205\207" [ycmd--server-actual-port ycmd-running-p] 1 (#$ . 44759)]) #@69 Execute BODY and ignore errors and request errors. (fn &rest BODY) (defalias 'ycmd--ignore-errors '(macro . #[128 "\300\301\302BE\207" [let ((request-message-level -1) (request-log-level -1)) ignore-errors] 5 (#$ . 44933)])) #@90 Sends an unspecified message to the server. This is simply for keepalive functionality. (defalias 'ycmd--keepalive #[0 "\302\211\3031'\304\211\305\306\307\310\304#\311\312#\262\313\314\315\"\"\262\211\262\2620\202)\210\304*\207" [request-log-level request-message-level -1 (error) nil ycmd--request record ycmd-request-data "healthy" :type "GET" deferred:nextc make-closure #[257 "\300\2034r\300q\210\301!\2031\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205*\307!\266\203\262\2022\211)\207\301!\203W\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205V\307!\207\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception] 7 "\n\n(fn RESPONSE)"]] 7 (#$ . 45166)]) #@155 Send request for server ready state. If INCLUDE-SUBSERVER is non-nil, also request ready state for semantic subserver. (fn &optional INCLUDE-SUBSERVER) (defalias 'ycmd--server-ready-p #[256 "\303 \205H\211\205 \304!\242\211\205\305BC\306\211\3071C\310\311\211\312\313\314\315\311#\316\317\320%\262\321\322\323\"\"\262\211\262\262!\324=0\202E\210\311*\266\202\207" [major-mode request-log-level request-message-level ycmd--server-alive-p ycmd-major-mode-to-file-types "subserver" -1 (error) ycmd-deferred:sync! nil ycmd--request record ycmd-request-data "ready" :params :type "GET" deferred:nextc make-closure #[257 "\300\2034r\300q\210\301!\2031\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205*\307!\266\203\262\2022\211)\207\301!\203W\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\205V\307!\207\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception] 7 "\n\n(fn RESPONSE)"] t] 12 (#$ . 45949)]) #@166 Send extra conf request. FILENAME is the path to a ycm_extra_conf file. If optional IGNORE-P is non-nil ignore the ycm_extra_conf. (fn FILENAME &optional IGNORE-P) (defalias 'ycmd--extra-conf-request #[513 "\211\203\300\202 \301\302BC\303\304\211\305\306\307#!\262\310\311\312\"\"\262\211\262\262!\207" ["ignore_extra_conf_file" "load_extra_conf_file" "filepath" ycmd-deferred:sync! nil ycmd--request record ycmd-request-data 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)"]] 12 (#$ . 46979)]) #@78 Tell the ycmd server to load the configuration file FILENAME. (fn FILENAME) (defalias 'ycmd-load-conf-file #[257 "\300!\301!\207" [expand-file-name ycmd--extra-conf-request] 4 (#$ . 47909) (byte-code "\300\301!C\207" [read-file-name "Filename: "] 2)]) #@173 Get completions at the current point and display them in a buffer. This is really a utility/debugging function for developers, but it might be interesting for some users. (defalias 'ycmd-display-completions #[0 "\300\211\301 \262\302\303\304\"\"\207" [nil ycmd-get-completions deferred:nextc make-closure #[257 "\300\203Sr\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\202Q\211\204F\305\312!\202Q\313\314!\210\315 \210\316!c)\207\301!\203\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203v\307!\207\305\310#\266\311\207\211\204\207\305\312!\207\313\314!\210\315 \210\316!c\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" nil "No completions available" pop-to-buffer "*ycmd-completions*" erase-buffer pp-to-string] 9 "\n\n(fn RESPONSE)"]] 7 (#$ . 48171) nil]) #@57 Completion candidates at point. (fn &optional IGNORED) (defalias 'ycmd-complete #[256 "\300\301\302\303\304!\305\"\306\211\307 \262\302\310\311\"\"\262\211\262\262\"!\211\2050\312\236A\211\205.\313\314\"\262\207" [ycmd-deferred:sync! deferred:earlier deferred:nextc deferred:wait 500.0 #[0 "\300\207" [timeout] 1] nil ycmd-get-completions 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)"] completions mapcar #[257 "\300\236A\301\236A\211\203\"\302\303!\"\203\"\304\305\306\307\305\225\310O%\210\207" [insertion_text menu_text string-match regexp-quote put-text-property 0 1 anno nil] 10 "\n\n(fn IT)"]] 11 (#$ . 49137)]) #@27 Complete symbol at point. (defalias 'ycmd-complete-at-point #[0 "\300\301 8?\205\"\302\303!\211@\206`A\206`\304\305!\306\307\257\266\203\207" [3 syntax-ppss bounds-of-thing-at-point symbol completion-table-dynamic ycmd-complete :annotation-function #[257 "\300\301\302#\207" [get-text-property 0 anno] 5 "\n\n(fn ARG)"]] 8 (#$ . 50185)]) #@111 Toggle whether to use always semantic completion. Returns the new value of `ycmd-force-semantic-completion'. (defalias 'ycmd-toggle-force-semantic-completion #[0 "?\301\302\203\f\303\202 \304\"\210\211\211\207" [ycmd-force-semantic-completion message "ycmd: force semantic completion %s." "enabled" "disabled"] 4 (#$ . 50540) nil]) #@49 Return t if OBJ is a list of strings. (fn OBJ) (defalias 'ycmd--string-list-p #[257 "\211<\205 \300\301\"\207" [-all\? stringp] 4 (#$ . 50884)]) #@88 Look up directory hierarchy for first found default tags file for BUFFER. (fn BUFFER) (defalias 'ycmd--locate-default-tags-file #[257 "\301!\211\205\211\205\302\"\211\205\303\"\262\207" [ycmd-default-tags-file-name buffer-file-name locate-dominating-file expand-file-name] 6 (#$ . 51038)]) #@60 Get tag files list for current BUFFER or nil. (fn BUFFER) (defalias 'ycmd--get-tag-files #[257 "\301=\203\f\302!\202;\204\303!\205\211\205)\211<\204%\211C\262\304\305\"\207" [ycmd-tag-files auto ycmd--locate-default-tags-file ycmd--string-list-p mapcar expand-file-name] 5 (#$ . 51347)]) #@46 Get syntax keywords for BUFFER. (fn BUFFER) (defalias 'ycmd--get-keywords #[257 "r\211q\210\211 >?\205'\303\n!\205\n!\211\205%\304!\205%\305\301\"\210\211\262\262)\207" [major-mode ycmd--mode-keywords-loaded ycmd-get-keywords-function functionp ycmd--string-list-p add-to-list] 6 (#$ . 51658)]) #@62 Get keywords from `ycmd-keywords-alist' for MODE. (fn MODE) (defalias 'ycmd--get-keywords-from-alist #[257 "\211\236A\211:\203\n\207\211\236A\207" [ycmd-keywords-alist] 4 (#$ . 51971)]) #@788 Get completions in current buffer from the ycmd server. Returns a deferred object which yields the HTTP message content. If completions are available, the structure looks like this: ((error) (completion_start_column . 6) (completions ((kind . "FUNCTION") (extra_menu_info . "long double") (detailed_info . "long double acoshl( long double )\n") (insertion_text . "acoshl") (menu_text . "acoshl( long double )")) . . .)) If ycmd can't do completion because it's busy parsing, the structure looks like this: ((message . "Still parsing file, no completions yet.") (traceback . "long traceback string") (exception (TYPE . "RuntimeError"))) To see what the returned structure looks like, you can use `ycmd-display-completions'. (defalias 'ycmd-get-completions #[0 "\205\301\302BC\303\304\305\306\307\310\311 \"$!\207" [ycmd-force-semantic-completion "force_semantic" t ycmd--request make-ycmd-request-data :handler "completions" :content append ycmd--get-basic-request-data] 9 (#$ . 52168)]) #@57 Send a command request for SUBCOMMAND. (fn SUBCOMMAND) (defalias 'ycmd--command-request #[257 "\211<\203 \211\202 \211C\300\301C\"\302 B\303\304\305\306#!\207" [append "command_arguments" ycmd--get-basic-request-data ycmd--request record ycmd-request-data "run_completer_command"] 8 (#$ . 53230)]) #@131 Send SUBCOMMAND to the `ycmd' server. SUCCESS-HANDLER is called when for a successful response. (fn SUBCOMMAND SUCCESS-HANDLER) (defalias 'ycmd--run-completer-command #[514 "\2058\242\206\n\301 \203\302\303\"\2026`p\304\305!\262\306\307\310%\"\262\211\262\262\262\262\207" [ycmd-mode ycmd-parsing-in-progress-p message "Can't send \"%s\" request while parsing is in progress!" nil ycmd--command-request deferred:nextc make-closure #[257 "\303\203Rr\303q\210\304!\203E\211\305\306\236A\236A\307\306\236A\236A\310\236A\311\230\203/\312!\266\203\202@\310\313#\210\314\315\301\303\302 %\266\316\262\202P\211\205P\300\205P\300!)\207\304!\203\207\211\305\306\236A\236A\307\306\236A\236A\310\236A\311\230\203u\312!\207\310\313#\210\314\315\301\303\302 %\266\316\207\211\205\222\300\205\222\300!\207" [V0 V1 V2 V3 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" run-hook-with-args ycmd-after-exception-hook nil] 11 "\n\n(fn RESPONSE)"]] 14 (#$ . 53540)]) (byte-code "\300\301\302\303#\300\207" [function-put ycmd--run-completer-command lisp-indent-function 1] 4) #@77 Return t if RESPONSE is an unsupported subcommand exception. (fn RESPONSE) (defalias 'ycmd--unsupported-subcommand-p #[257 "\211\300\301\236A\236A\302\236A\303\230\205\304\305\"\206\211\306\230\207" [TYPE exception message "ValueError" string-prefix-p "Supported commands are:\n" "This Completer has no supported subcommands."] 7 (#$ . 54734)]) #@78 Get available subcommands for current completer. This is a blocking request. (defalias 'ycmd--get-defined-subcommands #[0 "\300\301\302\"\303\304\211\305!\262\306\307\310\"\"\262\211\262\262!\207" [make-ycmd-request-data :handler "defined_subcommands" ycmd-deferred:sync! nil ycmd--request 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)"]] 9 (#$ . 55094)]) #@71 Return promp for SUBCOMMAND that requires arguments. (fn SUBCOMMAND) (defalias 'ycmd--get-prompt-for-subcommand #[257 "\211\301\232\203\302\207\303=\205\211\205\304\207" [major-mode "RefactorRename" "New name: " python-mode "Python binary: "] 3 (#$ . 55879)]) #@34 Read subcommand from minibuffer. (defalias 'ycmd--read-subcommand #[0 "\301 \211\205\f\302\303\304$\207" [ycmd-completing-read-function ycmd--get-defined-subcommands "Subcommand: " nil t] 6 (#$ . 56153)]) #@56 Run SUBCOMMAND for current completer. (fn SUBCOMMAND) (defalias 'ycmd-completer #[257 "\211\205\300\301\"\207" [ycmd--run-completer-command #[257 "\211<\204\n\300\301\"\207\302\236\203\303!\207\300\236\203\304!\207\305\236\203(\306!\207\307!\207" [message "%s" fixits ycmd--handle-fixit-response ycmd--handle-message-response detailed_info ycmd--handle-detailed-info-response ycmd--handle-goto-response] 4 "\n\n(fn RESPONSE)"]] 4 (#$ . 56367) (byte-code "\300 \211\205\301!\211\203\302!\303!\204D\262\210\210\211\262C\207" [ycmd--read-subcommand ycmd--get-prompt-for-subcommand read-string s-blank-str\?] 5)]) #@72 Go to the definition or declaration of the symbol at current position. (defalias 'ycmd-goto #[0 "\300\301!\207" [ycmd--goto "GoTo"] 2 (#$ . 57014) nil]) #@62 Go to the declaration of the symbol at the current position. (defalias 'ycmd-goto-declaration #[0 "\300\301!\207" [ycmd--goto "GoToDeclaration"] 2 (#$ . 57173) nil]) #@61 Go to the definition of the symbol at the current position. (defalias 'ycmd-goto-definition #[0 "\300\301!\207" [ycmd--goto "GoToDefinition"] 2 (#$ . 57345) nil]) #@65 Go to the implementation of the symbol at the current position. (defalias 'ycmd-goto-implementation #[0 "\300\301!\207" [ycmd--goto "GoToImplementation"] 2 (#$ . 57514) nil]) #@58 Go to the include of the symbol at the current position. (defalias 'ycmd-goto-include #[0 "\300\301!\207" [ycmd--goto "GoToInclude"] 2 (#$ . 57695) nil]) #@101 Fast implementation of Go To at the cost of precision. Useful in case compile-time is considerable. (defalias 'ycmd-goto-imprecise #[0 "\300\301!\207" [ycmd--goto "GoToImprecise"] 2 (#$ . 57856) nil]) #@17 Get references. (defalias 'ycmd-goto-references #[0 "\300\301!\207" [ycmd--goto "GoToReferences"] 2 (#$ . 58063) nil]) #@55 Go to the type of the symbol at the current position. (defalias 'ycmd-goto-type #[0 "\300\301!\207" [ycmd--goto "GoToType"] 2 (#$ . 58188) nil]) #@14 Save marker. (defalias 'ycmd--save-marker #[0 "\301 \210\302\303!\203\f\303 \207\304\305 \"\207" [find-tag-marker-ring push-mark fboundp xref-push-marker-stack ring-insert point-marker] 3 (#$ . 58339)]) #@57 Return t if RESPONSE is a GoTo location. (fn RESPONSE) (defalias 'ycmd--location-data-p #[257 "\300\236\205\301\236\205\302\236\207" [filepath line_num column_num] 3 (#$ . 58550)]) #@52 Handle a successfull GoTo RESPONSE. (fn RESPONSE) (defalias 'ycmd--handle-goto-response #[257 "\301 \210\302!\203\303\304\"\207\305\"\207" [major-mode ycmd--save-marker ycmd--location-data-p ycmd--goto-location find-file ycmd--view] 4 (#$ . 58745)]) #@66 Implementation of GoTo according to the request TYPE. (fn TYPE) (defalias 'ycmd--goto #[257 "\212\300\301!\211\203\f\211@b\210\210\302!)\207" [bounds-of-thing-at-point symbol ycmd-completer] 3 (#$ . 59008)]) #@148 Move cursor to LOCATION with FIND-FUNCTION. LOCATION is a structure as returned from e.g. the various GoTo commands. (fn LOCATION FIND-FUNCTION) (defalias 'ycmd--goto-location #[514 "\300\236A\301\236A\302\236A\205!\210\303\"b\207" [filepath column_num line_num ycmd--col-line-to-position] 9 (#$ . 59226)]) #@24 Go to LINE. (fn LINE) (defalias 'ycmd--goto-line #[257 "eb\210\211Sy\207" [] 2 (#$ . 59552)]) #@296 Convert COL and LINE into a position in the current buffer. COL and LINE are expected to be as returned from ycmd, e.g. from notify-file-ready. Apparently COL can be 0 sometimes, in which case this function returns 0. Use BUFFER if non-nil or `current-buffer'. (fn COL LINE &optional BUFFER) (defalias 'ycmd--col-line-to-position #[770 "\211\206p\300U\203 \300\207r\211q\210\301!\210Su\210`)\207" [0 ycmd--goto-line] 6 (#$ . 59654)]) #@36 Clear the compilation flags cache. (defalias 'ycmd-clear-compilation-flag-cache #[0 "\300\301!\207" [ycmd-completer "ClearCompilationFlagCache"] 2 (#$ . 60103) nil]) #@176 Send request to restart the semantic completion backend server. If ARG is non-nil and current `major-mode' is `python-mode', prompt for the Python binary. (fn &optional ARG) (defalias 'ycmd-restart-semantic-server #[256 "\300\301!\204\f\300D\262\302!\207" ["RestartServer" s-blank-str\? ycmd-completer] 4 (#$ . 60276) (byte-code "\205 \302=\205 \303\304!C\207" [current-prefix-arg major-mode python-mode read-string "Python binary: "] 2)]) #@54 Fontify CODE. (fn CODE &optional (MODE major-mode)) (defalias 'ycmd--fontify-code #[385 "\211\203 \211A\262\242\202\203\305\306\307\310G\\D\"\210\311!\204*\305\312\313\314E\"\210;\2041\207\315\316\317\"r\211q\210\320\321\"\216\322\301!\210\317 \210)\317 \n!\210\317\323 \210c\210\324ed\325#\210)\326 *\207" [major-mode delay-mode-hooks font-lock-mode font-lock-function inhibit-read-only signal wrong-number-of-arguments ycmd--fontify-code 2 functionp wrong-type-argument function mode generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] make-local-variable erase-buffer font-lock-default-fontify-region nil buffer-string] 8 (#$ . 60732)]) #@155 Extract message from RESPONSE. Return a cons cell with the type or parent as car. If cdr is non-nil, the result is a valid type or parent. (fn RESPONSE) (defalias 'ycmd--get-message #[257 "\300\236A\211\205\211\301\235\203\211C\207\211\302B\207" [message ("Internal error: no translation unit" "Internal error: cursor not valid" "Unknown type" "Unknown semantic parent") t] 4 (#$ . 61462)]) #@67 Handle a successful GetParent or GetType RESPONSE. (fn RESPONSE) (defalias 'ycmd--handle-message-response #[257 "\300!\211\205\211\242\243\301\302\203\303!\202\"\266\204\207" [ycmd--get-message message "%s" ycmd--fontify-code] 10 (#$ . 61865)]) #@42 Get semantic parent for symbol at point. (defalias 'ycmd-get-parent #[0 "\300\301!\207" [ycmd-completer "GetParent"] 2 (#$ . 62130) nil]) #@114 Get type for symbol at point. If optional ARG is non-nil, get type without reparsing buffer. (fn &optional ARG) (defalias 'ycmd-get-type #[256 "\300\203 \301\202\n\302!\207" [ycmd-completer "GetTypeImprecise" "GetType"] 3 (#$ . 62275) "P"]) #@280 Loop over an alist of fixit chunks grouped by filepath. Evaluate BODY with `it' bound to each car from FIXIT-CHUNKS, in turn. The structure of `it' is a cons cell (FILEPATH CHUNK-LIST). Then evaluate RESULT to get return value, default nil. (fn (FIXIT-CHUNKS [RESULT]) BODY...) (defalias 'ycmd--loop-chunks-by-filename '(macro . #[385 "\300\301\302\303@EDC\304\305BBABBB\207" [let chunks-by-filepath --group-by (let-alist it \.range\.start\.filepath) dolist (it chunks-by-filepath)] 7 (#$ . 62527)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ycmd--loop-chunks-by-filename lisp-indent-function 1 put edebug-form-spec ((form &optional form) body)] 5) #@105 Select a buffer and display FIXITS. Optional TITLE is shown on first line. (fn FIXITS &optional TITLE) (defalias 'ycmd--show-fixits #[513 "\302\303!\304rq\210\305\306 \210\203\307\310\311#c\210\211\203}\211@\211\312\236A\313\236A\314!\211G\304V\305\211\203`\211@\211\242\243\315 !\204K\205O\316\317\"\320\321\"\322R\262\266A\266\202\2021\210\323\316\324 #P\"\210T\262 \266A\266\202\202\210eb\210\203\210\304y\210\325 \210)\326!\210\211\207" [buffer-read-only next-error-last-buffer get-buffer-create "*ycmd-fixits*" 1 nil erase-buffer propertize face bold chunks text ycmd--get-fixit-diffs s-blank-str\? format "%s\n" ycmd--fontify-code diff-mode "\n" ycmd--insert-fixit-button "%d: %s\n" ycmd-fixit-mode pop-to-buffer] 23 (#$ . 63212)]) #@262 Return a list of diffs for CHUNKS. Each diff is a list of the actual diff, the path of the file for the diff and a flag whether to show the filepath as part of the button text. The flag is set to t when there are multiple diff chunks for the file. (fn CHUNKS) (defalias 'ycmd--get-fixit-diffs #[257 "\301\302\303\301\304\301\211\203O\211A\262\242\262\262T\262\305\306\307\236A\236A\236A\211\262\262\310\"\211\203>\211AB\241\210\202FDB\262\266\202\262\202\266\211\262\"\237\211\211\203\310\211@\211\242\243\311!r\211q\210\312 )\313\314\315\"r\211q\210\316\317\"\216c\210\320p\"\210\321p\322\315$*\262r\211q\210eb\210m\204\276\3231\242\324\315!0\210\202\243\210\325!\203\276`\326 \327\"\211BB\262\266\202\243)\266A\266\202\202W\210\237\207" [diff-hunk-header-re-unified nil -map #[257 "\211@A\237B\207" [] 3 "\n\n(fn N)"] 0 filepath start range assoc find-file-noselect buffer-string generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] ycmd--replace-chunk-list diff-no-select "-U0 --strip-trailing-cr" (error) diff-beginning-of-hunk looking-at diff-end-of-hunk buffer-substring-no-properties] 17 (#$ . 64004)]) (define-button-type 'ycmd--fixit-button 'action 'ycmd--apply-fixit 'face nil) #@55 Insert a button with NAME and FIXIT. (fn NAME FIXIT) (defalias 'ycmd--insert-fixit-button #[514 "\300\301\302\303%\207" [insert-text-button type ycmd--fixit-button fixit] 8 (#$ . 65320)]) #@42 Apply BUTTON's FixIt chunk. (fn BUTTON) (defalias 'ycmd--apply-fixit #[257 "\300\301\"\211\205x\302\303\304\305\304\211\203V\211A\262\242\262\262T\262\306\307\310\236A\236A\236A\211\262\262\311\"\211\203E\211AB\241\210\202MDB\262\266\202\262\202\266\211\262\"\237\211\211\203p\211@\312A!\210A\266\202\202^\266\313\314\315\316!\"\207" [button-get fixit -map #[257 "\211@A\237B\207" [] 3 "\n\n(fn N)"] nil 0 filepath start range assoc ycmd--replace-chunk-list quit-window t get-buffer-window "*ycmd-fixits*"] 14 (#$ . 65517)]) (defvar ycmd-fixit-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [ycmd-fixit-mode-hook variable-documentation put "Hook run after entering ycmd-fixits mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp ycmd-fixit-mode-map definition-name ycmd-fixit-mode] 4) (defvar ycmd-fixit-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [ycmd-fixit-mode-abbrev-table ycmd-fixit-mode-map variable-documentation put purecopy "Keymap for `ycmd-fixit-mode'." boundp ycmd-fixit-mode-syntax-table definition-name ycmd-fixit-mode (lambda (#1=#:def-tmp-var) (defvar ycmd-fixit-mode-syntax-table #1#)) make-syntax-table "Syntax table for `ycmd-fixit-mode'." (lambda (#1#) (defvar ycmd-fixit-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `ycmd-fixit-mode'." derived-mode-parent ycmd-view-mode] 5) #@252 Major mode for viewing and navigation of fixits. \{ycmd-view-mode-map} In addition to any hooks its parent mode `ycmd-view-mode' might have run, this mode runs the hook `ycmd-fixit-mode-hook', as the final or penultimate step during initialization. (defalias 'ycmd-fixit-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R =\204R\326 \325C#\210\327 !\210\330\f!\210 \331\332\333\"\210)\334\335!\207" [delay-mode-hooks major-mode mode-name ycmd-fixit-mode-map ycmd-fixit-mode-syntax-table ycmd-fixit-mode-abbrev-table make-local-variable t ycmd-view-mode ycmd-fixit-mode "ycmd-fixits" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table local-set-key "q" #[0 "\300\301!\207" [quit-window t] 2 nil nil] run-mode-hooks ycmd-fixit-mode-hook local-abbrev-table] 5 (#$ . 67295) nil]) #@354 Replace text between BOUNDS with REPLACEMENT-TEXT. BOUNDS is a list of two cons cells representing the start and end of a chunk with a line and column pair (car and cdr). LINE-DELTA and CHAR-DELTA are offset from -former replacements on the current line. BUFFER is the current working buffer. (fn BOUNDS REPLACEMENT-TEXT LINE-DELTA CHAR-DELTA BUFFER) (defalias 'ycmd--replace-chunk #[1285 "\242\211\242\243\243\211\242\211\242\243\243\\\\\211ZT\\\300U\2034\\\2025\301\302\"\211G\211Z\303!@GZZ\300V\203U\211Z\262\212rq\210\304\n#\304\n#|\210c\210*B\207" [1 s-split "\n" last ycmd--col-line-to-position] 31 (#$ . 68387)]) #@47 Get an list with bounds of CHUNK. (fn CHUNK) (defalias 'ycmd--get-chunk-bounds #[257 "\211\300\301\302\236A\236A\236A\303\301\302\236A\236A\236A\300\304\302\236A\236A\236A\303\304\302\236A\236A\236ABBD\207" [line_num start range column_num end] 9 (#$ . 69072)]) #@49 Return t if C1 should go before C2. (fn C1 C2) (defalias 'ycmd--chunk-< #[514 "\300!\300!\211\242\211\242\243\243\211\243\242\211\242\243 \243\211\243 W\2062 U\2052\211W\207" [ycmd--get-chunk-bounds] 20 (#$ . 69350)]) #@147 Replace list of CHUNKS. If BUFFER is specified use it as working buffer, else use buffer specified in fixit chunk. (fn CHUNKS &optional BUFFER) (defalias 'ycmd--replace-chunk-list #[513 "\300\301\"\302\303\211\211\205j\211@\211\304\305\306\236A\236A\236A\307\236A\310!\211\242\211\242\243\211\242\211\242\243\2067\311 !U\204D\262\303\262\312\n\f%\211\242\243\\\262\\\262\266A\266\202\202\207" [sort ycmd--chunk-< -1 0 filepath start range replacement_text ycmd--get-chunk-bounds find-file-noselect ycmd--replace-chunk] 28 (#$ . 69596)]) #@62 Check if mutiple FIXITS have the same location. (fn FIXITS) (defalias 'ycmd--fixits-have-same-location-p #[257 "\300\301\302\303\302\211\203B\211A\262\242\262\262T\262\304\236A\305\"\211\2031\211AB\241\210\2029DB\262\266\202\262\202\266\211\262\"\237\3062k\211\211\205h\211@\211AG\307V\203a\310\306\311\"\210A\266\202\202N\2620\207" [-map #[257 "\211@A\237B\207" [] 3 "\n\n(fn N)"] nil 0 location assoc done 1 throw t] 13 (#$ . 70184)]) #@41 Handle a fixit RESPONSE. (fn RESPONSE) (defalias 'ycmd--handle-fixit-response #[257 "\301\236A\211\204\f\302\303!\207\211G\304V\205\305!\204\334\211\204\334\306\307\211\203\276\211@\310\236A\211\203\266\311\312\307\306\307\211\203}\211A\262\242\262\262T\262\313\314\315\236A\236A\236A\211\262\262\316\"\211\203l\211AB\241\210\202tDB\262\266\202\262\2026\266\211\262\"\237\211\211\203\264\211@\211\242\243\317!\210 G\\\262\f \235\204\253\320C\f\"\262 \266A\266\202\202\205\266\210A\266\202\202!\210\306V\205\333\211G\321\322\"\304V\205\325\321\323\"P\302!\266\202\207r\324\205\344\325\")\207" [ycmd-confirm-fixit fixits message "No fixits found for current line" 1 ycmd--fixits-have-same-location-p 0 nil chunks -map #[257 "\211@A\237B\207" [] 3 "\n\n(fn N)"] filepath start range assoc ycmd--replace-chunk-list append format "Applied %d changes" " in %d files" ycmd--show-fixits "Multiple FixIt suggestions are available at this location.Which one would you like to apply?\n"] 20 (#$ . 70665)]) #@30 Get FixIts for current line. (defalias 'ycmd-fixit #[0 "\300\301!\207" [ycmd-completer "FixIt"] 2 (#$ . 71740) nil]) #@56 Refactor current context with NEW-NAME. (fn NEW-NAME) (defalias 'ycmd-refactor-rename #[257 "\300\301!\204\f\300D\262\302!\207" ["RefactorRename" s-blank-str\? ycmd-completer] 4 (#$ . 71863) "MNew variable name: "]) #@153 Show documentation for current point in buffer. If optional ARG is non-nil do not reparse buffer before getting the documentation. (fn &optional ARG) (defalias 'ycmd-show-documentation #[256 "\300\203 \301\202\n\302!\207" [ycmd-completer "GetDocImprecise" "GetDoc"] 3 (#$ . 72092) "P"]) #@51 Handle successful GetDoc RESPONSE. (fn RESPONSE) (defalias 'ycmd--handle-detailed-info-response #[257 "\305\236A\306!\204K\307\211\223\210\310 B\311\nB\312 \313\314!\315!\211\307\211r\fq\210c)\262rq\210\316\307\"\262)\317\320!\203E\320\"\202F\211)\266\204*\207\321\322!\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output detailed_info s-blank\? nil help-mode-setup help-mode-finish selected-frame get-buffer-create " *ycmd-documentation*" temp-buffer-window-setup temp-buffer-window-show functionp help-window-setup message "No documentation available for current context"] 9 (#$ . 72390)]) #@61 Create view buffer and execute BODY in it. (fn &rest BODY) (defalias 'ycmd--with-view-buffer '(macro . #[128 "\300\301\302\303\304\305\306\307\"BBBBE\207" [let ((buf (get-buffer-create "*ycmd-locations*"))) with-current-buffer buf (setq buffer-read-only nil) (erase-buffer) append ((goto-char (point-min)) (ycmd-view-mode) buf)] 10 (#$ . 73083)])) #@124 Select `ycmd-view-mode' buffer and display items from RESPONSE. MODE is a major mode for fontifaction. (fn RESPONSE MODE) (defalias 'ycmd--view #[514 "\302\303!r\211q\210\304\305 \210\306\307\310\"\311\312\304\313\304\211\203T\211A\262\242\262\262T\262\314\236A\315\"\211\203C\211AB\241\210\202KDB\262\266\202\262\202\266\211\262\"\237\"\210eb\210\316 \210)\211\262\317!\210\211\211\207" [buffer-read-only next-error-last-buffer get-buffer-create "*ycmd-locations*" nil erase-buffer mapc make-closure #[257 "\301\300\"\207" [V0 ycmd--view-insert-location] 4 "\n\n(fn IT)"] -map #[257 "\211@A\237B\207" [] 3 "\n\n(fn N)"] 0 filepath assoc ycmd-view-mode pop-to-buffer] 17 (#$ . 73441)]) (define-button-type 'ycmd--location-button 'action 'ycmd--view-jump 'face nil) #@59 Jump to BUTTON's location in current window. (fn BUTTON) (defalias 'ycmd--view-jump #[257 "\300\301\"\302\303\"\207" [button-get location ycmd--goto-location find-file] 5 (#$ . 74251)]) #@57 Jump to BUTTON's location in other window. (fn BUTTON) (defalias 'ycmd--view-jump-other-window #[257 "\300\301\"\302\303\"\207" [button-get location ycmd--goto-location find-file-other-window] 5 (#$ . 74446)]) #@66 Insert a view button with NAME and LOCATION. (fn NAME LOCATION) (defalias 'ycmd--view-insert-button #[514 "\300\301\302\303%\207" [insert-text-button type ycmd--location-button location] 8 (#$ . 74665)]) #@43 Return line from LOCATION. (fn LOCATION) (defalias 'ycmd--get-line-from-location #[257 "\211\300\236A\301\236A\302\236A\205\303!\211\205*r\211q\210\304\"b\210\305 \210`\306 {)\207" [filepath column_num line_num find-file-noselect ycmd--col-line-to-position back-to-indentation line-end-position] 9 (#$ . 74878)]) #@204 Insert LOCATION-GROUP into `current-buffer' and fontify according MODE. LOCATION-GROUP is a cons cell whose car is the filepath and the whose cdr is a list of location objects. (fn LOCATION-GROUP MODE) (defalias 'ycmd--view-insert-location #[514 "\242\243\211\300\211:\2037@\262\301\236A\211\205\302\303\"G\262\203-]\266\202\2020\211\266\202A\262\202 \266\202\211\205A\302\304\"\305\306P\307\310#c\210\311\312\313 #\"\207" [nil line_num format "%d" "%%%dd:" propertize "\n" face bold mapc make-closure #[257 "\211\302\236A\303\236A\301\203\304\301\"c\210\305c\210\306!\204\"\307!\206%\310!\311\312\206,\313\300\"\"\266\314c\207" [V0 V1 line_num description format " " s-blank\? s-trim-left ycmd--get-line-from-location ycmd--view-insert-button ycmd--fontify-code "" "\n"] 9 "\n\n(fn IT)"]] 13 (#$ . 75209)]) (defvar ycmd-view-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\207" [make-sparse-keymap define-key "n" next-error-no-select "p" previous-error-no-select "q" quit-window] 5)) (defvar ycmd-view-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [ycmd-view-mode-hook variable-documentation put "Hook run after entering ycmd-view mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp ycmd-view-mode-map definition-name ycmd-view-mode] 4) (defvar ycmd-view-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [ycmd-view-mode-abbrev-table ycmd-view-mode-map variable-documentation put purecopy "Keymap for `ycmd-view-mode'." boundp ycmd-view-mode-syntax-table definition-name ycmd-view-mode (lambda (#1=#:def-tmp-var) (defvar ycmd-view-mode-syntax-table #1#)) make-syntax-table "Syntax table for `ycmd-view-mode'." (lambda (#1#) (defvar ycmd-view-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `ycmd-view-mode'." derived-mode-parent special-mode] 5) #@262 Major mode for locations view and navigation for `ycmd-mode'. \{ycmd-view-mode-map} In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `ycmd-view-mode-hook', as the final or penultimate step during initialization. (defalias 'ycmd-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R =\204R\326 \325C#\210\327 !\210\330\f!\210 \331)\332\333!\207" [delay-mode-hooks major-mode mode-name ycmd-view-mode-map ycmd-view-mode-syntax-table ycmd-view-mode-abbrev-table make-local-variable t special-mode ycmd-view-mode "ycmd-view" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table ycmd--next-location run-mode-hooks ycmd-view-mode-hook local-abbrev-table next-error-function] 5 (#$ . 77466) nil]) #@196 Navigate to the next location in the view buffer. NUM is the number of locations to move forward. If RESET is non-nil got to the beginning of buffer before locations navigation. (fn NUM RESET) (defalias 'ycmd--next-location #[514 "\300!\210\301\302`!!\207" [forward-button ycmd--view-jump-other-window button-at] 5 (#$ . 78521)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\305%\207" [define-button-type ycmd--error-button face (error bold underline) button t ycmd--warning-button (warning bold underline)] 6) #@141 Make a button from START to END of TYPE in the current buffer. When clicked, MSG will be shown in the minibuffer. (fn START END TYPE MSG) (defalias 'ycmd--make-button #[1028 "\300\301\302\303\304\"&\207" [make-text-button type action make-closure #[257 "\301\300!\207" [V0 message] 3 "\n\n(fn _)"]] 13 (#$ . 79059)]) #@46 A mapping from parse 'kind' to button types. (defconst ycmd--file-ready-buttons '(("ERROR" . ycmd--error-button) ("WARNING" . ycmd--warning-button)) (#$ . 79390)) #@48 Find position at the start of LINE. (fn LINE) (defalias 'ycmd--line-start-position #[257 "\212\300!\210\301 \210`)\207" [ycmd--goto-line beginning-of-line] 3 (#$ . 79559)]) #@46 Find position at the end of LINE. (fn LINE) (defalias 'ycmd--line-end-position #[257 "\212\300!\210\301\210`)\207" [ycmd--goto-line nil] 3 (#$ . 79740)]) #@200 Decorates a buffer based on the contents of a single parse RESULT. This is a fairly crude form of decoration, but it does give reasonable visual feedback on the problems found by ycmd. (fn RESULT) (defalias 'ycmd--decorate-single-parse-result #[257 "\211\304\305\236A\236A\306\305\236A\236A\307\236A\310\236A\311\236A\312!\211\205]r\211q\210\313!\314!\315\"A\211\205Z\316 \317\211\317\320\321\"\216\322 \323\f\f\317=\205U\324R$,\262\266\203)\207" [ycmd--file-ready-buttons buffer-undo-list inhibit-read-only inhibit-modification-hooks filepath location line_num kind text fixit_available find-buffer-visiting ycmd--line-start-position ycmd--line-end-position assoc buffer-modified-p t make-closure #[0 "\300?\205\301\302!\207" [V0 restore-buffer-modified-p nil] 2] ycmd--make-button ": " " (FixIt available)"] 22 (#$ . 79904)]) #@144 Decorates a buffer using the RESULTS of a file-ready parse list. This is suitable as an entry in `ycmd-file-parse-result-hook'. (fn RESULTS) (defalias 'ycmd-decorate-with-parse-results #[257 "\303 \304\211\304\305\306\"\216\307ed\310#\210,\210\311\312\"\210\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t make-closure #[0 "\300?\205\301\302!\207" [V0 restore-buffer-modified-p nil] 2] set-text-properties nil mapc ycmd--decorate-single-parse-result] 7 (#$ . 80769)]) #@49 Insert a single file parse RESULT. (fn RESULT) (defalias 'ycmd--display-single-file-parse-result #[257 "\211\300\301\236A\236A\302\301\236A\236A\303\236A\304\236A\305\306%c\207" [filepath location line_num kind text format "%s:%s - %s - %s\n"] 12 (#$ . 81292)]) #@50 Display parse RESULTS in a buffer. (fn RESULTS) (defalias 'ycmd-display-file-parse-results #[257 "\300\301!\210r\301q\210\302 \210\303\304\"\210)\305\301!\207" [get-buffer-create "*ycmd-file-parse-results*" erase-buffer mapc ycmd--display-single-file-parse-result display-buffer] 4 (#$ . 81569)]) #@15 Parse buffer. (defalias 'ycmd-parse-buffer #[0 "\300 \204 \301\302!\207\303 \205#p\304\305\306!\262\307\310\311\"\"\262\211\262\262\207" [ycmd-semantic-completer-available-p message "Native filetype completion not supported for current file, cannot send parse request" ycmd--server-alive-p nil deferred:next #[0 "\300\301!\210\302 \210\303 \207" [message "Parsing buffer..." ycmd--reset-parse-status ycmd--conditional-parse] 2] deferred:nextc make-closure #[0 "r\300q\210 \302=\205 \303\304!)\207" [V0 ycmd--last-status-change parsed message "Parsing buffer done"] 2]] 7 (#$ . 81874) nil]) #@133 Handle an exception of type `UnknownExtraConf'. Handle CONF-FILE according the value of `ycmd-extra-conf-handler'. (fn CONF-FILE) (defalias 'ycmd--handle-extra-conf-exception #[257 "\211\204\301\302!\207\303=\206\304\305\306\"!?\307\"\210\310 \210\311 \207" [ycmd-extra-conf-handler warn "No extra_conf_file included in UnknownExtraConf exception. Consider reporting this." ignore y-or-n-p format "Load YCMD extra conf %s? " ycmd--extra-conf-request ycmd--reset-parse-status ycmd-notify-file-ready-to-parse] 5 (#$ . 82480)]) #@143 Send a event notification for EVENT-NAME. Optional EXTRA-DATA contains additional data for the request. (fn EVENT-NAME &optional EXTRA-DATA) (defalias 'ycmd--event-notification #[513 "\300\301BC\302 #\303\304\305\306\307#!\262\310\311\312\"\"\207" [append "event_name" ycmd--get-basic-request-data nil ycmd--request record ycmd-request-data "event_notification" deferred:error make-closure #[257 "\301\302\300#\210\303\304!\210\305\207" [V0 message "Error sending %s request: %s" ycmd--report-status errored nil] 5 "\n\n(fn ERR)"]] 9 (#$ . 83022)]) #@268 Send a notification to ycmd that the buffer is ready to be parsed. Only one active notification is allowed per buffer, and this function enforces that constraint. The response of the notification are passed to all of the functions in `ycmd-file-parse-result-hook'. (defalias 'ycmd-notify-file-ready-to-parse #[0 "\205J\303 ?\205Jp\304\305 \205\306!\211\205\307BC\262\n\205%\310!\211\205-\311BC\262\"\312\313!\210\314\315\"\262\262\316\317\320\"\"\262\211\262\262\207" [ycmd-mode ycmd-tag-files ycmd-seed-identifiers-with-keywords ycmd-parsing-in-progress-p nil append ycmd--get-tag-files "tag_files" ycmd--get-keywords "syntax_keywords" ycmd--report-status parsing ycmd--event-notification "FileReadyToParse" deferred:nextc make-closure #[257 "\300\203Jr\300q\210\301!\203@\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203/\307!\266\203\202;\305\310#\210\311\312!\266\313\262\202H\311\314!\210\315\316\")\207\301!\203z\211\302\303\236A\236A\304\303\236A\236A\305\236A\306\230\203m\307!\207\305\310#\210\311\312!\266\313\207\311\314!\210\315\316\"\207" [V0 ycmd--exception-p TYPE exception extra_conf_file message "UnknownExtraConf" ycmd--handle-extra-conf-exception "%s: %s" ycmd--report-status errored nil parsed run-hook-with-args ycmd-file-parse-result-hook] 9 "\n\n(fn RESPONSE)"]] 7 (#$ . 83587)]) #@126 Map a major mode MODE to a list of file-types suitable for ycmd. If there is no established mapping, return nil. (fn MODE) (defalias 'ycmd-major-mode-to-file-types #[257 "\211\236A\207" [ycmd-file-type-map] 3 (#$ . 84962)]) #@37 Kill server process due to timeout. (defalias 'ycmd--on-server-timeout #[0 "\300\301!\210\302\303!\207" [ycmd-close errored message "ERROR: Ycmd server timeout. If this happens regularly you may need to increase `ycmd-startup-timeout'."] 2 (#$ . 85195)]) #@33 Start the server timeout timer. (defalias 'ycmd--start-server-timeout-timer #[0 "\203\n\302!\210\303\304 \303\305#\211\207" [ycmd--server-timeout-timer ycmd-startup-timeout cancel-timer nil run-with-timer ycmd--on-server-timeout] 4 (#$ . 85456)]) #@56 Kill any existing keepalive timer and start a new one. (defalias 'ycmd--start-keepalive-timer #[0 "\203\n\302!\210\303\304 \211\305#\211\207" [ycmd--keepalive-timer ycmd-keepalive-period cancel-timer nil run-with-timer ycmd--keepalive] 4 (#$ . 85714)]) #@49 Generate a new, random 16-byte HMAC secret key. (defalias 'ycmd--generate-hmac-secret #[0 "\300\301\302\211W\203\300\303\304\305!!B\262\210\211T\262\202\266\306\307\"\207" [nil 16 0 byte-to-string random 256 apply concat] 7 (#$ . 85978)]) #@164 Encode a json object OBJ. A version of json-encode that uses {} instead of null for nil values. This produces output for empty alists that ycmd expects. (fn OBJ) (defalias 'ycmd--json-encode #[257 "\300\301K\302\303\"\216\301M\210\304!)\207" [#[257 "\211\302=\203\303\207\211=\203\304\207\211 =\205\305\207" [json-false json-null t "true" "false" "{}"] 3 "\n\n(fn K)"] json-encode-keyword make-closure #[0 "\301\300M\207" [V0 json-encode-keyword] 2] json-encode] 6 (#$ . 86234)]) #@43 Generate secure sha256 hash of X. (fn X) (defalias 'ycmd--secure-hash #[257 "\300\301\302\211\303%\207" [secure-hash sha256 nil 1] 7 (#$ . 86731)]) #@64 Compute YCMD--HMAC-FUNCTION over TEXT with KEY. (fn TEXT KEY) (defalias 'ycmd--hmac-function #[514 "\300\301\302\"C\300\301\303\"CG\304\305\306#\216\301V\203!\307!\262\301\262\211W\203F\242\310H\302\"I\210\242\310H\303\"I\210\211T\262\202!\305\311\"\216\242P)\240\210\305\312\"\216\307\242!)\240\210\305\313\"\216\242\242P)\240\210\305\314\"\216\307\242!)\240\210\242\260)\207" [make-string 64 54 92 0 make-closure #[0 "\302\300\242\303\"\210\302\301\242\303\"\207" [V0 V1 fillarray 0] 3] ycmd--secure-hash logxor #[0 "\301\300\242\302\"\207" [V0 fillarray 0] 3] #[0 "\301\300\242\302\"\207" [V0 fillarray 0] 3] #[0 "\301\300\242\302\"\207" [V0 fillarray 0] 3] #[0 "\301\300\242\302\"\207" [V0 fillarray 0] 3]] 11 (#$ . 86887)]) #@418 Return a struct with ycmd options and the HMAC-SECRET applied. The struct can be json encoded into a file to create a ycmd options file. When we start a new ycmd server, it needs an options file. It reads this file and then deletes it since it contains a secret key. So we need to generate a new options file for each ycmd instance. This function effectively produces the contents of that file. (fn HMAC-SECRET) (defalias 'ycmd--options-contents #[257 "\306!\206\307 \206 \310\n\311=\203\312\202\313 \206\307\f\206\"\307 \206'\307$\206-\307%\2063\307&\2069\307'\203B\313\202C\312\314\315B\316(B\317\320\321\322\323)B\324B\325B\326B\327\330\331\332\333\334B\335\336B\337B\340B\341B\342B\343B\257\207" [ycmd-global-config ycmd-extra-conf-whitelist ycmd-extra-conf-handler ycmd-gocode-binary-path ycmd-godef-binary-path ycmd-rust-src-path base64-encode-string "" [] load 0 1 (filepath_completion_use_working_dir . 0) auto_trigger min_num_of_chars_for_completion (min_num_identifier_candidate_chars . 0) (semantic_triggers) (filetype_specific_completion_to_disable (gitcommit . 1)) (collect_identifiers_from_comments_and_strings . 0) max_num_identifier_candidates extra_conf_globlist global_ycm_extra_conf confirm_extra_conf (max_diagnostics_to_display . 30) (auto_start_csharp_server . 1) (auto_stop_csharp_server . 1) (use_ultisnips_completer . 1) (csharp_server_port . 0) hmac_secret (server_keep_logfiles . 1) gocode_binary_path godef_binary_path rust_src_path swift_src_path racerd_binary_path python_binary_path ycmd-swift-src-path ycmd-racerd-binary-path ycmd-python-binary-path ycmd-auto-trigger-semantic-completion ycmd-min-num-chars-for-completion ycmd-max-num-identifier-candidates] 37 (#$ . 87665)]) #@182 Create a new options file for a ycmd server with HMAC-SECRET. This creates a new tempfile and fills it with options. Returns the name of the newly created file. (fn HMAC-SECRET) (defalias 'ycmd--create-options-file #[257 "\300\301!\302!\303\304\305\"\306\307\"\216r\211q\210\310!c\210)r\211q\210\311\312\211\312\313%\210*\266\207" [make-temp-file "ycmd-options" ycmd--options-contents generate-new-buffer " *temp file*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] ycmd--json-encode write-region nil 0] 11 (#$ . 89431)]) #@49 Return exit status message for CODE. (fn CODE) (defalias 'ycmd--exit-code-as-string #[257 "\211\300\267\202\301\207\302\207\303\207\304\207\305\207\306\207" [#s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (3 6 4 8 5 10 6 12 7 14)) "unexpected error while loading ycm_core." "ycm_core library not detected; you need to compile it by running the build.py script. See the documentation for more details." "ycm_core library compiled for Python 2 but loaded in Python 3." "ycm_core library compiled for Python 3 but loaded in Python 2." "ycm_core library too old; PLEASE RECOMPILE by running the build.py script. See the documentation for more details." nil] 3 (#$ . 90005)]) #@55 Handle Ycmd server PROCESS EVENT. (fn PROCESS EVENT) (defalias 'ycmd--server-process-sentinel #[514 "\302!\303>\205i\304!\211\305=\203\306\202\307\211\307=\203?\302!\310=\205'\311!\211\2034\312\313\"\266\202?\312\314\315\316\317#\"\266\320 \211\203[\211@r\211q\210\203S\321!\210)A\266\202\202A\210 \205g\322 !\210\323\211\266\202\207" [ycmd-mode ycmd--keepalive-timer process-status (exit signal) process-exit-status 0 stopped errored exit ycmd--exit-code-as-string message "Ycmd server error: %s" "Ycmd server %s" s-replace "\n" "" buffer-list ycmd--report-status cancel-timer nil] 11 (#$ . 90723)]) #@81 Filter function for the Ycmd server PROCESS output STRING. (fn PROCESS STRING) (defalias 'ycmd--server-process-filter #[514 "\304\305!!\2033r\305!q\210`\306!U\212\306!b\210\307\310!\210)\306!`\311\223\210)\211\2031\306!b\210\210) ?\205n\312\313\"\205n\n\203I\314\n!\210\311\315\316\317\"!\320 \211\203k\211@r\211q\210 \203c\321 \210)A\266\202\202R\210\322 \207" [inhibit-read-only ycmd--server-actual-port ycmd--server-timeout-timer ycmd-mode buffer-live-p process-buffer process-mark t insert-before-markers nil string-match "^serving on http://.*:\\([0-9]+\\)$" cancel-timer string-to-number match-string 1 buffer-list ycmd--reset-parse-status ycmd--perform-deferred-parse] 6 (#$ . 91357)]) #@122 Return `process-evironment'. If `ycmd-bypass-url-proxy-services' is non-nil, prepend `no_proxy' variable to environment. (defalias 'ycmd--get-process-environment #[0 "\206$\304 \205 \305\306!\206\305\307!\206\305\310!?\205 \311\nPC \"\211\207" [ycmd--process-environment ycmd-bypass-url-proxy-services ycmd-host process-environment append getenv "NO_PROXY" "no_PROXY" "no_proxy" "NO_PROXY="] 3 (#$ . 92079)]) #@44 Start a new server and return the process. (defalias 'ycmd--start-server #[0 "\204\306\307!\210\310 !r\211q\210\311\211\312 \210\313 \210*\314 \247\205( \315V\205( \316 \317!\320\2057\321\322\"C\323PC#\320\"\324  \325\326!$\327 \211\203k\211@r\211q\210\"\203c\330\331!\210)A\266\202\202P\210\314#$\332\314\"\210\333\334\"\210\335\336\"\210)\207" [ycmd-server-command ycmd--server-buffer-name buffer-read-only inhibit-read-only ycmd--process-environment ycmd-server-port user-error "Error: The variable `ycmd-server-command' is not set. See the docstring of the variable for an example" get-buffer-create t buffer-disable-undo erase-buffer nil 0 ycmd--generate-hmac-secret ycmd--create-options-file append format "--port=%d" "--options_file=" ycmd--get-process-environment apply start-process buffer-list ycmd--report-status starting set-process-query-on-exit-flag set-process-sentinel ycmd--server-process-sentinel set-process-filter ycmd--server-process-filter ycmd-server-args process-environment ycmd--server-process-name ycmd-mode ycmd--server-actual-port ycmd--hmac-secret] 12 (#$ . 92503)]) #@256 Wait until server is ready. If INCLUDE-SUBSERVER is non-nil wait until subserver is ready. Return t when server is ready. Signal error in case of timeout. The timeout can be set with the variable `ycmd-startup-timeout'. (fn &optional INCLUDE-SUBSERVER) (defalias 'ycmd-wait-until-server-is-ready #[256 "\3032U\304 \203\305!\210\306\307 \205R\310\311!\210\312!\203C\313 \211\203:\211@r\211q\210 \2032\314 \210)A\266\202\202!\210\315\303\316\"\210\202\n\304 ZW\203\317 \210\202\2620\207" [ycmd--server-timeout-timer ycmd-mode ycmd-startup-timeout ready float-time cancel-timer nil ycmd-running-p sit-for 0.1 ycmd--server-ready-p buffer-list ycmd--reset-parse-status throw t ycmd--on-server-timeout] 5 (#$ . 93641)]) #@71 Calculate column offset in bytes for the current position and buffer. (defalias 'ycmd--column-in-bytes #[0 "\300`!\300\301 !Z\207" [position-bytes line-beginning-position] 3 (#$ . 94384)]) (byte-code "\301\302!\303\"\203\304\305\306\"\210\202\304\305\307\"\210\301\207" [emacs-version version-list-< version-to-list (25) defalias ycmd--encode-string #[257 "\207" [] 2 "\n\n(fn S)"] #[257 "\300\301\302#\207" [encode-coding-string utf-8 t] 5 "\n\n(fn S)"]] 3) #@58 Build the basic request data alist for a server request. (defalias 'ycmd--get-basic-request-data #[0 "\301 T\302`!\303\304 \206 \305!\303\306ed\"!\307!\206\310\311\312B\313BED\314B\315B\316BF\207" [major-mode ycmd--column-in-bytes line-number-at-pos ycmd--encode-string buffer-file-name "" buffer-substring-no-properties ycmd-major-mode-to-file-types ("generic") "file_data" "contents" "filetypes" "filepath" "line_num" "column_num"] 10 (#$ . 94855)]) #@72 If non-nil, http content will be logged. This is useful for debugging. (defvar ycmd--log-enabled nil (#$ . 95325)) #@38 Toggle `ycmd--log-enabled' variable. (defalias 'ycmd-toggle-log-enabled #[0 "?\301\302\203\f\303\202 \304\"\210\211\211\207" [ycmd--log-enabled message "Ycmd Log %s" "enabled" "disabled"] 4 (#$ . 95446) nil]) #@70 Insert log with HEADER and CONTENT in a buffer. (fn HEADER CONTENT) (defalias 'ycmd--log-content #[514 "\205\301\302!r\211q\210\212db\210\303\304\"c\210\305!c*\262\207" [ycmd--log-enabled get-buffer-create "*ycmd-content-log*" format "\n%s\n\n" pp-to-string] 6 (#$ . 95666)]) #@25 Show debug information. (defalias 'ycmd-show-debug-info #[0 "\306\307\310\"p\311\211\223\210\312 B\313\nB\314 \315\316!\317!\211\311\211r\fq\210\320\321!\210\322\323!\324\325#c\210\320\326!\210\327\330\"\331\332!\333\334\335C%\266\320\336!\210\337 \205g\340\311\211\341 !\262\342\343\344\"\"\262\211\262\262!\211\203s\345!\266\202x\320\346!\266\320\347!\210\320\350!\210\337 \322\203\213\351\202\214\352\324\203\225\353\202\226\354#c\210\211\203\245\355\356 @#c\210\210\320\347!\210\320\357!\210\327\360\"\322\203\274\361\202\275\362\324\203\306\353\202\307\363#c\266\212`\364 \210\365`\"\266)\320\366!\210\320\355\367\3701\350\371 0\202\352\210\311\"!\210\320\355\372A\"!\210\320\355\373B\"!\210\320\355\374C\"!)\262rq\210\375\311\"\262)\376\377!\203\377\"\202 \211)\266\204*\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output ycmd-host make-ycmd-request-data :handler "debug_info" nil help-mode-setup help-mode-finish selected-frame get-buffer-create " *ycmd-debug-info*" temp-buffer-window-setup princ "Ycmd debug information for buffer " propertize buffer-name face bold " in " buffer-local-value major-mode insert-button symbol-name type help-function help-args ":\n\n" ycmd--server-alive-p ycmd-deferred:sync! ycmd--request 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)"] pp "No debug info available from server" "\n\n" "Server is " "running" "not running" success (warning bold) format " at: %s:%d" "Ycmd Mode is " ycmd-mode "enabled" "disabled" (warning bold) backward-paragraph fill-region-as-paragraph "\n\n--------------------\n\n" "Ycmd version: %s\n" (error) ycmd-version "Emacs version: %s\n" "System: %s\n" "Window system: %S\n" temp-buffer-window-show functionp help-window-setup ycmd--server-actual-port emacs-version system-configuration window-system] 14 (#$ . 95955) nil]) #@479 Use ycmd to filter and sort identifiers from REQUEST-DATA. This request allows to use ycmd's filtering and sorting mechanism on arbitrary sets of identifiers. The request data should be something like: ((candidates "candidate1" "candidate2") (sort_property . "") (query . "cand")) If candidates is a list with identifiers, sort_property should be and empty string, however when candidates is a more complex structure it is used to specify the sort key. (fn REQUEST-DATA) (defalias 'ycmd-filter-and-sort-candidates #[257 "\300\301\302#\303\304\211\305!\262\306\307\310\"\"\262\211\262\262!\207" [record ycmd-request-data "filter_and_sort_candidates" ycmd-deferred:sync! nil ycmd--request 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)"]] 10 (#$ . 98319)]) #@143 Send request to check if a semantic completer exists for MODE. Response is non-nil if semantic complettion is available. (fn &optional MODE) (defalias 'ycmd--send-completer-available-request #[256 "\301\302\303\"\203=p\304\305!\206\306!\307!>\204!\310\311\312D\"\210\313H\314\315\314\314\316\"\"\"\211:\203;\211\317!\241\210\266\320\321\211\322!\262\323\324\325\"\"\262\211\262\262!\207" [cl-struct-ycmd-request-data-tags make-ycmd-request-data :handler "semantic_completion_available" ycmd--encode-string buffer-file-name "" type-of signal wrong-type-argument ycmd-request-data 2 assoc "filetypes" "file_data" ycmd-major-mode-to-file-types ycmd-deferred:sync! nil ycmd--request 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)"]] 12 (#$ . 99511)]) #@73 Return t if a semantic completer is available for current `major-mode'. (defalias 'ycmd-semantic-completer-available-p #[0 "\302 \"\206\303!\211\205\304\305=\206\306 #\262\207" [major-mode ycmd--available-completers gethash ycmd--send-completer-available-request puthash t none] 6 (#$ . 100704)]) #@78 Generate HMAC for request from METHOD, PATH and BODY. (fn METHOD PATH BODY) (defalias 'ycmd--get-request-hmac #[771 "\301\302\303\206\n\304E\304#\"\207" [ycmd--hmac-secret ycmd--hmac-function mapconcat #[257 "\301\302!\"\207" [ycmd--hmac-secret ycmd--hmac-function ycmd--encode-string] 4 "\n\n(fn VAL)"] ""] 9 (#$ . 101019)]) #@76 compiler-macro for inlining `ycmd-request-data-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'ycmd-request-data-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block ycmd-request-data-p (and (memq (type-of cl-x) cl-struct-ycmd-request-data-tags) t)) nil] 9 (#$ . 101359)]) (put 'ycmd-request-data-p 'compiler-macro 'ycmd-request-data-p--cmacro) #@13 (fn CL-X) (defalias 'ycmd-request-data-p #[257 "\301!>\205 \302\207" [cl-struct-ycmd-request-data-tags type-of t] 3 (#$ . 101737)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ycmd-request-data-p side-effect-free error-free put ycmd-request-data cl-deftype-satisfies] 5) #@82 compiler-macro for inlining `ycmd-request-data-handler'. (fn CL-WHOLE-ARG CL-X) (defalias 'ycmd-request-data-handler--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block ycmd-request-data-handler (progn (or (ycmd-request-data-p cl-x) (signal 'wrong-type-argument (list 'ycmd-request-data cl-x))) (aref cl-x 1))) nil] 9 (#$ . 102041)]) (put 'ycmd-request-data-handler 'compiler-macro 'ycmd-request-data-handler--cmacro) #@70 Access slot "handler" of `ycmd-request-data' struct CL-X. (fn CL-X) (defalias 'ycmd-request-data-handler #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-ycmd-request-data-tags type-of signal wrong-type-argument ycmd-request-data 1] 5 (#$ . 102501)]) (byte-code "\300\301\302\303#\300\207" [function-put ycmd-request-data-handler side-effect-free t] 4) #@82 compiler-macro for inlining `ycmd-request-data-content'. (fn CL-WHOLE-ARG CL-X) (defalias 'ycmd-request-data-content--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block ycmd-request-data-content (progn (or (ycmd-request-data-p cl-x) (signal 'wrong-type-argument (list 'ycmd-request-data cl-x))) (aref cl-x 2))) nil] 9 (#$ . 102879)]) (put 'ycmd-request-data-content 'compiler-macro 'ycmd-request-data-content--cmacro) #@70 Access slot "content" of `ycmd-request-data' struct CL-X. (fn CL-X) (defalias 'ycmd-request-data-content #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-ycmd-request-data-tags type-of signal wrong-type-argument ycmd-request-data 2] 5 (#$ . 103339)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ycmd-request-data-content side-effect-free t defalias copy-ycmd-request-data copy-sequence] 4) #@101 compiler-macro for inlining `make-ycmd-request-data'. (fn CL-WHOLE &cl-quote &key HANDLER CONTENT) (defalias 'make-ycmd-request-data--cmacro #[385 "\300\301\"A@\300\302\"\206\303A@\211\203;\211@\304>\203$\211AA\262\202\305>A@\2032\306\262\202\307\310@\"\210\202\210\311\312\313\306\306&\207" [plist-member :handler :content (nil (ycmd--get-basic-request-data)) (:handler :content :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:handler :content)" cl--defsubst-expand (handler content) (cl-block make-ycmd-request-data (record 'ycmd-request-data handler content))] 12 (#$ . 103774)]) (put 'make-ycmd-request-data 'compiler-macro 'make-ycmd-request-data--cmacro) #@81 Constructor for objects of type `ycmd-request-data'. (fn &key HANDLER CONTENT) (defalias 'make-ycmd-request-data #[128 "\300\301\"A@\300\302\"\206\303\304 DA@\211\203>\211@\305>\203'\211AA\262\202\306>A@\2035\303\262\202\307\310@\"\210\202\210\311\312#\207" [plist-member :handler :content nil ycmd--get-basic-request-data (:handler :content :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:handler :content)" record ycmd-request-data] 7 (#$ . 104500)]) (cl-struct-define 'ycmd-request-data "Structure for storing the ycmd server request data.\n\nSlots:\n\n`handler'\n Specifies the the path portion of the URL. For example, if\n HANDLER is 'feed_llama', the request URL is\n 'http://host:port/feed_llama'.\n\n`content'\n An alist that will be JSON-encoded and sent over at the\n content of the HTTP message." 'cl-structure-object 'record nil '((cl-tag-slot) (handler) (content (ycmd--get-basic-request-data))) 'cl-struct-ycmd-request-data-tags 'ycmd-request-data t) #@541 Send an asynchronous HTTP request to the ycmd server. This starts the server if necessary. Returns a deferred object which resolves to the content of the response message. REQUEST-DATA is a `ycmd-request-data' structure. PARSER specifies the function that will be used to parse the response to the message. Typical values are buffer-string and json-read. This function will be passed an the completely unmodified contents of the response (i.e. not JSON-decoded or anything like that). (fn REQUEST-DATA &key (TYPE "POST") (PARAMS nil)) (defalias 'ycmd--request #[385 "\306\307\"\206\310A@\306\311\"A@\211\203;\211@\312>\203$\211AA\262\202\313>A@\2032\314\262\202\315\316@\"\210\202\210\3172\334\320 \204c\321\322\323!>\204X\324\325\326D\"\210\327H\"\210\330\317\331 \"\210 ? ?\205l\f\332 \333\323!>\204\201\324\325\326D\"\210\327HP\334\323!>\204\227\324\325\326D\"\210\335H!\336#\337\340\"\341\342./$\343\344BD\345\346\347\"\210\314\350\307\f\311 \351 \352\n\353 & \262\354\355\"\262\211\262+\266\2070\207" [cl-struct-ycmd-request-data-tags ycmd-hide-url-status url-show-status ycmd-bypass-url-proxy-services url-proxy-services process-environment plist-member :type (nil "POST") :params (:type :params :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:type :params)" --cl-block-ycmd--request-- ycmd--server-alive-p message "Ycmd server is not running. Can't send `%s' request!" type-of signal wrong-type-argument ycmd-request-data 1 throw deferred:next ycmd--get-process-environment "/" json-encode 2 ycmd--get-request-hmac base64-encode-string t format "http://%s:%s%s" ("Content-Type" . "application/json") "X-Ycm-Hmac" #[0 "\301\302 )\207" [json-array-type list json-read] 1] ycmd--log-content "HTTP REQUEST CONTENT" request-deferred :data :parser :headers deferred:nextc #[257 "\211\300H\301\302\"\210\207" [3 ycmd--log-content "HTTP RESPONSE CONTENT"] 5 "\n\n(fn RESPONSE)"] ycmd-host ycmd--server-actual-port] 24 (#$ . 105543)]) (provide 'ycmd)