;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\300\314!\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\300\321!\210\300\322!\210\300\323!\210\300\324!\210\300\325!\210\300\326!\210\300\327!\210\300\330!\210\300\331!\210\300\332!\210\300\333!\210\300\334!\210\300\335!\210\300\336!\210\300\337\340\341#\210\300\342!\207" [require bindat cl-generic cl-lib compile dash dash-functional em-glob ewoc f filenotify files ht imenu inline json lv markdown-mode network-stream pcase rx s seq spinner subr-x tree-widget url-parse url-util widget xref minibuffer yasnippet nil t lsp-protocol] 4) (defconst lsp--message-type-face (byte-code "\304B\305 B\306\nB\307 BF\207" [compilation-error-face compilation-warning-face compilation-message-face compilation-info-face 1 2 3 4] 5)) #@48 Alist of error codes to user friendly strings. (defconst lsp--errors '((-32700 "Parse Error") (-32600 "Invalid Request") (-32601 "Method not Found") (-32602 "Invalid Parameters") (-32603 "Internal Error") (-32099 "Server Start Error") (-32000 "Server End Error") (-32002 "Server Not Initialized") (-32001 "Unknown Error Code") (-32800 "Request Cancelled")) (#$ . 976)) (defconst lsp--empty-ht (make-hash-table)) (byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\210\310\302\311\312\313DD\314\315\316\317\320&\210\310\321\311\312\322DD\323\315\316\317\320\324\325& \210\310\326\311\312\327DD\330\315\316\317\331\324\332& \210\310\333\311\312\334DD\335\315\316\317\336\324\337& \210\310\340\311\312\341DD\342\315\316\317\320&\210\310\343\311\312\344DD\345\315\316\317\320&\210\310\346\311\312\347DD\350\315\316\317\320\324\351& \210\310\352\311\312\353DD\354\315\316\317\320&\210\310\355\311\312\356DD\357\315\316\317\320&\210\310\360\311\312\361DD\362\315\316\317\320&\210\363\364\365\366\315\367%\210\363\370\371\372\315\367%\210\363\373\374\375\315\367%\210\363\376\377\201@\315\367%\210\363\201A\201B\201C\315\367%\207" [defvaralias lsp-print-io lsp-log-io nil (saved-value saved-variable-comment) put make-obsolete-variable "lsp-mode 6.1" custom-declare-variable funcall function #[0 "\300\207" [nil] 1] "If non-nil, log all messages to and from the language server to a *lsp-log* buffer." :group lsp-mode :type boolean lsp-print-performance #[0 "\300\207" [nil] 1] "If non-nil, print performance info in the logs." :package-version (lsp-mode . "6.1") lsp-log-max #[0 "\207" [message-log-max] 1] "Maximum number of lines to keep in the log buffer.\nIf nil, disable message logging. If t, log messages but don’t truncate\nthe buffer when it becomes large." (choice (const :tag "Disable" nil) (integer :tag "lines") (const :tag "Unlimited" t)) (lsp-mode . "6.1") lsp-io-messages-max #[0 "\300\207" [t] 1] "Maximum number of messages that can be locked in a `lsp-io' buffer." (choice (const :tag "Unlimited" t) (integer :tag "Messages")) (lsp-mode . "6.1") lsp-keep-workspace-alive #[0 "\300\207" [t] 1] "If non nil keep workspace alive when the last workspace buffer is closed." lsp-enable-snippet #[0 "\300\207" [t] 1] "Enable/disable snippet completion support." lsp-enable-folding #[0 "\300\207" [t] 1] "Enable/disable code folding support." (lsp-mode . "6.1") lsp-enable-semantic-highlighting #[0 "\300\207" [nil] 1] "Enable/disable support for semantic highlighting as defined by\nthe Language Server Protocol 3.16." lsp-semantic-highlighting-warn-on-missing-face #[0 "\300\207" [nil] 1] "When non-nil, this option will emit a warning any time a token\nor modifier type returned by a language server has no face associated with it." lsp-semantic-tokens-apply-modifiers #[0 "\300\207" [nil] 1] "Determines whether semantic highlighting should take token\nmodifiers into account." custom-declare-face lsp-face-semhl-constant ((t :inherit font-lock-constant-face)) "Face used for semantic highlighting scopes matching constant scopes." lsp-faces lsp-face-semhl-variable ((t :inherit font-lock-variable-name-face)) "Face used for semantic highlighting scopes matching variable.*,\nunless overridden by a more specific face association." lsp-face-semhl-function ((t :inherit font-lock-function-name-face)) "Face used for semantic highlighting scopes matching entity.name.function.*,\nunless overridden by a more specific face association." lsp-face-semhl-method ((t :inherit lsp-face-semhl-function)) "Face used for semantic highlighting scopes matching entity.name.function.method.*,\nunless overridden by a more specific face association." lsp-face-semhl-namespace ((t :inherit font-lock-type-face :weight bold)) "Face used for semantic highlighting scopes matching entity.name.namespace.*,\nunless overridden by a more specific face association."] 10) #@162 Returns t if there is an element M in MATCHSPEC s.t. every N in M is a prefix of, or identical to, one of the scopes contained in SCOPES (fn MATCHSPEC SCOPES) (defalias 'lsp--semhl-scope-matchp #[514 "\300\301\302\"\"\207" [-any\? make-closure #[257 "\301\302\303\300\"\"\207" [V0 -all\? make-closure #[257 "\301\302\303!\"\304\305\306\"\300\"\207" [V0 format "^%s\\(\\..*\\)?$" regexp-quote seq-some make-closure #[257 "\301\300\"\207" [V0 s-matches-p] 4 "\n\n(fn S)"]] 6 "\n\n(fn AND-MATCHSPEC)"]] 5 "\n\n(fn OR-MATCHSPEC)"]] 6 (#$ . 4937)]) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\310\304\305%\210\300\313\314\315\304\305%\210\300\316\317\320\304\305%\210\300\321\322\323\304\305%\210\300\324\325\326\304\305%\210\300\327\330\331\304\305%\210\300\332\333\334\304\305%\210\300\335\336\337\304\305%\210\300\340\341\342\304\305%\210\300\343\344\345\304\305%\210\300\346\347\350\304\305%\210\300\351\352\353\304\305%\210\300\354\355\356\304\305%\210\300\357\360\361\304\305%\210\300\362\363\364\304\305%\210\300\365\366\367\304\305%\210\300\370\371\372\304\305%\207" [custom-declare-face lsp-face-semhl-comment ((t (:inherit font-lock-comment-face))) "Face used for comments." :group lsp-faces lsp-face-semhl-keyword ((t (:inherit font-lock-keyword-face))) "Face used for keywords." lsp-face-semhl-string ((t (:inherit font-lock-string-face))) lsp-face-semhl-number ((t (:inherit font-lock-constant-face))) "Face used for numbers." lsp-face-semhl-regexp ((t (:inherit font-lock-string-face :slant italic))) "Face used for regexps." lsp-face-semhl-operator ((t (:inherit font-lock-function-name-face))) "Face used for operators." lsp-face-semhl-namespace ((t (:inherit font-lock-keyword-face))) "Face used for namespaces." lsp-face-semhl-type ((t (:inherit font-lock-type-face))) "Face used for types." lsp-face-semhl-struct ((t (:inherit font-lock-type-face))) "Face used for structs." lsp-face-semhl-class ((t (:inherit font-lock-type-face))) "Face used for classes." lsp-face-semhl-interface ((t (:inherit font-lock-type-face))) "Face used for interfaces." lsp-face-semhl-enum ((t (:inherit font-lock-variable-name-face))) "Face used for enums." lsp-face-semhl-type-parameter ((t (:inherit font-lock-type-face))) "Face used for type parameters." lsp-face-semhl-member ((t (:inherit font-lock-variable-name-face))) "Face used for members." lsp-face-semhl-property ((t (:inherit font-lock-variable-name-face))) "Face used for properties." lsp-face-semhl-macro ((t (:inherit font-lock-preprocessor-face))) "Face used for macros." lsp-face-semhl-variable ((t (:inherit font-lock-variable-name-face))) "Face used for variables." lsp-face-semhl-parameter ((t (:inherit font-lock-variable-name-face))) "Face used for parameters." lsp-face-semhl-label ((t (:inherit font-lock-comment-face))) "Face used for labels."] 6) #@41 Faces to use for semantic highlighting. (defvar lsp-semantic-token-faces '(("comment" . lsp-face-semhl-comment) ("keyword" . lsp-face-semhl-keyword) ("string" . lsp-face-semhl-string) ("number" . lsp-face-semhl-number) ("regexp" . lsp-face-semhl-regexp) ("operator" . lsp-face-semhl-operator) ("namespace" . lsp-face-semhl-namespace) ("type" . lsp-face-semhl-type) ("struct" . lsp-face-semhl-struct) ("class" . lsp-face-semhl-class) ("interface" . lsp-face-semhl-interface) ("enum" . lsp-face-semhl-enum) ("typeParameter" . lsp-face-semhl-type-parameter) ("function" . lsp-face-semhl-function) ("member" . lsp-face-semhl-member) ("property" . lsp-face-semhl-property) ("macro" . lsp-face-semhl-macro) ("variable" . lsp-face-semhl-variable) ("parameter" . lsp-face-semhl-parameter) ("label" . lsp-face-semhl-label) ("enumConstant" . lsp-face-semhl-constant) ("dependent" . lsp-face-semhl-type) ("concept" . lsp-face-semhl-interface)) (#$ . 7807)) #@96 Faces to use for semantic token modifiers if `lsp-semantic-tokens-apply-modifiers' is non-nil. (defvar lsp-semantic-token-modifier-faces '(("declaration" . lsp-face-semhl-interface) ("readonly" . lsp-face-semhl-constant)) (#$ . 8759)) (defvar lsp--semantic-tokens-idle-timer nil) (defvar lsp--semantic-tokens-cache nil nil) (make-variable-buffer-local 'lsp--semantic-tokens-cache) (defvar lsp--semantic-tokens-teardown nil nil) (make-variable-buffer-local 'lsp--semantic-tokens-teardown) (defvar lsp--semantic-tokens-use-ranged-requests nil nil) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315& \210\302\316\304\305\317DD\320\310\311\312\321\314\322& \210\302\323\304\305\324DD\325\310\311\312\326&\210\302\327\304\305\330DD\331\310\311\312\321&\207" [make-variable-buffer-local lsp--semantic-tokens-use-ranged-requests custom-declare-variable lsp-folding-range-limit funcall function #[0 "\300\207" [nil] 1] "The maximum number of folding ranges to receive from the language server." :group lsp-mode :type (choice (const :tag "No limit." nil) (integer :tag "Number of lines.")) :package-version (lsp-mode . "6.1") lsp-folding-line-folding-only #[0 "\300\207" [nil] 1] "If non-nil, only fold complete lines." boolean (lsp-mode . "6.1") lsp-client-packages #[0 "\300\207" [(ccls lsp-clients lsp-clojure lsp-csharp lsp-css lsp-dart lsp-elm lsp-erlang lsp-eslint lsp-fsharp lsp-gdscript lsp-go lsp-haskell lsp-haxe lsp-intelephense lsp-java lsp-json lsp-metals lsp-perl lsp-pwsh lsp-pyls lsp-python-ms lsp-rust lsp-serenata lsp-solargraph lsp-terraform lsp-verilog lsp-vetur lsp-vhdl lsp-xml lsp-yaml lsp-sqls)] 1] "List of the clients to be automatically required." (repeat symbol) lsp-progress-via-spinner #[0 "\300\207" [t] 1] "If non-nil, display LSP $/progress reports via a spinner in the modeline."] 10) (defvar lsp--cur-workspace nil nil) (make-variable-buffer-local 'lsp--cur-workspace) (defvar lsp--cur-version 0 nil) (make-variable-buffer-local 'lsp--cur-version) (defvar lsp--virtual-buffer-connections nil nil) (make-variable-buffer-local 'lsp--virtual-buffer-connections) (defvar lsp--virtual-buffer nil nil) (make-variable-buffer-local 'lsp--virtual-buffer) (defvar lsp--virtual-buffer-mappings (make-hash-table :test 'equal)) #@24 Prefix for a file-uri. (defvar lsp--uri-file-prefix (byte-code "\301=\203\302\207\303\207" [system-type windows-nt "file:///" "file://"] 2) (#$ . 11034)) #@71 If set, return it instead of calculating it using `buffer-file-name'. (defvar lsp-buffer-uri nil (#$ . 11197)) (byte-code "\300\301!\210\302\303\304\"\210\302\305\306\303#\210\302\307\310\303#\210\302\311\312\303#\210\302\313\314\303#\210\302\315\316\303#\210\302\317\320\303#\210\321\322\323\324\325DD\326\327\330\331\332&\210\321\333\323\324\334DD\335\327\330\331\336&\210\321\337\323\324\340DD\341\327\330\331\342&\210\321\343\323\324\344DD\345\327\330\331\332\346\347& \210\321\350\323\324\351DD\352\327\330\331\353\354\355\346\356& \207" [make-variable-buffer-local lsp-buffer-uri define-error lsp-error "Unknown lsp-mode error" lsp-empty-response-error "Empty response from the language server" lsp-timed-out-error "Timed out while waiting for a response from the language server" lsp-capability-not-supported "Capability not supported by the language server" lsp-file-scheme-not-supported "Unsupported file scheme" lsp-client-already-exists-error "A client with this server-id already exists" lsp-no-code-actions "No code actions" custom-declare-variable lsp-auto-guess-root funcall function #[0 "\300\207" [nil] 1] "Automatically guess the project root using projectile/project.\nDo *not* use this setting unless you are familiar with `lsp-mode'\ninternals and you are sure that all of your projects are\nfollowing `projectile'/`project.el' conventions." :group lsp-mode :type boolean lsp-restart #[0 "\300\207" [interactive] 1] "Defines how server exited event must be handled." (choice (const interactive) (const auto-restart) (const ignore)) lsp-session-file #[0 "\300\301\302!!\207" [expand-file-name locate-user-emacs-file ".lsp-session-v1"] 3] "File where session information is stored." file lsp-auto-configure #[0 "\300\207" [t] 1] "Auto configure `lsp-mode' main features.\nWhen set to t `lsp-mode' will auto-configure completion,\ncode-actions, breadcrumb, `flycheck', `flymake', `imenu', symbol highlighting,\nlenses, links, and so on.\n\nFor finer granularity you may use `lsp-enable-*' properties." :package-version (lsp-mode . "6.1") lsp-disabled-clients #[0 "\300\207" [nil] 1] "A list of disabled/blacklisted clients.\nEach entry in the list can be either:\na symbol, the server-id for the LSP client, or\na cons pair (MAJOR-MODE . CLIENTS), where MAJOR-MODE is the major-mode,\nand CLIENTS is either a client or a list of clients.\n\nThis option can also be used as a file or directory local variable to\ndisable a language server for individual files or directories/projects\nrespectively." (repeat (symbol)) :safe listp (lsp-mode . "6.1")] 12) #@95 Hash table server-id -> client. It contains all of the clients that are currently registered. (defvar lsp-clients (make-hash-table :test 'eql) (#$ . 13777)) #@110 List of clients allowed to be used for projects. When nil, all registered clients are considered candidates. (defvar lsp-enabled-clients nil (#$ . 13941)) #@18 Last request id. (defvar lsp-last-id 0 (#$ . 14102)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\210\300\320\302\303\321DD\322\306\307\310\311&\210\300\323\302\303\324DD\325\306\326\310\311\327\330& \210\300\331\302\303\332DD\333\310\311\306\334\327\335& \207" [custom-declare-variable lsp-before-initialize-hook funcall function #[0 "\300\207" [nil] 1] "List of functions to be called before a Language Server has been initialized for a new workspace." :type hook :group lsp-mode lsp-after-initialize-hook #[0 "\300\207" [nil] 1] "List of functions to be called after a Language Server has been initialized for a new workspace." lsp-before-open-hook #[0 "\300\207" [nil] 1] "List of functions to be called before a new file with LSP support is opened." lsp-after-open-hook #[0 "\300\207" [nil] 1] "List of functions to be called after a new file with LSP support is opened." lsp-enable-file-watchers #[0 "\300\207" [t] 1] "If non-nil lsp-mode will watch the files in the workspace if\nthe server has requested that." boolean :package-version (lsp-mode . "6.1") lsp-file-watch-ignored #[0 "\300\207" [("[/\\\\]\\.git$" "[/\\\\]\\.hg$" "[/\\\\]\\.bzr$" "[/\\\\]_darcs$" "[/\\\\]\\.svn$" "[/\\\\]_FOSSIL_$" "[/\\\\]\\.idea$" "[/\\\\]\\.ensime_cache$" "[/\\\\]\\.eunit$" "[/\\\\]node_modules$" "[/\\\\]\\.fslckout$" "[/\\\\]\\.tox$" "[/\\\\]\\.stack-work$" "[/\\\\]\\.bloop$" "[/\\\\]\\.metals$" "[/\\\\]target$" "[/\\\\]\\.ccls-cache$" "[/\\\\]\\.deps$" "[/\\\\]build-aux$" "[/\\\\]autom4te.cache$" "[/\\\\]\\.reference$")] 1] "List of regexps matching directory paths which won't be monitored when creating file watches." (repeat string) (lsp-mode . "6.1")] 10) (defalias 'lsp-file-watch-ignored #[0 "\207" [lsp-file-watch-ignored] 1]) (byte-code "\300\301\302\303#\210\304\305\306\307\310DD\311\312\313\314\315\316\317& \207" [put lsp-file-watch-ignored safe-local-variable lsp--string-listp custom-declare-variable lsp-after-uninitialized-functions funcall function #[0 "\300\207" [nil] 1] "List of functions to be called after a Language Server has been uninitialized." :type hook :group lsp-mode :package-version (lsp-mode . "6.3")] 10) (defconst lsp--sync-none 0) (defconst lsp--sync-full 1) (defconst lsp--sync-incremental 2) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\317\310\311\312\320& \207" [custom-declare-variable lsp-debounce-full-sync-notifications funcall function #[0 "\300\207" [t] 1] "If non-nil debounce full sync events.\nThis flag affects only server which do not support incremental update." :type boolean :group lsp-mode :package-version (lsp-mode . "6.1") lsp-debounce-full-sync-notifications-interval #[0 "\300\207" [1.0] 1] "Time to wait before sending full sync synchronization after buffer modification." float (lsp-mode . "6.1")] 10) (defvar lsp--stderr-index 0) (defvar lsp--delayed-requests nil) (defvar lsp--delay-timer nil) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\301\306\312&\210\313\314\315\316\317DD\320\321\322\304\301&\210\313\323\315\316\324DD\325\321\326\304\301&\210\313\327\315\316\330DD\331\321\326\304\301\332\333& \210\313\334\315\316\335DD\336\321\326\304\301\332\337& \210\313\340\315\316\341DD\342\321\326\304\301\332\343& \210\313\344\315\316\345DD\346\321\326\304\301&\210\313\347\315\316\350DD\351\321\326\304\301&\210\352\353\354\302#\210\355\211\203\255\211@\353N\203\246\354N\204\246\356\354\353N#\210A\266\202\202\214\210\357\353\354\360#\210\313\354\315\316\361DD\362\321\326\304\301&\210\313\363\315\316\364DD\365\321\326\304\301&\210\313\366\315\316\367DD\370\321\326\304\301&\210\313\371\315\316\372DD\373\321\326\304\301&\210\313\374\315\316\375DD\376\321\326\304\301&\210\313\377\315\316\201@DD\201A\321\326\304\301&\210\313\201B\315\316\201CDD\201D\321\326\304\301&\210\313\201E\315\316\201FDD\201G\321\326\304\301&\210\313\201H\315\316\201IDD\201J\321\326\304\301&\210\313\201K\315\316\201LDD\201M\321\326\304\301&\210\313\201N\315\316\201ODD\201P\321\201Q\304\301&\210\313\201R\315\316\201SDD\201T\321\201Q\304\301&\210\313\201U\315\316\201VDD\201W\321\201Q\304\301&\210\352\201U\201X\302#\210\355\211\203\337\211@\201UN\203\330\201XN\204\330\356\201X\201UN#\210A\266\202\202\266\210\357\201U\201X\201Y#\210\313\201X\315\316\201ZDD\201[\321\201Q\304\301&\210\352\201\\\201]\302#\210\355\211\2037\211@\201\\N\2030\201]N\2040\356\201]\201\\N#\210A\266\202\202\210\357\201\\\201]\201^#\210\313\201]\315\316\201_DD\201`\321\201Q\304\301&\210\313\201a\315\316\201bDD\201c\321\201Q\304\301&\210\313\201d\315\316\201eDD\201f\321\201Q\304\301&\210\300\201g\302\201h\304\301\306\201i&\210\313\201j\315\316\201kDD\201l\321\326\304\201g&\210\313\201m\315\316\201nDD\201o\321\201p\304\201g&\210\313\201q\315\316\201rDD\201s\321\201t\304\201g&\210\313\201u\315\316\201vDD\201w\321\201x\304\301&\210\313\201y\315\316\201zDD\201{\321\201x\304\301\332\201|& \207" [custom-declare-group lsp-mode nil "Language Server Protocol client." :group tools :tag "Language Server" lsp-faces "Faces." "Faces" custom-declare-variable lsp-document-sync-method funcall function #[0 "\300\207" [nil] 1] "How to sync the document with the language server." :type (choice (const :tag "Documents should not be synced at all." nil) (const :tag "Documents are synced by always sending the full content of the document." lsp--sync-full) (const :tag "Documents are synced by always sending incremental changes to the document." lsp--sync-incremental) (const :tag "Use the method recommended by the language server." nil)) lsp-auto-execute-action #[0 "\300\207" [t] 1] "Auto-execute single action." boolean lsp-enable-links #[0 "\300\207" [t] 1] "If non-nil, all references to links in a file will be made clickable, if supported by the language server." :package-version (lsp-mode . "6.1") lsp-enable-imenu #[0 "\300\207" [t] 1] "If non-nil, automatically enable `imenu' integration when server provides `textDocument/documentSymbol'." (lsp-mode . "6.2") lsp-enable-dap-auto-configure #[0 "\300\207" [t] 1] "If non-nil, enable the `dap-auto-configure-mode`." (lsp-mode . "7.0") lsp-eldoc-enable-hover #[0 "\300\207" [t] 1] "If non-nil, eldoc will display hover info when it is present." lsp-eldoc-render-all #[0 "\300\207" [nil] 1] "Display all of the info returned by document/onHover.\nIf this is set to nil, `eldoc' will show only the symbol information." defvaralias lsp-enable-completion-at-point lsp-completion-enable (saved-value saved-variable-comment) put make-obsolete-variable "lsp-mode 7.0.1" #[0 "\300\207" [t] 1] "Enable `completion-at-point' integration." lsp-enable-symbol-highlighting #[0 "\300\207" [t] 1] "Highlight references of the symbol at point." lsp-enable-xref #[0 "\300\207" [t] 1] "Enable xref integration." lsp-enable-indentation #[0 "\300\207" [t] 1] "Indent regions using the file formatting functionality provided by the language server." lsp-enable-on-type-formatting #[0 "\300\207" [t] 1] "Enable `textDocument/onTypeFormatting' integration." lsp-enable-text-document-color #[0 "\300\207" [t] 1] "Enable `textDocument/documentColor' integration." lsp-before-save-edits #[0 "\300\207" [t] 1] "If non-nil, `lsp-mode' will apply edits suggested by the language server before saving a document." lsp-modeline-code-actions-enable #[0 "\300\207" [t] 1] "Whether to show code actions on modeline." lsp-modeline-diagnostics-enable #[0 "\300\207" [t] 1] "Whether to show diagnostics on modeline." lsp-headerline-breadcrumb-enable #[0 "\300\207" [nil] 1] "Whether to enable breadcrumb on headerline." lsp-configure-hook #[0 "\300\207" [nil] 1] "Hooks to run when `lsp-configure-buffer' is called." hook lsp-unconfigure-hook #[0 "\300\207" [nil] 1] "Hooks to run when `lsp-unconfig-buffer' is called." lsp-after-diagnostics-hook #[0 "\300\207" [nil] 1] "Hooks to run after diagnostics are received.\nNote: it runs only if the receiving buffer is open. Use\n`lsp-diagnostics-updated-hook'if you want to be notified when\ndiagnostics have changed." lsp-diagnostics-updated-hook "lsp-mode 6.4" #[0 "\300\207" [nil] 1] "Hooks to run after diagnostics are received." lsp-workspace-folders-changed-hook lsp-workspace-folders-changed-functions "lsp-mode 6.3" #[0 "\300\207" [nil] 1] "Hooks to run after the folders has changed.\nThe hook will receive two parameters list of added and removed folders." lsp-eldoc-hook #[0 "\300\207" [(lsp-hover)] 1] "Hooks to run for eldoc." lsp-before-apply-edits-hook #[0 "\300\207" [nil] 1] "Hooks to run before applying edits." lsp-imenu "Imenu." "Imenu" lsp-imenu-show-container-name #[0 "\300\207" [t] 1] "Display the symbol's container name in an imenu entry." lsp-imenu-container-name-separator #[0 "\300\207" [#1="/"] 1 #1#] "Separator string to use to separate the container name from the symbol while displaying imenu entries." string lsp-imenu-sort-methods #[0 "\300\207" [(kind name)] 1] "How to sort the imenu items.\n\nThe value is a list of `kind' `name' or `position'. Priorities\nare determined by the index of the element." (repeat (choice (const name) (const position) (const kind))) lsp-response-timeout #[0 "\300\207" [10] 1] "Number of seconds to wait for a response from the language server before timing out." number lsp-tcp-connection-timeout #[0 "\300\207" [2] 1] "The timeout for tcp connection in seconds." (lsp-mode . "6.2")] 10) #@318 An alist of (METHOD . FUNCTION). METHOD is one of the symbols accepted by `lsp-imenu-sort-methods'. FUNCTION takes two hash tables representing DocumentSymbol. It returns a negative number, 0, or a positive number indicating whether the first parameter is less than, equal to, or greater than the second parameter. (defconst lsp--imenu-compare-function-alist (byte-code "\300\301B\302\303B\304\305BE\207" [name lsp--imenu-compare-name kind lsp--imenu-compare-kind position lsp--imenu-compare-line-col] 4) (#$ . 23683)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\317\310\311\312\320& \207" [custom-declare-variable lsp-diagnostic-clean-after-change funcall function #[0 "\300\207" [t] 1] "When non-nil, clean the diagnostics on change.\n\nNote that when that setting is nil, `lsp-mode' will show stale\ndiagnostics until server publishes the new set of diagnostics" :type boolean :group lsp-mode :package-version (lsp-mode . "7.0.1") lsp-server-trace #[0 "\300\207" [nil] 1] "Request tracing on the server side.\nThe actual trace output at each level depends on the language server in use.\nChanges take effect only when a new session is started." (choice (const :tag "Disabled" "off") (const :tag "Messages only" "messages") (const :tag "Verbose" "verbose") (const :tag "Default (disabled)" nil)) (lsp-mode . "6.1")] 10) #@28 Language id configuration. (defvar lsp-language-id-configuration '((".*\\.vue$" . "vue") (".*\\.tsx$" . "typescriptreact") (".*\\.ts$" . "typescript") (".*\\.jsx$" . "javascriptreact") (".*\\.xml$" . "xml") (".*\\.hx$" . "haxe") (".*\\.lua$" . "lua") (".*\\.sql$" . "sql") (".*\\.html$" . "html") (ada-mode . "ada") (sql-mode . "sql") (vimrc-mode . "vim") (sh-mode . "shellscript") (scala-mode . "scala") (julia-mode . "julia") (clojure-mode . "clojure") (clojurec-mode . "clojure") (clojurescript-mode . "clojurescript") (java-mode . "java") (groovy-mode . "groovy") (python-mode . "python") (lsp--render-markdown . "markdown") (rust-mode . "rust") (rustic-mode . "rust") (kotlin-mode . "kotlin") (css-mode . "css") (less-mode . "less") (less-css-mode . "less") (lua-mode . "lua") (sass-mode . "sass") (scss-mode . "scss") (xml-mode . "xml") (c-mode . "c") (c++-mode . "cpp") (objc-mode . "objective-c") (web-mode . "html") (html-mode . "html") (sgml-mode . "html") (mhtml-mode . "html") (go-dot-mod-mode . "go.mod") (go-mode . "go") (haskell-mode . "haskell") (hack-mode . "hack") (php-mode . "php") (powershell-mode . "powershell") (json-mode . "json") (jsonc-mode . "jsonc") (rjsx-mode . "javascript") (js2-mode . "javascript") (js-mode . "javascript") (typescript-mode . "typescript") (fsharp-mode . "fsharp") (reason-mode . "reason") (caml-mode . "ocaml") (tuareg-mode . "ocaml") (swift-mode . "swift") (elixir-mode . "elixir") (conf-javaprop-mode . "spring-boot-properties") (yaml-mode . "spring-boot-properties-yaml") (ruby-mode . "ruby") (enh-ruby-mode . "ruby") (fortran-mode . "fortran") (f90-mode . "fortran") (elm-mode . "elm") (dart-mode . "dart") (erlang-mode . "erlang") (dockerfile-mode . "dockerfile") (csharp-mode . "csharp") (plain-tex-mode . "plaintex") (latex-mode . "latex") (vhdl-mode . "vhdl") (verilog-mode . "verilog") (terraform-mode . "terraform") (ess-julia-mode . "julia") (ess-r-mode . "r") (crystal-mode . "crystal") (nim-mode . "nim") (dhall-mode . "dhall") (cmake-mode . "cmake") (purescript-mode . "purescript") (gdscript-mode . "gdscript") (perl-mode . "perl") (robot-mode . "robot")) (#$ . 25068)) #@116 Keep track of last active workspace. We want to try the last workspace first when jumping into a library directory (defvar lsp--last-active-workspaces nil (#$ . 27211)) #@152 Contain method to requirements mapping. It is used by send request functions to determine which server must be used for handling a particular message. (defvar lsp-method-requirements '(("textDocument/callHierarchy" :capability :callHierarchyProvider) ("textDocument/codeAction" :capability :codeActionProvider) ("textDocument/codeLens" :capability :codeLensProvider) ("textDocument/completion" :capability :completionProvider) ("textDocument/declaration" :capability :declarationProvider) ("textDocument/definition" :capability :definitionProvider) ("textDocument/documentColor" :capability :colorProvider) ("textDocument/documentLink" :capability :documentLinkProvider) ("textDocument/documentHighlight" :capability :documentHighlightProvider) ("textDocument/documentSymbol" :capability :documentSymbolProvider) ("textDocument/foldingRange" :capability :foldingRangeProvider) ("textDocument/formatting" :capability :documentFormattingProvider) ("textDocument/hover" :capability :hoverProvider) ("textDocument/implementation" :capability :implementationProvider) ("textDocument/onTypeFormatting" :capability :documentOnTypeFormattingProvider) ("textDocument/prepareRename" :check-command (lambda (workspace) (with-lsp-workspace workspace (lsp:rename-options-prepare-provider\? (or (lsp--capability :renameProvider) (lsp--registered-capability-options (lsp--registered-capability "textDocument/rename"))))))) ("textDocument/rangeFormatting" :capability :documentRangeFormattingProvider) ("textDocument/references" :capability :referencesProvider) ("textDocument/rename" :capability :renameProvider) ("textDocument/selectionRange" :capability :selectionRangeProvider) ("textDocument/semanticTokens" :capability :semanticTokensProvider) ("textDocument/semanticTokensFull" :check-command (lambda (workspace) (with-lsp-workspace workspace (lsp-get (lsp--capability :semanticTokensProvider) :full)))) ("textDocument/semanticTokensRangeProvider" :check-command (lambda (workspace) (with-lsp-workspace workspace (lsp-get (lsp--capability :semanticTokensProvider) :range)))) ("textDocument/signatureHelp" :capability :signatureHelpProvider) ("textDocument/typeDefinition" :capability :typeDefinitionProvider) ("workspace/executeCommand" :capability :executeCommandProvider) ("workspace/symbol" :capability :workspaceSymbolProvider)) (#$ . 27387)) (defconst lsp--file-change-type '((created . 1) (changed . 2) (deleted . 3))) #@39 Window body width when rendering doc. (defvar lsp-window-body-width 40 (#$ . 29809)) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\305%\210\314\315\316\317#\210\320\211\203@\211@\315N\2039\316N\2049\321\316\315N#\210A\266\202\202\210\322\315\316\323#\210\324\316\325\326\327DD\330\304\331\332\333\334\335& \210\324\336\325\326\337DD\340\304\331\332\333&\210\324\341\325\326\342DD\343\332\344\304\331&\207" [custom-declare-face lsp-face-highlight-textual ((t :inherit highlight)) "Face used for textual occurrences of symbols." :group lsp-faces lsp-face-highlight-read ((t :inherit highlight :underline t)) "Face used for highlighting symbols being read." lsp-face-highlight-write ((t :inherit highlight :weight bold)) "Face used for highlighting symbols being written to." defvaralias lsp-lens-auto-enable lsp-lens-enable nil (saved-value saved-variable-comment) put make-obsolete-variable "lsp-mode 7.0.1" custom-declare-variable funcall function #[0 "\300\207" [nil] 1] "Auto enable lenses if server supports." lsp-mode :type boolean :package-version (lsp-mode . "6.3") lsp-symbol-highlighting-skip-current #[0 "\300\207" [nil] 1] "If non-nil skip current symbol when setting symbol highlights." lsp-file-watch-threshold #[0 "\300\207" [1000] 1] "Show warning if the files to watch are more than.\nSet to nil to disable the warning." number] 10) #@86 Mode to uses with markdown code blocks. They are added to `markdown-code-lang-modes' (defvar lsp-custom-markup-modes '((rust-mode "no_run" "rust,no_run" "rust,ignore" "rust,should_panic")) (#$ . 31220)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\307\310\311\312\317& \210\300\320\302\303\321DD\322\306\323\310\311\312\324& \210\300\325\302\303\326DD\327\306\303\310\311\312\330& \210\300\331\302\303\332DD\333\310\311\306\334\312\335& \207" [custom-declare-variable lsp-signature-render-documentation funcall function #[0 "\300\207" [t] 1] "Display signature documentation in `eldoc'." :type boolean :group lsp-mode :package-version (lsp-mode . "6.2") lsp-signature-auto-activate #[0 "\300\207" [t] 1] "Auto activate signature when trigger char is pressed." (lsp-mode . "6.2") lsp-signature-doc-lines #[0 "\300\207" [20] 1] "If number, limit the number of lines to show in the docs." number (lsp-mode . "6.3") lsp-signature-function #[0 "\300\207" [lsp-lv-message] 1] "The function used for displaying signature info.\nIt will be called with one param - the signature info. When\ncalled with nil the signature info must be cleared." (lsp-mode . "6.3") lsp-keymap-prefix #[0 "\300\207" [#1="s-l"] 1 #1#] "lsp-mode keymap prefix." string (lsp-mode . "6.3")] 10) #@32 List of the buffer workspaces. (defvar lsp--buffer-workspaces nil (#$ . 32542)) (make-variable-buffer-local 'lsp--buffer-workspaces) #@59 Contain the `lsp-session' for the current Emacs instance. (defvar lsp--session nil (#$ . 32681)) (defvar lsp--tcp-port 10000) #@257 The server socket which is opened when using `lsp-tcp-server' (a server socket is opened in Emacs and the language server connects to it). The default value of 0 ensures that a random high port is used. Set it to a positive integer to use a specific port. (defvar lsp--tcp-server-port 0 (#$ . 32814)) #@102 Wait this amount of time for the client to connect to our server socket when using `lsp-tcp-server'. (defvar lsp--tcp-server-wait-seconds 10 (#$ . 33122)) #@30 The latest document symbols. (defvar lsp--document-symbols nil (#$ . 33283)) (make-variable-buffer-local 'lsp--document-symbols) #@31 The document selection cache. (defvar lsp--document-selection-range-cache nil (#$ . 33418)) (make-variable-buffer-local 'lsp--document-selection-range-cache) #@54 If non-nil, request document symbols asynchronously. (defvar lsp--document-symbols-request-async nil (#$ . 33582)) (make-variable-buffer-local 'lsp--document-symbols-request-async) #@88 The value of `buffer-chars-modified-tick' when document symbols were last retrieved. (defvar lsp--document-symbols-tick -1 (#$ . 33769)) (make-variable-buffer-local 'lsp--document-symbols-tick) #@191 Set to `t' on symbol highlighting, cleared on `lsp--cleanup-highlights-if-needed'. Checking a separately defined flag is substantially faster than unconditionally calling `remove-overlays'. (defvar lsp--have-document-highlights nil (#$ . 33972)) (make-variable-buffer-local 'lsp--have-document-highlights) (defvar lsp--eldoc-saved-message nil nil) (make-variable-buffer-local 'lsp--eldoc-saved-message) (defvar lsp--on-change-timer nil) (defvar lsp--on-idle-timer nil) (defvar lsp--signature-last nil nil) (make-variable-buffer-local 'lsp--signature-last) (defvar lsp--signature-last-index nil nil) (make-variable-buffer-local 'lsp--signature-last-index) (defvar lsp--signature-last-buffer nil) (defvar lsp--virtual-buffer-point-max nil nil) (byte-code "\300\301!\210\302\303\304\303\305\306#\307#\207" [make-variable-buffer-local lsp--virtual-buffer-point-max defalias lsp-execute-command cl-generic-define (server command arguments) nil "Ask SERVER to execute COMMAND with ARGUMENTS.\n\n(fn SERVER COMMAND ARGUMENTS)"] 6) #@78 Return Nth element of SEQUENCE or nil if N is out of range. (fn SEQUENCE N) (defalias 'lsp-elt #[514 "<\203 \234\207\300!\203GV\205$H\207GV\205$\234\207" [arrayp] 4 (#$ . 35002)]) #@54 Return the first element of SEQUENCE. (fn SEQUENCE) (defalias 'lsp-seq-first #[257 "\300\301\"\207" [lsp-elt 0] 4 (#$ . 35206)]) #@84 Return a sequence of the elements of SEQUENCE except the first one. (fn SEQUENCE) (defalias 'lsp-seq-rest #[257 "\300\301\"\207" [seq-drop 1] 4 (#$ . 35343)]) #@76 Return t if all elements of SEQUENCE are strings, else nil. (fn SEQUENCE) (defalias 'lsp--string-listp #[257 "\300\301\"?\207" [seq-find #[257 "\211;?\207" [] 2 "\n\n(fn X)"]] 4 (#$ . 35510)]) #@123 Returns true if CANDIDATE is a vector data structure and every element of it is of type string, else nil. (fn CANDIDATE) (defalias 'lsp--string-vector-p #[257 "\300!\205\n\301\302\"\207" [vectorp seq-every-p stringp] 4 (#$ . 35712)]) (define-widget 'lsp-string-vector 'lazy "A vector of zero or more elements, every element of which is a string.\nAppropriate for any language-specific `defcustom' that needs to\nserialize as a JSON array of strings." :offset 4 :tag "Vector" :type '(restricted-sexp :match-alternatives (lsp--string-vector-p))) #@73 Display lsp info message with FORMAT with ARGS. (fn FORMAT &rest ARGS) (defalias 'lsp--info #[385 "\300\301\302\303\304\305#\306\307##\207" [message "%s :: %s" propertize "LSP" face success apply format] 9 (#$ . 36266)]) #@73 Display lsp warn message with FORMAT with ARGS. (fn FORMAT &rest ARGS) (defalias 'lsp--warn #[385 "\300\301\302\303\304\305#\306\307##\207" [message "%s :: %s" propertize "LSP" face warning apply format] 9 (#$ . 36498)]) #@74 Display lsp error message with FORMAT with ARGS. (fn FORMAT &rest ARGS) (defalias 'lsp--error #[385 "\300\301\302\303\304\305#\306\307##\207" [message "%s :: %s" propertize "LSP" face error apply format] 9 (#$ . 36730)]) #@40 Show MSG in eldoc. (fn &optional MSG) (defalias 'lsp--eldoc-message #[256 "\211\301\302\303\304\305\"#\207" [lsp--eldoc-saved-message run-with-idle-timer 0 nil make-closure #[0 "\301\300!\207" [V0 eldoc-message] 2]] 7 (#$ . 36962)]) #@114 Log message to the ’*lsp-log*’ buffer. FORMAT and ARGS i the same as for `message'. (fn FORMAT &rest ARGS) (defalias 'lsp-log #[385 "\205\204\303\304!\305\211\204!\306\304!\262r\211q\210\307\310!\210\311\302!\210\312)r\211q\210\212\313\314#\312\211\315\316#\203@\312\225\262\211T\262\202-\262Tdb\210`e=\203U\316c\210\317u\210\202[\317u\210\316c\210c\210\n\\\250\205\nV\205\nZeb\210\211y\210e`|\210\211\262\266\202+\262\207" [lsp-log-max inhibit-read-only lsp--log-lines get-buffer "*lsp-log*" t get-buffer-create view-mode 1 make-local-variable 0 apply format string-match "\n" -1] 10 (#$ . 37205)]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\207" [defalias lsp-message lsp-log lsp-ht ht lsp-file-local-name file-local-name] 3) #@73 Return the canonical, without trailing slash FILE-NAME. (fn FILE-NAME) (defalias 'lsp-f-canonical #[257 "\300\301!!\207" [directory-file-name expand-file-name] 4 (#$ . 37996)]) (defalias 'lsp-canonical-file-name 'lsp-f-canonical) #@107 Return t if PATH-A and PATH-B are references to same file. Symlinks are not followed. (fn PATH-A PATH-B) (defalias 'lsp-f-same\? #[514 "\300!\205\300!\205\301\302\303!!!\301\302\303!!!\232\207" [f-exists\? lsp-f-canonical directory-file-name f-expand] 7 (#$ . 38235)]) #@75 Return the parent directory to PATH. Symlinks are not followed (fn PATH) (defalias 'lsp-f-parent #[257 "\301\302\303\"!!\304\"?\205\305!\203\306!\207\302!\207" [default-directory file-name-directory directory-file-name f-expand lsp-f-same\? f-relative\? f-relative] 6 (#$ . 38519)]) #@90 Return t if PATH-A is ancestor of PATH-B. Symlinks are not followed. (fn PATH-A PATH-B) (defalias 'lsp-f-ancestor-of\? #[514 "\300\"?\205\301\302!\303 P\302!\"\207" [lsp-f-same\? s-prefix\? lsp-f-canonical f-path-separator] 6 (#$ . 38820)]) #@172 Merge RESULTS by filtering the empty hash-tables and merging the lists. METHOD is the executed method so the results could be merged depending on it. (fn RESULTS METHOD) (defalias 'lsp--merge-results #[514 "\300\301\302\303\304\"\"\211\204\305\207\211:\203#\211\242\243\211\204\207\"\207\"\207" [#[514 "\301\267\202\212\302\303\304\"\211:\203\211\242\243\211\204\207!\207!\207\305\306\307\310\"\311\312\313\"$\207\211@\303\314\315\316\"\"\211\203J\317\320\321\314#\266\202\"\210\210\303\314\315\322\"\"\211\203t\323\324\325\307\326\"\206c\327\315\330\"\331\321\314#\266\202$\"\210\210\303\314\315\332\"\"\211\203\210\333\312\334\"\"\210\210\207\312\335\"\207" [lsp/markup-kind-plain-text #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("textDocument/hover" 6 "textDocument/completion" 34 "completionItem/resolve" 48)) #[257 "\300\301\302 #\207" [-reduce-from #[514 "\300\301\"\302\303\304!\203;\204\202C\305!\"\"\207" [gethash "contents" lsp:set-hover-contents append sequencep lsp:hover-contents] 10 "\n\n(fn INPUT0 INPUT1)"] lsp-make-hover] 5 "\n\n(fn HOVERS)"] seq-filter #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp-empty\? (not) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] lsp-make-completion-list :is-incomplete seq-some lsp:completion-list-is-incomplete :items cl-mapcan #[257 "\300\301!\203 \302!\202\303\"\207" [append lsp-completion-list\? lsp:completion-list-items nil] 4 "\n\n(fn IT)"] identity seq-map lsp:completion-item-detail\? lsp:set-completion-item-detail\? " " mapconcat lsp:completion-item-documentation\? lsp:set-completion-item-documentation\? lsp-make-markup-content :kind #[257 "\301!\232\205 \207" [lsp/markup-kind-markdown lsp:markup-content-kind] 3 "\n\n(fn IT)"] :value #[257 "\300!\206\f\211;\205\f\211\207" [lsp:markup-content-value] 3 "\n\n(fn DOC)"] "\n" lsp:completion-item-additional-text-edits\? lsp:set-completion-item-additional-text-edits\? #[257 "\300!\203\207\211C\207" [seqp] 3 "\n\n(fn IT)"] #[257 "\300!\203\207\211C\207" [seqp] 3 "\n\n(fn IT)"]] 16 "\n\n(fn METHOD RESULTS)"] mapcar #[257 "\300!\203 \301\302\"\207\207" [vectorp append nil] 4 "\n\n(fn IT)"] -filter identity nil] 9 (#$ . 39075)]) #@27 Start spinner indication. (defalias 'lsp--spinner-start #[0 "\3001 \301\302!0\207\303\207" [(error) spinner-start progress-bar-filled nil] 2 (#$ . 41408)]) #@44 Propertize STR as per TYPE. (fn STR TYPE) (defalias 'lsp--propertize #[514 "\301\302\303\"#\207" [lsp--message-type-face propertize face alist-get] 8 (#$ . 41571)]) #@64 Return the lsp workspaces associated with the current project. (defalias 'lsp-workspaces #[0 "\203C\207 \207" [lsp--cur-workspace lsp--buffer-workspaces] 1 (#$ . 41746)]) #@393 Wrap `completing-read' to provide transformation function. TRANSFORM-FN will be used to transform each of the items before displaying. PROMPT COLLECTION PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD will be proxied to `completing-read' without changes. (fn PROMPT COLLECTION TRANSFORM-FN &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD) (defalias 'lsp--completing-read #[2307 "\300\301\302 \" \"\303\n      &\304\"A\207" [mapcar make-closure #[257 "\300!B\207" [V0] 3 "\n\n(fn IT)"] completing-read assoc] 19 (#$ . 41928)]) #@29 (fn BUFFER-ID &rest BODY) (defalias 'lsp-with-current-buffer '(macro . #[385 "\300\301\302\303BBDC\304\302\305BB\306\301\307\310BBEE\311BBF\207" [if-let wcb plist-get (:with-current-buffer) with-lsp-workspaces (:workspaces) funcall lambda nil with-current-buffer] 11 (#$ . 42528)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-with-current-buffer lisp-indent-function 1 put edebug-form-spec t] 5) #@144 Run BODY and return value while there's no input. If it's interrupt by input, return nil. BODY should never return `t' value. (fn &rest BODY) (defalias 'lsp--while-no-input '(macro . #[128 "\300\301\302BDC\303BB\207" [let re while-no-input ((unless (booleanp re) re))] 5 (#$ . 42966)])) #@70 compiler-macro for inlining `lsp--client-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-p (and (memq (type-of cl-x) cl-struct-lsp--client-tags) t)) nil] 9 (#$ . 43261)]) (put 'lsp--client-p 'compiler-macro 'lsp--client-p--cmacro) #@13 (fn CL-X) (defalias 'lsp--client-p #[257 "\301!>\205 \302\207" [cl-struct-lsp--client-tags type-of t] 3 (#$ . 43602)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp--client-p side-effect-free error-free put lsp--client cl-deftype-satisfies] 5) #@80 compiler-macro for inlining `lsp--client-language-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-language-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-language-id (progn (aref cl-x 1))) nil] 9 (#$ . 43881)]) (put 'lsp--client-language-id 'compiler-macro 'lsp--client-language-id--cmacro) #@68 Access slot "language-id" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-language-id #[257 "\211\300H\207" [1] 3 (#$ . 44237)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-language-id side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--client-add-on?'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-add-on\?--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-add-on\? (progn (aref cl-x 2))) nil] 9 (#$ . 44488)]) (put 'lsp--client-add-on\? 'compiler-macro 'lsp--client-add-on\?--cmacro) #@64 Access slot "add-on?" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-add-on\? #[257 "\211\300H\207" [2] 3 (#$ . 44828)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-add-on\? side-effect-free t] 4) #@83 compiler-macro for inlining `lsp--client-new-connection'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-new-connection--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-new-connection (progn (aref cl-x 3))) nil] 9 (#$ . 45069)]) (put 'lsp--client-new-connection 'compiler-macro 'lsp--client-new-connection--cmacro) #@71 Access slot "new-connection" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-new-connection #[257 "\211\300H\207" [3] 3 (#$ . 45440)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-new-connection side-effect-free t] 4) #@83 compiler-macro for inlining `lsp--client-ignore-regexps'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-ignore-regexps--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-ignore-regexps (progn (aref cl-x 4))) nil] 9 (#$ . 45700)]) (put 'lsp--client-ignore-regexps 'compiler-macro 'lsp--client-ignore-regexps--cmacro) #@71 Access slot "ignore-regexps" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-ignore-regexps #[257 "\211\300H\207" [4] 3 (#$ . 46071)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-ignore-regexps side-effect-free t] 4) #@84 compiler-macro for inlining `lsp--client-ignore-messages'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-ignore-messages--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-ignore-messages (progn (aref cl-x 5))) nil] 9 (#$ . 46331)]) (put 'lsp--client-ignore-messages 'compiler-macro 'lsp--client-ignore-messages--cmacro) #@72 Access slot "ignore-messages" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-ignore-messages #[257 "\211\300H\207" [5] 3 (#$ . 46707)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-ignore-messages side-effect-free t] 4) #@90 compiler-macro for inlining `lsp--client-notification-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-notification-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-notification-handlers (progn (aref cl-x 6))) nil] 9 (#$ . 46970)]) (put 'lsp--client-notification-handlers 'compiler-macro 'lsp--client-notification-handlers--cmacro) #@78 Access slot "notification-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-notification-handlers #[257 "\211\300H\207" [6] 3 (#$ . 47376)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-notification-handlers side-effect-free t] 4) #@85 compiler-macro for inlining `lsp--client-request-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-request-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-request-handlers (progn (aref cl-x 7))) nil] 9 (#$ . 47657)]) (put 'lsp--client-request-handlers 'compiler-macro 'lsp--client-request-handlers--cmacro) #@73 Access slot "request-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-request-handlers #[257 "\211\300H\207" [7] 3 (#$ . 48038)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-request-handlers side-effect-free t] 4) #@86 compiler-macro for inlining `lsp--client-response-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-response-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-response-handlers (progn (aref cl-x 8))) nil] 9 (#$ . 48304)]) (put 'lsp--client-response-handlers 'compiler-macro 'lsp--client-response-handlers--cmacro) #@74 Access slot "response-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-response-handlers #[257 "\211\300H\207" [8] 3 (#$ . 48690)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-response-handlers side-effect-free t] 4) #@84 compiler-macro for inlining `lsp--client-prefix-function'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-prefix-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-prefix-function (progn (aref cl-x 9))) nil] 9 (#$ . 48959)]) (put 'lsp--client-prefix-function 'compiler-macro 'lsp--client-prefix-function--cmacro) #@72 Access slot "prefix-function" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-prefix-function #[257 "\211\300H\207" [9] 3 (#$ . 49335)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-prefix-function side-effect-free t] 4) #@81 compiler-macro for inlining `lsp--client-uri-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-uri-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-uri-handlers (progn (aref cl-x 10))) nil] 9 (#$ . 49598)]) (put 'lsp--client-uri-handlers 'compiler-macro 'lsp--client-uri-handlers--cmacro) #@69 Access slot "uri-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-uri-handlers #[257 "\211\300H\207" [10] 3 (#$ . 49960)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-uri-handlers side-effect-free t] 4) #@84 compiler-macro for inlining `lsp--client-action-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-action-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-action-handlers (progn (aref cl-x 11))) nil] 9 (#$ . 50215)]) (put 'lsp--client-action-handlers 'compiler-macro 'lsp--client-action-handlers--cmacro) #@72 Access slot "action-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-action-handlers #[257 "\211\300H\207" [11] 3 (#$ . 50592)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-action-handlers side-effect-free t] 4) #@80 compiler-macro for inlining `lsp--client-major-modes'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-major-modes--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-major-modes (progn (aref cl-x 12))) nil] 9 (#$ . 50856)]) (put 'lsp--client-major-modes 'compiler-macro 'lsp--client-major-modes--cmacro) #@68 Access slot "major-modes" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-major-modes #[257 "\211\300H\207" [12] 3 (#$ . 51213)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-major-modes side-effect-free t] 4) #@82 compiler-macro for inlining `lsp--client-activation-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-activation-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-activation-fn (progn (aref cl-x 13))) nil] 9 (#$ . 51465)]) (put 'lsp--client-activation-fn 'compiler-macro 'lsp--client-activation-fn--cmacro) #@70 Access slot "activation-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-activation-fn #[257 "\211\300H\207" [13] 3 (#$ . 51832)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-activation-fn side-effect-free t] 4) #@77 compiler-macro for inlining `lsp--client-priority'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-priority--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-priority (progn (aref cl-x 14))) nil] 9 (#$ . 52090)]) (put 'lsp--client-priority 'compiler-macro 'lsp--client-priority--cmacro) #@65 Access slot "priority" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-priority #[257 "\211\300H\207" [14] 3 (#$ . 52432)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-priority side-effect-free t] 4) #@78 compiler-macro for inlining `lsp--client-server-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-server-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-server-id (progn (aref cl-x 15))) nil] 9 (#$ . 52675)]) (put 'lsp--client-server-id 'compiler-macro 'lsp--client-server-id--cmacro) #@66 Access slot "server-id" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-server-id #[257 "\211\300H\207" [15] 3 (#$ . 53022)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-server-id side-effect-free t] 4) #@79 compiler-macro for inlining `lsp--client-multi-root'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-multi-root--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-multi-root (progn (aref cl-x 16))) nil] 9 (#$ . 53268)]) (put 'lsp--client-multi-root 'compiler-macro 'lsp--client-multi-root--cmacro) #@67 Access slot "multi-root" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-multi-root #[257 "\211\300H\207" [16] 3 (#$ . 53620)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-multi-root side-effect-free t] 4) #@91 compiler-macro for inlining `lsp--client-initialization-options'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-initialization-options--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-initialization-options (progn (aref cl-x 17))) nil] 9 (#$ . 53869)]) (put 'lsp--client-initialization-options 'compiler-macro 'lsp--client-initialization-options--cmacro) #@79 Access slot "initialization-options" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-initialization-options #[257 "\211\300H\207" [17] 3 (#$ . 54281)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-initialization-options side-effect-free t] 4) #@88 compiler-macro for inlining `lsp--client-custom-capabilities'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-custom-capabilities--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-custom-capabilities (progn (aref cl-x 18))) nil] 9 (#$ . 54566)]) (put 'lsp--client-custom-capabilities 'compiler-macro 'lsp--client-custom-capabilities--cmacro) #@76 Access slot "custom-capabilities" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-custom-capabilities #[257 "\211\300H\207" [18] 3 (#$ . 54963)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-custom-capabilities side-effect-free t] 4) #@87 compiler-macro for inlining `lsp--client-library-folders-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-library-folders-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-library-folders-fn (progn (aref cl-x 19))) nil] 9 (#$ . 55239)]) (put 'lsp--client-library-folders-fn 'compiler-macro 'lsp--client-library-folders-fn--cmacro) #@75 Access slot "library-folders-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-library-folders-fn #[257 "\211\300H\207" [19] 3 (#$ . 55631)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-library-folders-fn side-effect-free t] 4) #@88 compiler-macro for inlining `lsp--client-before-file-open-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-before-file-open-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-before-file-open-fn (progn (aref cl-x 20))) nil] 9 (#$ . 55904)]) (put 'lsp--client-before-file-open-fn 'compiler-macro 'lsp--client-before-file-open-fn--cmacro) #@76 Access slot "before-file-open-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-before-file-open-fn #[257 "\211\300H\207" [20] 3 (#$ . 56301)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-before-file-open-fn side-effect-free t] 4) #@83 compiler-macro for inlining `lsp--client-initialized-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-initialized-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-initialized-fn (progn (aref cl-x 21))) nil] 9 (#$ . 56577)]) (put 'lsp--client-initialized-fn 'compiler-macro 'lsp--client-initialized-fn--cmacro) #@71 Access slot "initialized-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-initialized-fn #[257 "\211\300H\207" [21] 3 (#$ . 56949)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-initialized-fn side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--client-remote?'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-remote\?--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-remote\? (progn (aref cl-x 22))) nil] 9 (#$ . 57210)]) (put 'lsp--client-remote\? 'compiler-macro 'lsp--client-remote\?--cmacro) #@64 Access slot "remote?" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-remote\? #[257 "\211\300H\207" [22] 3 (#$ . 57551)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-remote\? side-effect-free t] 4) #@92 compiler-macro for inlining `lsp--client-completion-in-comments?'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-completion-in-comments\?--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-completion-in-comments\? (progn (aref cl-x 23))) nil] 9 (#$ . 57793)]) (put 'lsp--client-completion-in-comments\? 'compiler-macro 'lsp--client-completion-in-comments\?--cmacro) #@80 Access slot "completion-in-comments?" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-completion-in-comments\? #[257 "\211\300H\207" [23] 3 (#$ . 58214)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-completion-in-comments\? side-effect-free t] 4) #@81 compiler-macro for inlining `lsp--client-path->uri-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-path->uri-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-path->uri-fn (progn (aref cl-x 24))) nil] 9 (#$ . 58504)]) (put 'lsp--client-path->uri-fn 'compiler-macro 'lsp--client-path->uri-fn--cmacro) #@69 Access slot "path->uri-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-path->uri-fn #[257 "\211\300H\207" [24] 3 (#$ . 58866)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-path->uri-fn side-effect-free t] 4) #@81 compiler-macro for inlining `lsp--client-uri->path-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-uri->path-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-uri->path-fn (progn (aref cl-x 25))) nil] 9 (#$ . 59121)]) (put 'lsp--client-uri->path-fn 'compiler-macro 'lsp--client-uri->path-fn--cmacro) #@69 Access slot "uri->path-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-uri->path-fn #[257 "\211\300H\207" [25] 3 (#$ . 59483)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-uri->path-fn side-effect-free t] 4) #@83 compiler-macro for inlining `lsp--client-environment-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-environment-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-environment-fn (progn (aref cl-x 26))) nil] 9 (#$ . 59738)]) (put 'lsp--client-environment-fn 'compiler-macro 'lsp--client-environment-fn--cmacro) #@71 Access slot "environment-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-environment-fn #[257 "\211\300H\207" [26] 3 (#$ . 60110)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-environment-fn side-effect-free t] 4) #@82 compiler-macro for inlining `lsp--client-after-open-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-after-open-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-after-open-fn (progn (aref cl-x 27))) nil] 9 (#$ . 60371)]) (put 'lsp--client-after-open-fn 'compiler-macro 'lsp--client-after-open-fn--cmacro) #@70 Access slot "after-open-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-after-open-fn #[257 "\211\300H\207" [27] 3 (#$ . 60738)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-after-open-fn side-effect-free t] 4) #@91 compiler-macro for inlining `lsp--client-async-request-handlers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-async-request-handlers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-async-request-handlers (progn (aref cl-x 28))) nil] 9 (#$ . 60996)]) (put 'lsp--client-async-request-handlers 'compiler-macro 'lsp--client-async-request-handlers--cmacro) #@79 Access slot "async-request-handlers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-async-request-handlers #[257 "\211\300H\207" [28] 3 (#$ . 61408)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-async-request-handlers side-effect-free t] 4) #@87 compiler-macro for inlining `lsp--client-download-server-fn'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-download-server-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-download-server-fn (progn (aref cl-x 29))) nil] 9 (#$ . 61693)]) (put 'lsp--client-download-server-fn 'compiler-macro 'lsp--client-download-server-fn--cmacro) #@75 Access slot "download-server-fn" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-download-server-fn #[257 "\211\300H\207" [29] 3 (#$ . 62085)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-download-server-fn side-effect-free t] 4) #@90 compiler-macro for inlining `lsp--client-download-in-progress?'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-download-in-progress\?--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-download-in-progress\? (progn (aref cl-x 30))) nil] 9 (#$ . 62358)]) (put 'lsp--client-download-in-progress\? 'compiler-macro 'lsp--client-download-in-progress\?--cmacro) #@78 Access slot "download-in-progress?" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-download-in-progress\? #[257 "\211\300H\207" [30] 3 (#$ . 62769)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--client-download-in-progress\? side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--client-buffers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--client-buffers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--client-buffers (progn (aref cl-x 31))) nil] 9 (#$ . 63053)]) (put 'lsp--client-buffers 'compiler-macro 'lsp--client-buffers--cmacro) #@64 Access slot "buffers" of `lsp--client' struct CL-X. (fn CL-X) (defalias 'lsp--client-buffers #[257 "\211\300H\207" [31] 3 (#$ . 63390)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp--client-buffers side-effect-free t defalias copy-lsp--client copy-sequence] 4) #@571 compiler-macro for inlining `make-lsp--client'. (fn CL-WHOLE &cl-quote &key LANGUAGE-ID ADD-ON\=\? NEW-CONNECTION IGNORE-REGEXPS IGNORE-MESSAGES NOTIFICATION-HANDLERS REQUEST-HANDLERS RESPONSE-HANDLERS PREFIX-FUNCTION URI-HANDLERS ACTION-HANDLERS MAJOR-MODES ACTIVATION-FN PRIORITY SERVER-ID MULTI-ROOT INITIALIZATION-OPTIONS CUSTOM-CAPABILITIES LIBRARY-FOLDERS-FN BEFORE-FILE-OPEN-FN INITIALIZED-FN REMOTE\=\? COMPLETION-IN-COMMENTS\=\? PATH->URI-FN URI->PATH-FN ENVIRONMENT-FN AFTER-OPEN-FN ASYNC-REQUEST-HANDLERS DOWNLOAD-SERVER-FN DOWNLOAD-IN-PROGRESS\=\? BUFFERS) (defalias 'make-lsp--client--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"\206'\307A@\300\310\"\2062\311A@\300\312\"\206=\313A@\300 \314\"A@\300\n\315\"\206O\316A@\300 \317\"\206Z\320A@\300\f\321\"A@\300 \322\"A@\300\323\"\206s\324A@\300\325\"A@\300\326\"A@\300\327\"A@\300\330\"A@\300\331\"A@\300\332\"A@\300\333\"A@\300\334\"A@\300\335\"A@\300\336\"A@\300\337\"A@\300\340\"A@\300\341\"A@\300\342\"\206\331\343A@\300\344\"A@\300\345\"A@\300\346\"A@\347\350\351\352$\352$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$\207" [plist-member :language-id :add-on\? :new-connection :ignore-regexps :ignore-messages :notification-handlers (nil (make-hash-table :test 'equal)) :request-handlers (nil (make-hash-table :test 'equal)) :response-handlers (nil (make-hash-table :test 'eql)) :prefix-function :uri-handlers (nil (make-hash-table :test #'equal)) :action-handlers (nil (make-hash-table :test 'equal)) :major-modes :activation-fn :priority (nil 0) :server-id :multi-root :initialization-options :custom-capabilities :library-folders-fn :before-file-open-fn :initialized-fn :remote\? :completion-in-comments\? :path->uri-fn :uri->path-fn :environment-fn :after-open-fn :async-request-handlers (nil (make-hash-table :test 'equal)) :download-server-fn :download-in-progress\? :buffers cl--defsubst-expand (language-id add-on\? new-connection ignore-regexps ignore-messages notification-handlers request-handlers response-handlers prefix-function uri-handlers action-handlers major-modes activation-fn priority server-id multi-root initialization-options custom-capabilities library-folders-fn before-file-open-fn initialized-fn remote\? completion-in-comments\? path->uri-fn uri->path-fn environment-fn after-open-fn async-request-handlers download-server-fn download-in-progress\? buffers) (cl-block make-lsp--client (record 'lsp--client language-id add-on\? new-connection ignore-regexps ignore-messages notification-handlers request-handlers response-handlers prefix-function uri-handlers action-handlers major-modes activation-fn priority server-id multi-root initialization-options custom-capabilities library-folders-fn before-file-open-fn initialized-fn remote\? completion-in-comments\? path->uri-fn uri->path-fn environment-fn after-open-fn async-request-handlers download-server-fn download-in-progress\? buffers)) nil] 70 (#$ . 63681)]) (put 'make-lsp--client 'compiler-macro 'make-lsp--client--cmacro) #@551 Constructor for objects of type `lsp--client'. (fn &key LANGUAGE-ID ADD-ON\=\? NEW-CONNECTION IGNORE-REGEXPS IGNORE-MESSAGES NOTIFICATION-HANDLERS REQUEST-HANDLERS RESPONSE-HANDLERS PREFIX-FUNCTION URI-HANDLERS ACTION-HANDLERS MAJOR-MODES ACTIVATION-FN PRIORITY SERVER-ID MULTI-ROOT INITIALIZATION-OPTIONS CUSTOM-CAPABILITIES LIBRARY-FOLDERS-FN BEFORE-FILE-OPEN-FN INITIALIZED-FN REMOTE\=\? COMPLETION-IN-COMMENTS\=\? PATH->URI-FN URI->PATH-FN ENVIRONMENT-FN AFTER-OPEN-FN ASYNC-REQUEST-HANDLERS DOWNLOAD-SERVER-FN DOWNLOAD-IN-PROGRESS\=\? BUFFERS) (defalias 'make-lsp--client #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"\206,\307\310\311\312\"DA@\300\313\"\206<\307\310\311\312\"DA@\300\314\"\206L\307\310\311\315\"DA@\300 \316\"A@\300\n\317\"\206c\307\310\311\312\"DA@\300 \320\"\206s\307\310\311\312\"DA@\300\f\321\"A@\300 \322\"A@\300\323\"\206\214\324A@\300\325\"A@\300\326\"A@\300\327\"A@\300\330\"A@\300\331\"A@\300\332\"A@\300\333\"A@\300\334\"A@\300\335\"A@\300\336\"A@\300\337\"A@\300\340\"A@\300\341\"A@\300\342\"\206\367\307\310\311\312\"DA@\300\343\"A@\300\344\"A@\300\345\"A@\346\347                               & \207" [plist-member :language-id :add-on\? :new-connection :ignore-regexps :ignore-messages :notification-handlers nil make-hash-table :test equal :request-handlers :response-handlers eql :prefix-function :uri-handlers :action-handlers :major-modes :activation-fn :priority (nil 0) :server-id :multi-root :initialization-options :custom-capabilities :library-folders-fn :before-file-open-fn :initialized-fn :remote\? :completion-in-comments\? :path->uri-fn :uri->path-fn :environment-fn :after-open-fn :async-request-handlers :download-server-fn :download-in-progress\? :buffers record lsp--client] 65 (#$ . 66784)]) (cl-struct-define 'lsp--client nil 'cl-structure-object 'record nil '((cl-tag-slot) (language-id nil) (add-on\? nil) (new-connection nil) (ignore-regexps nil) (ignore-messages nil) (notification-handlers (make-hash-table :test 'equal)) (request-handlers (make-hash-table :test 'equal)) (response-handlers (make-hash-table :test 'eql)) (prefix-function nil) (uri-handlers (make-hash-table :test #'equal)) (action-handlers (make-hash-table :test 'equal)) (major-modes) (activation-fn) (priority 0) (server-id) (multi-root) (initialization-options) (custom-capabilities) (library-folders-fn) (before-file-open-fn) (initialized-fn) (remote\? nil) (completion-in-comments\? nil) (path->uri-fn nil) (uri->path-fn nil) (environment-fn) (after-open-fn nil) (async-request-handlers (make-hash-table :test 'equal)) (download-server-fn) (download-in-progress\?) (buffers)) 'cl-struct-lsp--client-tags 'lsp--client t) (defvar lsp--already-widened nil) #@19 (fn &rest FORM) (defalias 'lsp-save-restriction-and-excursion '(macro . #[128 "\300\301\302B\303\304\305\306\302BEEF\207" [if lsp--already-widened save-excursion -let [lsp--already-widened t] save-restriction (widen)] 10 (#$ . 69601)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-save-restriction-and-excursion lisp-indent-function 0 put edebug-form-spec t] 5) #@77 Return the point for character CHARACTER on line LINE. (fn LINE CHARACTER) (defalias 'lsp--line-character-to-point #[514 "\302\303#\206O\304 \203-\212eb\210y\210\305 `ZV\203#\211\202'u\210`\262)\202N\304\214~\210\212eb\210y\210\305 `ZV\203G\211\202Ku\210`\262+)\207" [inhibit-field-text-motion lsp--already-widened lsp-virtual-buffer-call :line/character->point t line-end-position] 6 (#$ . 70000)]) #@62 Convert `Position' object in PARAMS to a point. (fn INPUT0) (defalias 'lsp--position-to-point #[257 "\300\301\"\300\302\"\303\"\207" [gethash "line" "character" lsp--line-character-to-point] 6 (#$ . 70428)]) #@15 (fn INPUT0) (defalias 'lsp--range-to-region #[257 "\300\301\302\"!\300\301\303\"!B\207" [lsp--position-to-point lsp-get :start :end] 6 (#$ . 70647)]) #@15 (fn INPUT0) (defalias 'lsp--find-wrapping-range #[257 "\300\301\"\300\302\"\303\304\305\"!\303\304\306\"!\307 \203=\310\311 #\203=\310\312 #\203=\311 U\2039\211\312 U\204=B\207\310`#\203N\307 \204NB\207\205U\313!\207" [gethash "parent" "range" lsp--position-to-point lsp-get :start :end region-active-p <= region-beginning region-end lsp--find-wrapping-range] 9 (#$ . 70809)]) (defalias 'lsp--get-selection-range #[0 "\211\205 \211A\262\242\211\205\211\205\211\301 U\205\262\262\262\206:\302\303\304\305 \306\307\310 !F\"@\211\301 B\211\262\207" [lsp--document-selection-range-cache buffer-modified-tick lsp-request "textDocument/selectionRange" :textDocument lsp--text-document-identifier :positions vector lsp--cur-position] 7]) #@19 Extend selection. (defalias 'lsp-extend-selection #[0 "\300\301!\204\f\302\303\304C\"\210\305\306 !\211\2053\211A\262\242\211\2051\211\205/b\210\307`!\210\211b\210\310 \262\262\207" [lsp--capability :selectionRangeProvider signal lsp-capability-not-supported "selectionRangeProvider" lsp--find-wrapping-range lsp--get-selection-range set-mark exchange-point-and-mark] 5 (#$ . 71591) nil]) #@197 Display a warning message made from (`format-message' MESSAGE ARGS...). This is equivalent to `display-warning', using `lsp-mode' as the type and `:warning' as the level. (fn MESSAGE &rest ARGS) (defalias 'lsp-warn #[385 "\300\301\302\303#\"\207" [display-warning lsp-mode apply format-message] 8 (#$ . 71997)]) #@67 Get uri handler for SCHEME in the current workspace. (fn SCHEME) (defalias 'lsp--get-uri-handler #[257 "\301\302 \206\n\303\304 !\305\301\211\211\203P\211A\262\242\262\262\211\262\203P\306\307!>\2047\310\311\312D\"\210\313H\314H\"\211\262\204P\262\262T\262\202\266\207" [cl-struct-lsp--workspace-tags nil lsp-workspaces lsp--session-workspaces lsp-session 0 gethash type-of signal wrong-type-argument lsp--workspace 5 10] 13 (#$ . 72318)]) #@140 On windows, downcases path because the windows file system is case-insensitive. On other systems, returns path without change. (fn PATH) (defalias 'lsp--fix-path-casing #[257 "\301=\203 \211\227\207\207" [system-type windows-nt] 3 (#$ . 72796)]) #@39 Convert URI to a file path. (fn URI) (defalias 'lsp--uri-to-path #[257 "\300\301\302 \"@\211\203\211!\207\303!\207" [-keep #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--workspace-client (lsp--client-uri->path-fn) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] lsp-workspaces lsp--uri-to-path-1] 4 (#$ . 73052)]) #@18 (fn FILE-NAME) (defalias 'lsp-remap-path-if-needed #[257 "\301\"\211\203\302\303\"\211\203\304\305\306\"\307#\207\207\207" [lsp--virtual-buffer-mappings gethash plist-get :buffer propertize buffer-local-value buffer-file-name lsp-virtual-buffer] 7 (#$ . 73425)]) #@39 Convert URI to a file path. (fn URI) (defalias 'lsp--uri-to-path-1 #[257 "\303\304!!\305!>\204\306\307\310D\"\210\211\311H\312\305!>\204'\306\307\310D\"\210\313H \206/\314\"\203M\315\230\204M\316!\211\203G\211!\202H\262\202c\n\317=\203b\211\320\234\321=\203b\211\311\322O\206c\211\323\324\325\326 \"P!\207" [cl-struct-url-tags locale-coding-system system-type url-generic-parse-url url-unhex-string type-of signal wrong-type-argument url 1 decode-coding-string 6 utf-8 "file" lsp--get-uri-handler windows-nt 0 47 nil lsp-remap-path-if-needed -some lsp--workspace-host-root lsp-workspaces] 9 (#$ . 73707)]) #@35 Return URI of the current buffer. (defalias 'lsp--buffer-uri #[0 "\206\303 \304\"\206\305\n\206\302\306 !!\207" [lsp-buffer-uri lsp--virtual-buffer buffer-file-name plist-get :buffer-uri lsp--path-to-uri buffer-base-buffer] 3 (#$ . 74347)]) #@102 Implemented only to make `company-lsp' happy. DELETE when `lsp-mode.el' is deleted. (fn &rest ARGS) (defalias 'lsp-register-client-capabilities #[128 "\300\207" ["Implemented only to make `company-lsp' happy.\nDELETE when `lsp-mode.el' is deleted."] 2 (#$ . 74602)]) #@118 `url-unreserved-chars' with additional delim ?/. This set of allowed chars is enough for hexifying local file paths. (defconst lsp--url-path-allowed-chars (byte-code "\301\302\303\"!\207" [url-unreserved-chars url--allowed-chars append (47)] 4) (#$ . 74877)) #@13 (fn PATH) (defalias 'lsp--path-to-uri-1 #[257 "\302!\303\304\305#\206\211\306 \"\262\262\262P\207" [lsp--uri-file-prefix lsp--url-path-allowed-chars expand-file-name file-remote-p localname t url-hexify-string] 8 (#$ . 75143)]) #@35 Convert PATH to a uri. (fn PATH) (defalias 'lsp--path-to-uri #[257 "\300\301\302 \"@\211\203\211!\207\303!\207" [-keep #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--workspace-client (lsp--client-path->uri-fn) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] lsp-workspaces lsp--path-to-uri-1] 4 (#$ . 75389)]) #@97 Given a list of REGEX-LIST and STR return the first matching regex if any. (fn REGEX-LIST STR) (defalias 'lsp--string-match-any #[514 "\300\301\300\211\211\2038\211A\262\242\262\262\211\262\2038\302\"\203+\300\262\2038\262\262T\262\202\266\207" [nil 0 string-match] 11 (#$ . 75758)]) #@68 compiler-macro for inlining `lsp-watch-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-watch-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-watch-p (and (memq (type-of cl-x) cl-struct-lsp-watch-tags) t)) nil] 9 (#$ . 76076)]) (put 'lsp-watch-p 'compiler-macro 'lsp-watch-p--cmacro) #@13 (fn CL-X) (defalias 'lsp-watch-p #[257 "\301!>\205 \302\207" [cl-struct-lsp-watch-tags type-of t] 3 (#$ . 76405)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp-watch-p side-effect-free error-free put lsp-watch cl-deftype-satisfies] 5) #@78 compiler-macro for inlining `lsp-watch-descriptors'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-watch-descriptors--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-watch-descriptors (progn (aref cl-x 1))) nil] 9 (#$ . 76676)]) (put 'lsp-watch-descriptors 'compiler-macro 'lsp-watch-descriptors--cmacro) #@66 Access slot "descriptors" of `lsp-watch' struct CL-X. (fn CL-X) (defalias 'lsp-watch-descriptors #[257 "\211\300H\207" [1] 3 (#$ . 77022)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp-watch-descriptors side-effect-free t] 4) #@81 compiler-macro for inlining `lsp-watch-root-directory'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-watch-root-directory--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-watch-root-directory (progn (aref cl-x 2))) nil] 9 (#$ . 77267)]) (put 'lsp-watch-root-directory 'compiler-macro 'lsp-watch-root-directory--cmacro) #@69 Access slot "root-directory" of `lsp-watch' struct CL-X. (fn CL-X) (defalias 'lsp-watch-root-directory #[257 "\211\300H\207" [2] 3 (#$ . 77628)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp-watch-root-directory side-effect-free t defalias copy-lsp-watch copy-sequence] 4) #@104 compiler-macro for inlining `make-lsp-watch'. (fn CL-WHOLE &cl-quote &key DESCRIPTORS ROOT-DIRECTORY) (defalias 'make-lsp-watch--cmacro #[385 "\300\301\"\206\302A@\300\303\"A@\304\305\306\307\307&\207" [plist-member :descriptors (nil (make-hash-table :test 'equal)) :root-directory cl--defsubst-expand (descriptors root-directory) (cl-block make-lsp-watch (record 'lsp-watch descriptors root-directory)) nil] 12 (#$ . 77931)]) (put 'make-lsp-watch 'compiler-macro 'make-lsp-watch--cmacro) #@84 Constructor for objects of type `lsp-watch'. (fn &key DESCRIPTORS ROOT-DIRECTORY) (defalias 'make-lsp-watch #[128 "\300\301\"\206 \302\303\304\305\"DA@\300\306\"A@\307\310#\207" [plist-member :descriptors nil make-hash-table :test equal :root-directory record lsp-watch] 7 (#$ . 78438)]) (cl-struct-define 'lsp-watch nil 'cl-structure-object 'record nil '((cl-tag-slot) (descriptors (make-hash-table :test 'equal)) (root-directory)) 'cl-struct-lsp-watch-tags 'lsp-watch t) #@29 (fn EVENT CALLBACK WATCH) (defalias 'lsp--folder-watch-callback #[771 "AA@A@\300!\2030\211\301=\2030\302\303 \"\2040\304\305!#\210\306\307\310\"\311\312\313#\"\207\300!?\205@\211\314>\205@!\207" [file-directory-p created lsp--string-match-any lsp-file-watch-ignored lsp-watch-root-folder file-truename seq-do make-closure #[257 "\301!?\205 \300\302\303E!\207" [V0 file-directory-p nil created] 5 "\n\n(fn F)"] directory-files-recursively ".*" t (created deleted changed)] 11 (#$ . 78923)]) #@125 Copy of `directory-files-recursively' but it skips `lsp-file-watch-ignored'. (fn DIR REGEXP &optional INCLUDE-DIRECTORIES) (defalias 'lsp--directory-files-recursively #[770 "\301\211\302!\205\303\304!!\305\306\307\"\310\"\211\203\201\211@\211\311\235\204z\312!\203j\313\314 \315\316!\"\"\204j\211\317GSO\315\"\320!\204Q\321  #\244\262\203e\322 \"\203eC\244\262\266\202z\322\"\203z\315\"B\262A\266\202\202\210\237\244)\207" [tramp-mode nil directory-file-name file-remote-p expand-file-name sort file-name-all-completions "" string< ("./" "../") directory-name-p lsp--string-match-any lsp-file-watch-ignored f-join f-filename 0 file-symlink-p lsp--directory-files-recursively string-match] 15 (#$ . 79443)]) #@266 Ask the user if they want to watch NUMBER-OF-FILES from a repository DIR. This is useful when there is a lot of files in a repository, as that may slow Emacs down. Returns t if the user wants to watch the entire repository, nil otherwise. (fn NUMBER-OF-FILES DIR) (defalias 'lsp--ask-about-watching-big-repo #[514 "\300\301\302\211$!\303\304!\210\207" [yes-or-no-p format "There are %s files in folder %s so watching the repo may slow Emacs down.\nDo you want to watch all files in %s? " lsp--info "You can configure this warning with the `lsp-enable-file-watchers' and `lsp-file-watch-threshold' variables"] 8 (#$ . 80208)]) #@305 Create recursive file notification watch in DIR. CALLBACK will be called when there are changes in any of the monitored files. WATCHES is a hash table directory->file notification handle which contains all of the watch that already have been created. (fn DIR CALLBACK &optional WATCH WARN-BIG-REPO\=\?) (defalias 'lsp-watch-root-folder #[1026 "\301!\203\f\302!\202 \206\303\304\"\305\306\"\210\203B\203B\307\310\311#G\211W\206=\3121:\313\"0\202=\314\262\262\203\205\3151}\3161s\317\320\321\322\323 ##\324H#\210\325\326\327#\330\322\331\"\332\311\"\"\"00\210\2070\305\333\334!\"\266\207\305\333\334!\"\266\207" [lsp-file-watch-threshold f-symlink\? file-truename make-lsp-watch :root-directory lsp-log "Creating watch for %s" lsp--directory-files-recursively ".*" t 'quit lsp--ask-about-watching-big-repo nil (file-missing) (error) puthash file-notify-add-watch (change) make-closure #[257 "\302\300\301#\207" [V0 V1 lsp--folder-watch-callback] 5 "\n\n(fn EVENT)"] 1 seq-do -rpartial lsp-watch-root-folder seq-filter #[257 "\301!\205,\302\303!\203\304!\202\300\305H\"?\205,\306\307 \"?\205,\310\311\312!\"?\207" [V0 file-directory-p gethash f-symlink\? file-truename 1 lsp--string-match-any lsp-file-watch-ignored -contains\? ("." "..") f-filename] 5 "\n\n(fn F)"] directory-files "Failed to create a watch for %s: message" error-message-string] 15 (#$ . 80844)]) #@27 Delete WATCH. (fn WATCH) (defalias 'lsp-kill-watch #[257 "\300\301H\302C\303\304\305\"\"\210\211\242\237\266\202\306\"\210\302\307\301H!\210\207" [-each 1 nil maphash make-closure #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn --CL-VAR-- V)"] file-notify-rm-watch clrhash] 8 (#$ . 82270)]) #@40 Convert VAL to JSON boolean. (fn VAL) (defalias 'lsp-json-bool #[257 "\211\203\300\207\301\207" [t :json-false] 2 (#$ . 82571)]) #@81 Helper macro for invoking BODY in WORKSPACE context. (fn WORKSPACE &rest BODY) (defalias 'with-lsp-workspace '(macro . #[385 "\300\301DCBB\207" [let lsp--cur-workspace] 5 (#$ . 82709)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put with-lsp-workspace edebug-form-spec (form body) function-put lisp-indent-function 1] 4) #@89 Helper macro for invoking BODY against multiple WORKSPACES. (fn WORKSPACES &rest BODY) (defalias 'with-lsp-workspaces '(macro . #[385 "\300\301DCBB\207" [let lsp--buffer-workspaces] 5 (#$ . 83058)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put with-lsp-workspaces edebug-form-spec (form body) function-put lisp-indent-function 1] 4) #@67 Execute BODY for each of the current workspaces. (fn &rest BODY) (defalias 'lsp-foreach-workspace '(macro . #[128 "\300\301\302BB\303BB\207" [--map with-lsp-workspace it ((lsp-workspaces))] 5 (#$ . 83421)])) (put 'lsp-foreach-workspace 'edebug-form-spec '(form body)) #@92 Helper macro for invoking BODY in WORKSPACE context if present. (fn WORKSPACE &rest BODY) (defalias 'when-lsp-workspace '(macro . #[385 "\300\301DCBB\207" [when-let lsp--cur-workspace] 5 (#$ . 83697)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put when-lsp-workspace edebug-form-spec (form body) function-put lisp-indent-function 1] 4) #@96 Send the server's messages to log. PARAMS - the data sent from _WORKSPACE. (fn INPUT0 INPUT1) (defalias 'lsp--window-show-message #[514 "\300\301\302\"\301\303\"\211\304\267\202\305\202\306\202\307\310\"\207" [nil gethash "message" "type" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 15 2 19)) lsp--error lsp--warn lsp--info "%s"] 8 (#$ . 84062)]) #@95 Send the server's messages to log. PARAMS - the data sent from WORKSPACE. (fn INPUT0 INPUT1) (defalias 'lsp--window-log-message #[514 "\301\302\"\301\303\"\304\305!>\204\306\307\310D\"\210\311H\211\2035\312\313\"\311H\304\314\315$?\266\203\203?\316\317\320\"\"\210\210\207" [cl-struct-lsp--workspace-tags gethash "message" "type" nil type-of signal wrong-type-argument lsp--workspace 5 -rpartial string-match-p apply cl-some lsp-log "%s" lsp--propertize] 15 (#$ . 84469)]) #@102 Display a message request to the user and send the user's selection back to the server. (fn INPUT0) (defalias 'lsp--window-log-message-request #[257 "\300\301\"\300\302\"\300\303\"\304\"\305\306\"\211\203$\307\310P\311\312\"\313\314$\207\315!\207" [gethash "message" "type" "actions" lsp--propertize seq-map lsp:message-action-item-title completing-read " " seq-into list nil t lsp-log] 11 (#$ . 84971)]) #@117 PARAMS contains the progress data. WORKSPACE is the workspace that contains the progress token. (fn INPUT0 INPUT1) (defalias 'lsp--on-progress #[514 "\303\304\"\303\305\"\303\306\"\211\307\267\202\253\303\310\"\303\311\"\203M\312\313 \"\314\315\316\"\"\317!\320\315\321\"\322 !\n>\204C\323\324\325 D\"\210\n\326H\"\266\203\202_\211\203Z\327\330\331$\202_\327\332\211#\333 #\207\334\"\211\205\214?\205\214\211\335!\332\247\203\205@Y\205\212\336#\266\203\207\334\"\211\205\252\203\241\337\340\"\210\202\245\341!\210\342\"\207\332\207" [lsp-progress-via-spinner spinner-types cl-struct-lsp--workspace-tags gethash "token" "value" "kind" #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("begin" 19 "report" 103 "end" 141)) "title" "percentage" alist-get progress-bar seq-map make-closure #[257 "\301\302\300#\207" [V0 propertize help-echo] 5 "\n\n(fn STRING)"] vconcat mapcar #[257 "r\211q\210\301\300!\210)\207" [V0 spinner-start] 3 "\n\n(fn BUFFER)"] type-of signal wrong-type-argument lsp--workspace 9 make-progress-reporter 0 100 nil lsp-workspace-set-work-done-token lsp-workspace-get-work-done-token lsp:work-done-progress-report-percentage\? progress-reporter-do-update mapc #[257 "\300!\205 r\211q\210\301 )\207" [lsp-buffer-live-p spinner-stop] 3 "\n\n(fn BUFFER)"] progress-reporter-done lsp-workspace-rem-work-done-token] 17 (#$ . 85394)]) #@83 Return the diagnostics from all workspaces. (fn &optional CURRENT-WORKSPACE\=\?) (defalias 'lsp-diagnostics #[256 "\301\203\n\302 \202\303\304 !\211\204\266\202N\211:\203F\211\242\243\211\204>\305!>\2044\306\307\310D\"\210\211\311H\262\266\204\202K!\266\204\202K!\266\202\206U\312\313\314\"\211\262\207" [cl-struct-lsp--workspace-tags #[257 "\300\301\302\"\303\304\305\"\"\210\207" [make-hash-table :test equal mapc make-closure #[257 "\302\303\304\300\"\305! >\204\306\307\310D\"\210\311H\"\207" [V0 cl-struct-lsp--workspace-tags maphash make-closure #[514 "\301\302\303\300\"\"\300#\207" [V0 puthash append gethash] 8 "\n\n(fn FILE-NAME DIAGNOSTICS)"] type-of signal wrong-type-argument lsp--workspace 20] 7 "\n\n(fn WORKSPACE)"]] 6 "\n\n(fn WORKSPACES)"] lsp-workspaces lsp--session-workspaces lsp-session type-of signal wrong-type-argument lsp--workspace 20 make-hash-table :test equal] 10 (#$ . 86843)]) #@250 Callback for textDocument/publishDiagnostics. interface PublishDiagnosticsParams { uri: string; diagnostics: Diagnostic[]; } PARAMS contains the diagnostics data. WORKSPACE is the workspace that contains the diagnostics. (fn INPUT0 INPUT1) (defalias 'lsp--on-diagnostics #[514 "\302\303\"\302\304\"\305\306\307\"\211\262\310\311!!\312! >\204&\313\314\315D\"\210\316H\317!\2037\320\"\210\202@\321\322\323\"#\210\324\325!\210\326p!)\207" [lsp--virtual-buffer-mappings cl-struct-lsp--workspace-tags gethash "uri" "diagnostics" make-hash-table :test equal lsp--fix-path-casing lsp--uri-to-path type-of signal wrong-type-argument lsp--workspace 20 seq-empty-p remhash puthash append nil run-hooks lsp-diagnostics-updated-hook lsp--idle-reschedule] 12 (#$ . 87795)]) #@46 Get nested KEYS in TBL. (fn TBL &rest KEYS) (defalias 'lsp--ht-get #[385 "\203\211\203\300@\301#\262A\262\202\207" [gethash nil] 7 (#$ . 88590)]) #@77 compiler-macro for inlining `lsp--folding-range-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-p (and (memq (type-of cl-x) cl-struct-lsp--folding-range-tags) t)) nil] 9 (#$ . 88756)]) (put 'lsp--folding-range-p 'compiler-macro 'lsp--folding-range-p--cmacro) #@13 (fn CL-X) (defalias 'lsp--folding-range-p #[257 "\301!>\205 \302\207" [cl-struct-lsp--folding-range-tags type-of t] 3 (#$ . 89139)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp--folding-range-p side-effect-free error-free put lsp--folding-range cl-deftype-satisfies] 5) #@79 compiler-macro for inlining `lsp--folding-range-beg'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-beg--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-beg (progn (aref cl-x 1))) nil] 9 (#$ . 89446)]) (put 'lsp--folding-range-beg 'compiler-macro 'lsp--folding-range-beg--cmacro) #@67 Access slot "beg" of `lsp--folding-range' struct CL-X. (fn CL-X) (defalias 'lsp--folding-range-beg #[257 "\211\300H\207" [1] 3 (#$ . 89797)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--folding-range-beg side-effect-free t] 4) #@79 compiler-macro for inlining `lsp--folding-range-end'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-end (progn (aref cl-x 2))) nil] 9 (#$ . 90045)]) (put 'lsp--folding-range-end 'compiler-macro 'lsp--folding-range-end--cmacro) #@67 Access slot "end" of `lsp--folding-range' struct CL-X. (fn CL-X) (defalias 'lsp--folding-range-end #[257 "\211\300H\207" [2] 3 (#$ . 90396)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--folding-range-end side-effect-free t] 4) #@80 compiler-macro for inlining `lsp--folding-range-kind'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-kind--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-kind (progn (aref cl-x 3))) nil] 9 (#$ . 90644)]) (put 'lsp--folding-range-kind 'compiler-macro 'lsp--folding-range-kind--cmacro) #@68 Access slot "kind" of `lsp--folding-range' struct CL-X. (fn CL-X) (defalias 'lsp--folding-range-kind #[257 "\211\300H\207" [3] 3 (#$ . 91000)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--folding-range-kind side-effect-free t] 4) #@84 compiler-macro for inlining `lsp--folding-range-children'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-children--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-children (progn (aref cl-x 4))) nil] 9 (#$ . 91251)]) (put 'lsp--folding-range-children 'compiler-macro 'lsp--folding-range-children--cmacro) #@72 Access slot "children" of `lsp--folding-range' struct CL-X. (fn CL-X) (defalias 'lsp--folding-range-children #[257 "\211\300H\207" [4] 3 (#$ . 91627)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--folding-range-children side-effect-free t] 4) #@94 compiler-macro for inlining `lsp--folding-range-orig-folding-range'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--folding-range-orig-folding-range--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--folding-range-orig-folding-range (progn (aref cl-x 5))) nil] 9 (#$ . 91890)]) (put 'lsp--folding-range-orig-folding-range 'compiler-macro 'lsp--folding-range-orig-folding-range--cmacro) #@82 Access slot "orig-folding-range" of `lsp--folding-range' struct CL-X. (fn CL-X) (defalias 'lsp--folding-range-orig-folding-range #[257 "\211\300H\207" [5] 3 (#$ . 92316)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp--folding-range-orig-folding-range side-effect-free t defalias copy-lsp--folding-range copy-sequence] 4) #@127 compiler-macro for inlining `make-lsp--folding-range'. (fn CL-WHOLE &cl-quote &key BEG END KIND CHILDREN ORIG-FOLDING-RANGE) (defalias 'make-lsp--folding-range--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\306\307\310\311\n\311\n\n\n\n\n&\n\207" [plist-member :beg :end :kind :children :orig-folding-range cl--defsubst-expand (beg end kind children orig-folding-range) (cl-block make-lsp--folding-range (record 'lsp--folding-range beg end kind children orig-folding-range)) nil] 18 (#$ . 92667)]) (put 'make-lsp--folding-range 'compiler-macro 'make-lsp--folding-range--cmacro) #@107 Constructor for objects of type `lsp--folding-range'. (fn &key BEG END KIND CHILDREN ORIG-FOLDING-RANGE) (defalias 'make-lsp--folding-range #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\306\307&\207" [plist-member :beg :end :kind :children :orig-folding-range record lsp--folding-range] 13 (#$ . 93293)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-lsp--folding-range side-effect-free t cl-struct-define lsp--folding-range nil cl-structure-object record ((cl-tag-slot) (beg) (end) (kind) (children) (orig-folding-range)) cl-struct-lsp--folding-range-tags] 11) (defvar lsp--cached-folding-ranges nil nil) (make-variable-buffer-local 'lsp--cached-folding-ranges) (defvar lsp--cached-nested-folding-ranges nil nil) (make-variable-buffer-local 'lsp--cached-nested-folding-ranges) #@14 (fn RANGE) (defalias 'lsp--folding-range-width #[257 "\211\300H\301HZ\207" [2 1] 4 (#$ . 94166)]) #@48 Get the folding ranges for the current buffer. (defalias 'lsp--get-folding-ranges #[0 "\301 @=\204:\302\303\304\305 D\"\306\307\310\311\"\"\312!\301 \313\314\315\"\"\316\317\"\320\321\"\322!\262\262\262\262B\266A\207" [lsp--cached-folding-ranges buffer-chars-modified-tick lsp-request "textDocument/foldingRange" :textDocument lsp--text-document-identifier -sort lsp--line-col-comparator cl-mapcan #[257 "\300\301\"\300\302\"\300\303\"\300\304\"BBD\207" [gethash "startLine" "startCharacter" "endLine" "endCharacter"] 8 "\n\n(fn INPUT0)"] lsp--convert-line-col-to-points-batch seq-map make-closure #[257 "\211\301\302\"\301\303\"\301\304\"\301\305\"\301\306\"\307\310\301B\300\311#\301B\300\311#\311 &\207" [V0 gethash "startLine" "startCharacter" "endLine" "endCharacter" "kind" record lsp--folding-range nil] 14 "\n\n(fn INPUT0)"] seq-filter #[257 "\211\300H\301HW\207" [1 2] 4 "\n\n(fn FOLDING-RANGE)"] seq-into list delete-dups] 10 (#$ . 94273)]) #@61 Get a list of nested folding ranges for the current buffer. (defalias 'lsp--get-nested-folding-ranges #[0 "\211A\262\242\302\303 =\203 \203 \207\304\305 !\211\207" [lsp--cached-folding-ranges lsp--cached-nested-folding-ranges nil buffer-chars-modified-tick lsp--folding-range-build-trees lsp--get-folding-ranges] 5 (#$ . 95273)]) #@15 (fn RANGES) (defalias 'lsp--folding-range-build-trees #[257 "\302\303\"\262\304\305 \306\211\211&\211C\211\203?\211@\307@\"\204'A\262\202@\211\310\310HBI\266\211B\262A\266\202\202\210\310H\207" [most-negative-fixnum most-positive-fixnum seq-sort lsp--range-before-p record lsp--folding-range nil lsp--range-inside-p 4] 11 (#$ . 95618)]) #@63 Return non-nil if folding range R1 lies inside R2 (fn R1 R2) (defalias 'lsp--range-inside-p #[514 "\300H\300HY\205\301H\301HX\207" [1 2] 5 (#$ . 95986)]) #@63 Return non-nil if folding range R1 ends before R2 (fn R1 R2) (defalias 'lsp--range-before-p #[514 "\300H\300HW\206\300H\300HU\205\211\301H\301HW\207" [1 2] 5 (#$ . 96153)]) #@76 Return non-nil if POINT lies inside folding range RANGE. (fn POINT RANGE) (defalias 'lsp--point-inside-range-p #[514 "\300HY\205 \301HX\207" [1 2] 5 (#$ . 96342)]) #@83 Return the innermost folding range POINT lies in. (fn &optional (POINT (point))) (defalias 'lsp--get-current-innermost-folding-range #[128 "\211\203 \211A\262\242\202`\300C\301\302\303#\304 \"\210\211\242\207" [nil seq-do make-closure #[257 "\302\300\"\205\301\242\203\303\301\242\"\205\301\240\207\301\240\207" [V0 V1 lsp--point-inside-range-p lsp--range-inside-p] 4 "\n\n(fn RANGE)"] lsp--get-folding-ranges] 8 (#$ . 96518)]) #@83 Return the outermost folding range POINT lies in. (fn &optional (POINT (point))) (defalias 'lsp--get-current-outermost-folding-range #[128 "\211\203 \211A\262\242\202`\300C\300C\301\302\303$\304 \"\210\242A\207" [nil seq-do make-closure #[257 "\303\300\"\205(\302\304!\240\210\301\242\203\"\302\242\301\242@V\205(\301\302\242B\240\207\301\302\242B\240\207" [V0 V1 V2 lsp--point-inside-range-p lsp--folding-range-width] 4 "\n\n(fn RANGE)"] lsp--get-folding-ranges] 10 (#$ . 96970)]) (defalias 'lsp--folding-range-at-point-bounds #[0 "\301\302!\204\f\303\304!\205\205\305 \211\205\211\306H\307HB\262\207" [lsp-enable-folding lsp--capability :foldingRangeProvider lsp--registered-capability "textDocument/foldingRange" lsp--get-current-innermost-folding-range 1 2] 4]) (put 'lsp--folding-range 'bounds-of-thing-at-point 'lsp--folding-range-at-point-bounds) #@27 (fn &optional BACKWARD) (defalias 'lsp--get-nearest-folding-range #[256 "`\300\211\204-\203eX\202dY\204-\203!S\262\202%T\262\301!\262\202\207" [nil lsp--get-current-innermost-folding-range] 5 (#$ . 97857)]) #@10 (fn N) (defalias 'lsp--folding-range-at-point-forward-op #[257 "\301\302!\204\f\303\304!\205T\205T\211\305U?\205T\3062T\307!\305\211W\205Q\310\311\305W!\211\203D\305W\203;\211\312H\202>\211\313Hb\266\202J\314\306\310\"\266\211T\262\202\266\2020\207" [lsp-enable-folding lsp--capability :foldingRangeProvider lsp--registered-capability "textDocument/foldingRange" 0 --cl-block-break-- abs nil lsp--get-nearest-folding-range 1 2 throw] 8 (#$ . 98092)]) (put 'lsp--folding-range 'forward-op 'lsp--folding-range-at-point-forward-op) (defalias 'lsp--folding-range-at-point-beginning-op #[0 "\300 @b\207" [lsp--folding-range-at-point-bounds] 1]) (put 'lsp--folding-range 'beginning-op 'lsp--folding-range-at-point-beginning-op) (defalias 'lsp--folding-range-at-point-end-op #[0 "\300 Ab\207" [lsp--folding-range-at-point-bounds] 1]) (put 'lsp--folding-range 'end-op 'lsp--folding-range-at-point-end-op) (defalias 'lsp--range-at-point-bounds #[0 "\300 \206\301\302!\205\303\304\305\306 \"!\211\205\307!\262\207" [lsp--folding-range-at-point-bounds lsp--capability :hoverProvider lsp:hover-range\? lsp-request "textDocument/hover" lsp--text-document-position-params lsp--range-to-region] 4]) (put 'lsp--range 'bounds-of-thing-at-point 'lsp--range-at-point-bounds) #@40 Toggle client-server protocol logging. (defalias 'lsp-toggle-trace-io #[0 "?\301\302\203 \303\202\304\"\207" [lsp-print-io lsp--info "Server logging %s." "enabled" "disabled"] 3 (#$ . 99384) nil]) #@33 Toggle signature auto activate. (defalias 'lsp-toggle-signature-auto-activate #[0 "?\301\302\203 \303\202\304\"\210\305 \207" [lsp-signature-auto-activate lsp--info "Signature autoactivate %s." "enabled" "disabled" lsp--update-signature-help-hook] 3 (#$ . 99593) nil]) #@28 Toggle on type formatting. (defalias 'lsp-toggle-on-type-formatting #[0 "?\301\302\203 \303\202\304\"\210\305 \207" [lsp-enable-on-type-formatting lsp--info "On type formatting is %s." "enabled" "disabled" lsp--update-on-type-formatting-hook] 3 (#$ . 99874) nil]) #@29 Toggle symbol highlighting. (defalias 'lsp-toggle-symbol-highlight #[0 "?\211\203\301\302!\203\303\304\305\306\307$\210\310\311!\207?\205*\312\304\305\307#\210\313\314!\210\310\315!\207" [lsp-enable-symbol-highlighting lsp-feature\? "textDocument/documentHighlight" add-hook lsp-on-idle-hook lsp--document-highlight nil t lsp--info "Symbol highlighting enabled in current buffer." remove-hook lsp--remove-overlays lsp-highlight "Symbol highlighting disabled in current buffer."] 6 (#$ . 100150) nil]) #@229 In KEYMAP, define key sequence KEY as DEF conditionally. This is like `define-key', except the definition disappears whenever COND evaluates to nil. BINDINGS is a list of (key def cond). (fn KEYMAP KEY DEF COND &rest BINDINGS) (defalias 'lsp-define-conditional-key '(macro . #[1156 "\300\301\302\303\"\304\305BBB\"\"!\207" [macroexp-progn -map make-closure #[257 "\211\211A\262\242\211A\262\242@\301\300\302\303\304\305\"\306\307\310\311\312\313 E\314BBE\257DF\207" [V0 define-key quote menu-item format "maybe-%s" :filter lambda (item) when with-current-buffer (or (when (buffer-live-p lsp--describe-buffer) lsp--describe-buffer) (current-buffer)) (item)] 19 "\n\n(fn INPUT0)"] -partition 3] 14 (#$ . 100666)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-define-conditional-key lisp-indent-function defun put edebug-form-spec (form form form form &rest sexp)] 5) (defvar lsp--describe-buffer nil) #@38 (fn BUFFER &optional PREFIX MENUS) (defalias 'lsp-describe-buffer-bindings-advice #[769 "\211\207" [lsp--describe-buffer] 5 (#$ . 101620)]) (advice-add 'describe-buffer-bindings :before 'lsp-describe-buffer-bindings-advice) #@17 (fn MAPPINGS) (defalias 'lsp--prepend-prefix #[257 "\300\301\302\303\"\"\207" [-mapcat #[257 "\211\211A\262\242@\301QD\207" [lsp-keymap-prefix " "] 7 "\n\n(fn INPUT0)"] -partition 2] 6 (#$ . 101854)]) (defvar lsp-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\301\356\357#\210\301\360\361#\210\301\362\363#\210\301\364\365#\210\301\366\367#\210\301\370\371#\210\301\372\373#\210\301\374\375#\210\301\376\377#\210\301\201@\201A#\210\301\201B\201C#\210\301\201D\201E#\210\301\201F\201G#\210\301\201H\201I#\210\301\201J\201K#\210\301\201L\201M#\210\301\201N\201O#\210\301\201P\201Q#\210\301\201R\201S#\210\207" [make-sparse-keymap define-key "sr" (menu-item "maybe-lsp-workspace-restart" lsp-workspace-restart :filter (lambda #1=(item) (when (with-current-buffer #2=(or (when (buffer-live-p lsp--describe-buffer) lsp--describe-buffer) (current-buffer)) (lsp-workspaces)) . #3=(item)))) "ss" (menu-item "maybe-lsp" lsp :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "sq" (menu-item "maybe-lsp-workspace-shutdown" lsp-workspace-shutdown :filter (lambda #1# (when (with-current-buffer #2# (lsp-workspaces)) . #3#))) "sd" (menu-item "maybe-lsp-describe-session" lsp-describe-session :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "sD" (menu-item "maybe-lsp-disconnect" lsp-disconnect :filter (lambda #1# (when (with-current-buffer #2# (lsp-workspaces)) . #3#))) "==" (menu-item "maybe-lsp-format-buffer" lsp-format-buffer :filter (lambda #1# (when (with-current-buffer #2# (or (lsp-feature\? "textDocument/rangeFormatting") (lsp-feature\? "textDocument/formatting"))) . #3#))) "=r" (menu-item "maybe-lsp-format-region" lsp-format-region :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/rangeFormatting")) . #3#))) "Fa" (menu-item "maybe-lsp-workspace-folders-add" lsp-workspace-folders-add :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "Fr" (menu-item "maybe-lsp-workspace-folders-remove" lsp-workspace-folders-remove :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "Fb" (menu-item "maybe-lsp-workspace-blacklist-remove" lsp-workspace-blacklist-remove :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "Tl" (menu-item "maybe-lsp-lens-mode" lsp-lens-mode :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/codeLens")) . #3#))) "TL" (menu-item "maybe-lsp-toggle-trace-io" lsp-toggle-trace-io :filter (lambda #1# (when (with-current-buffer #2# t) . #3#))) "Th" (menu-item "maybe-lsp-toggle-symbol-highlight" lsp-toggle-symbol-highlight :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/documentHighlight")) . #3#))) "Tb" (menu-item "maybe-lsp-headerline-breadcrumb-mode" lsp-headerline-breadcrumb-mode :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/documentSymbol")) . #3#))) "Ta" (menu-item "maybe-lsp-modeline-code-actions-mode" lsp-modeline-code-actions-mode :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/codeAction")) . #3#))) "TD" (menu-item "maybe-lsp-modeline-diagnostics-mode" lsp-modeline-diagnostics-mode :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/publishDiagnostics")) . #3#))) "TS" (menu-item "maybe-lsp-ui-sideline-mode" lsp-ui-sideline-mode :filter (lambda #1# (when (with-current-buffer #2# (featurep 'lsp-ui-sideline)) . #3#))) "Td" (menu-item "maybe-lsp-ui-doc-mode" lsp-ui-doc-mode :filter (lambda #1# (when (with-current-buffer #2# (featurep 'lsp-ui-doc)) . #3#))) "Ts" (menu-item "maybe-lsp-toggle-signature-auto-activate" lsp-toggle-signature-auto-activate :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/signatureHelp")) . #3#))) "Tf" (menu-item "maybe-lsp-toggle-on-type-formatting" lsp-toggle-on-type-formatting :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/onTypeFormatting")) . #3#))) "TT" (menu-item "maybe-lsp-treemacs-sync-mode" lsp-treemacs-sync-mode :filter (lambda #1# (when (with-current-buffer #2# (featurep 'lsp-treemacs)) . #3#))) "gg" (menu-item "maybe-lsp-find-definition" lsp-find-definition :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/definition")) . #3#))) "gr" (menu-item "maybe-lsp-find-references" lsp-find-references :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/references")) . #3#))) "gi" (menu-item "maybe-lsp-find-implementation" lsp-find-implementation :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/implementation")) . #3#))) "gt" (menu-item "maybe-lsp-find-type-definition" lsp-find-type-definition :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/typeDefinition")) . #3#))) "gd" (menu-item "maybe-lsp-find-declaration" lsp-find-declaration :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/declaration")) . #3#))) "gh" (menu-item "maybe-lsp-treemacs-call-hierarchy" lsp-treemacs-call-hierarchy :filter (lambda #1# (when (with-current-buffer #2# (and (lsp-feature\? "callHierarchy/incomingCalls") (fboundp 'lsp-treemacs-call-hierarchy))) . #3#))) "ga" (menu-item "maybe-xref-find-apropos" xref-find-apropos :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "workspace/symbol")) . #3#))) "ge" (menu-item "maybe-lsp-treemacs-errors-list" lsp-treemacs-errors-list :filter (lambda #1# (when (with-current-buffer #2# (fboundp 'lsp-treemacs-errors-list)) . #3#))) "hh" (menu-item "maybe-lsp-describe-thing-at-point" lsp-describe-thing-at-point :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/hover")) . #3#))) "hs" (menu-item "maybe-lsp-signature-activate" lsp-signature-activate :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/signatureHelp")) . #3#))) "hg" (menu-item "maybe-lsp-ui-doc-glance" lsp-ui-doc-glance :filter (lambda #1# (when (with-current-buffer #2# (and (featurep 'lsp-ui-doc) (lsp-feature\? "textDocument/hover"))) . #3#))) "rr" (menu-item "maybe-lsp-rename" lsp-rename :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/rename")) . #3#))) "ro" (menu-item "maybe-lsp-organize-imports" lsp-organize-imports :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/codeAction")) . #3#))) "aa" (menu-item "maybe-lsp-execute-code-action" lsp-execute-code-action :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/codeAction")) . #3#))) "al" (menu-item "maybe-lsp-avy-lens" lsp-avy-lens :filter (lambda #1# (when (with-current-buffer #2# (and (bound-and-true-p lsp-lens-mode) (featurep 'avy))) . #3#))) "ah" (menu-item "maybe-lsp-document-highlight" lsp-document-highlight :filter (lambda #1# (when (with-current-buffer #2# (lsp-feature\? "textDocument/documentHighlight")) . #3#))) "Gg" (menu-item "maybe-lsp-ui-peek-find-definitions" lsp-ui-peek-find-definitions :filter (lambda #1# (when (with-current-buffer #2# (and (lsp-feature\? "textDocument/definition") (fboundp 'lsp-ui-peek-find-definitions))) . #3#))) "Gr" (menu-item "maybe-lsp-ui-peek-find-references" lsp-ui-peek-find-references :filter (lambda #1# (when (with-current-buffer #2# (and (fboundp 'lsp-ui-peek-find-references) (lsp-feature\? "textDocument/references"))) . #3#))) "Gi" (menu-item "maybe-lsp-ui-peek-find-implementation" lsp-ui-peek-find-implementation :filter (lambda #1# (when (with-current-buffer #2# (and (fboundp 'lsp-ui-peek-find-implementation) (lsp-feature\? "textDocument/implementation"))) . #3#))) "Gs" (menu-item "maybe-lsp-ui-peek-find-workspace-symbol" lsp-ui-peek-find-workspace-symbol :filter (lambda #1# (when (with-current-buffer #2# (and (fboundp 'lsp-ui-peek-find-workspace-symbol) (lsp-feature\? "workspace/symbol"))) . #3#)))] 5)) #@165 Adds descriptions for `lsp-mode-map' to `which-key-mode' for the current active `major-mode', or for all major modes when ALL-MODES is t. (fn &optional ALL-MODES) (defalias 'lsp-enable-which-key-integration #[256 "\211\203\301\202\f\302\303\"\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\201@\201A\201B\201C\201D\201E\201F\201G\201H\201I\201J\201K\201L\201M\201N\201O\201P\201Q\201R\201S\201T\201U\201V\201W\201X\201Y\201Z\201Y\201[\201\\\201]\201^\201_\201`\201a\201b\201c\201d\201e\201f\201g\201h\257d!\"\207" [major-mode which-key-add-key-based-replacements apply-partially which-key-add-major-mode-key-based-replacements apply lsp--prepend-prefix "" "lsp" "s" "sessions" "s s" "start server" "s r" "restart server" "s q" "shutdown server" "s d" "describe session" "s D" "disconnect" "F" "folders" "F a" "add folder" "F r" "remove folder" "F b" "un-blacklist folder" "=" "formatting" "= r" "format region" "= =" "format buffer" "T" "toggle" "T l" "toggle lenses" "T h" "toggle highlighting" "T L" "toggle log io" "T s" "toggle signature" "T a" "toggle modeline code actions" "T S" "toggle sideline" "T d" "toggle documentation popup" "T p" "toggle signature help" "T f" "toggle on type formatting" "T T" "toggle treemacs integration" "g" "goto" "g g" "find definitions" "g r" "find references" "g i" "find implementations" "g d" "find declarations" "g t" "find type definition" "g h" "call hierarchy" "g a" "find symbol in workspace" "g A" "find symbol in all workspaces" "g e" "show errors" "h" "help" "h h" "describe symbol at point" "h s" "signature help" "r" "refactor" "r r" "rename" "r o" "organize imports" "a" "code actions" "a a" "a l" "lens" "a h" "highlight symbol" "G" "peek" "G g" "peek definitions" "G r" "peek references" "G i" "peek implementations" "G s" "peek workspace symbol"] 105 (#$ . 110128)]) #@14 (fn EVENT) (defalias 'lsp-mouse-click #[257 "\301!\302\"\303\304\305\"\"\306\211@\262!\210\307 \203!\211\310=\204&\311!b\210\312\313\314\315\316##\207" [lsp-mode-menu event-start x-popup-menu lookup-key apply vector select-window region-active-p lsp-execute-code-action posn-point run-with-idle-timer 0.001 nil make-closure #[0 "\302\300\205\303\301!\207" [V0 V1 nil call-interactively] 3]] 11 (#$ . 112197) "e"]) #@24 Keymap for `lsp-mode'. (defvar lsp-mode-map (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\203&\303\314! #\210\207" [lsp-keymap-prefix lsp-command-map make-sparse-keymap define-key [C-down-mouse-1] lsp-find-definition-mouse [C-mouse-1] ignore [mouse-3] lsp-mouse-click [100663328] lsp-signature-activate kbd] 5) (#$ . 112635)) #@85 Non-nil if Lsp mode is enabled. Use the command `lsp-mode' to change this variable. (defvar lsp-mode nil (#$ . 113015)) (make-variable-buffer-local 'lsp-mode) #@22 (fn &optional ARG) (defalias 'lsp-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [lsp-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks lsp-mode-hook lsp-mode-on-hook lsp-mode-off-hook called-interactively-p any message "Lsp mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 113180) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-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" [lsp-mode-map lsp-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-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 lsp-mode (:eval (lsp-mode-line))] 6) #@20 Menu for lsp-mode. (defvar lsp-mode-menu (byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\307\315\316\317\320\321\322\323\324\325\257\257\"\207" [easy-menu-create-menu nil ["Go to definition" lsp-find-definition :active (lsp--find-workspaces-for "textDocument/definition")] ["Find references" lsp-find-references :active (lsp--find-workspaces-for "textDocument/references")] ["Find implementations" lsp-find-implementation :active (lsp--find-workspaces-for "textDocument/implementation")] ["Find declarations" lsp-find-declaration :active (lsp--find-workspaces-for "textDocument/declaration")] ["Go to type declaration" lsp-find-type-definition :active (lsp--find-workspaces-for "textDocument/typeDefinition")] "--" ["Describe" lsp-describe-thing-at-point] ["Code action" lsp-execute-code-action] ["Format" lsp-format-buffer] ["Highlight references" lsp-document-highlight] ["Rename" lsp-rename :active (or (lsp--capability :renameProvider) (lsp--registered-capability "textDocument/rename"))] ("Session" ["View logs" lsp-workspace-show-log] ["Describe" lsp-describe-session] ["Shutdown" lsp-shutdown-workspace] ["Restart" lsp-restart-workspace]) ("Workspace Folders" ["Add" lsp-workspace-folders-add] ["Remove" lsp-workspace-folders-remove] ["Open" lsp-workspace-folders-open]) ("Toggle features" ["Lenses" lsp-lens-mode] ["Headerline breadcrumb" lsp-headerline-breadcrumb-mode] ["Modeline code actions" lsp-modeline-code-actions-mode] ["Modeline diagnostics" lsp-modeline-diagnostics-mode]) "---" "Debug" :active (bound-and-true-p dap-ui-mode) :filter #[257 "\301\233\207" [dap-ui-menu-items 3] 3 "\n\n(fn _)"]] 23) (#$ . 114297)) #@31 Construct the mode line text. (defalias 'lsp-mode-line #[0 "\300 \211\203\301\302\303\"\304\305\306#\266\202P\207\301\307\310\311\312#P\207" [lsp-workspaces " LSP" mapcar #[257 "\300\301\302!\"\207" [format "[%s]" lsp--workspace-print] 5 "\n\n(fn IT)"] nil mapconcat identity propertize "[Disconnected]" face warning] 8 (#$ . 115955)]) (defalias 'make-lsp-client 'make-lsp--client) #@85 compiler-macro for inlining `lsp--registered-capability-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--registered-capability-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--registered-capability-p (and (memq (type-of cl-x) cl-struct-lsp--registered-capability-tags) t)) nil] 9 (#$ . 116349)]) (put 'lsp--registered-capability-p 'compiler-macro 'lsp--registered-capability-p--cmacro) #@13 (fn CL-X) (defalias 'lsp--registered-capability-p #[257 "\301!>\205 \302\207" [cl-struct-lsp--registered-capability-tags type-of t] 3 (#$ . 116781)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp--registered-capability-p side-effect-free error-free put lsp--registered-capability cl-deftype-satisfies] 5) #@86 compiler-macro for inlining `lsp--registered-capability-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--registered-capability-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--registered-capability-id (progn (aref cl-x 1))) nil] 9 (#$ . 117121)]) (put 'lsp--registered-capability-id 'compiler-macro 'lsp--registered-capability-id--cmacro) #@74 Access slot "id" of `lsp--registered-capability' struct CL-X. (fn CL-X) (defalias 'lsp--registered-capability-id #[257 "\211\300H\207" [1] 3 (#$ . 117508)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--registered-capability-id side-effect-free t] 4) #@90 compiler-macro for inlining `lsp--registered-capability-method'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--registered-capability-method--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--registered-capability-method (progn (aref cl-x 2))) nil] 9 (#$ . 117778)]) (put 'lsp--registered-capability-method 'compiler-macro 'lsp--registered-capability-method--cmacro) #@78 Access slot "method" of `lsp--registered-capability' struct CL-X. (fn CL-X) (defalias 'lsp--registered-capability-method #[257 "\211\300H\207" [2] 3 (#$ . 118185)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--registered-capability-method side-effect-free t] 4) #@91 compiler-macro for inlining `lsp--registered-capability-options'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--registered-capability-options--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--registered-capability-options (progn (aref cl-x 3))) nil] 9 (#$ . 118467)]) (put 'lsp--registered-capability-options 'compiler-macro 'lsp--registered-capability-options--cmacro) #@79 Access slot "options" of `lsp--registered-capability' struct CL-X. (fn CL-X) (defalias 'lsp--registered-capability-options #[257 "\211\300H\207" [3] 3 (#$ . 118879)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp--registered-capability-options side-effect-free t defalias copy-lsp--registered-capability copy-sequence] 4) #@112 compiler-macro for inlining `make-lsp--registered-capability'. (fn CL-WHOLE &cl-quote &key ID METHOD OPTIONS) (defalias 'make-lsp--registered-capability--cmacro #[385 "\300\301\"\206\302A@\300\303\"\206\304A@\300\305\"A@\306\307\310\311\311&\207" [plist-member :id (nil "") :method (nil " ") :options cl--defsubst-expand (id method options) (cl-block make-lsp--registered-capability (record 'lsp--registered-capability id method options)) nil] 14 (#$ . 119230)]) (put 'make-lsp--registered-capability 'compiler-macro 'make-lsp--registered-capability--cmacro) #@92 Constructor for objects of type `lsp--registered-capability'. (fn &key ID METHOD OPTIONS) (defalias 'make-lsp--registered-capability #[128 "\300\301\"\206\302A@\300\303\"\206\304A@\300\305\"A@\306\307$\207" [plist-member :id (nil "") :method (nil " ") :options record lsp--registered-capability] 9 (#$ . 119812)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-lsp--registered-capability side-effect-free t cl-struct-define lsp--registered-capability nil cl-structure-object record ((cl-tag-slot) (id "") (method " ") (options nil)) cl-struct-lsp--registered-capability-tags] 11) #@73 compiler-macro for inlining `lsp--workspace-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-p (and (memq (type-of cl-x) cl-struct-lsp--workspace-tags) t)) nil] 9 (#$ . 120458)]) (put 'lsp--workspace-p 'compiler-macro 'lsp--workspace-p--cmacro) #@13 (fn CL-X) (defalias 'lsp--workspace-p #[257 "\301!>\205 \302\207" [cl-struct-lsp--workspace-tags type-of t] 3 (#$ . 120818)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp--workspace-p side-effect-free error-free put lsp--workspace cl-deftype-satisfies] 5) #@76 compiler-macro for inlining `lsp--workspace-ewoc'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-ewoc--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-ewoc (progn (aref cl-x 1))) nil] 9 (#$ . 121110)]) (put 'lsp--workspace-ewoc 'compiler-macro 'lsp--workspace-ewoc--cmacro) #@64 Access slot "ewoc" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-ewoc #[257 "\211\300H\207" [1] 3 (#$ . 121447)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-ewoc side-effect-free t] 4) #@91 compiler-macro for inlining `lsp--workspace-server-capabilities'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-server-capabilities--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-server-capabilities (progn (aref cl-x 2))) nil] 9 (#$ . 121687)]) (put 'lsp--workspace-server-capabilities 'compiler-macro 'lsp--workspace-server-capabilities--cmacro) #@79 Access slot "server-capabilities" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-server-capabilities #[257 "\211\300H\207" [2] 3 (#$ . 122099)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-server-capabilities side-effect-free t] 4) #@102 compiler-macro for inlining `lsp--workspace-registered-server-capabilities'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-registered-server-capabilities--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-registered-server-capabilities (progn (aref cl-x 3))) nil] 9 (#$ . 122385)]) (put 'lsp--workspace-registered-server-capabilities 'compiler-macro 'lsp--workspace-registered-server-capabilities--cmacro) #@90 Access slot "registered-server-capabilities" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-registered-server-capabilities #[257 "\211\300H\207" [3] 3 (#$ . 122852)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-registered-server-capabilities side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--workspace-root'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-root--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-root (progn (aref cl-x 4))) nil] 9 (#$ . 123170)]) (put 'lsp--workspace-root 'compiler-macro 'lsp--workspace-root--cmacro) #@64 Access slot "root" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-root #[257 "\211\300H\207" [4] 3 (#$ . 123507)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-root side-effect-free t] 4) #@78 compiler-macro for inlining `lsp--workspace-client'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-client--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-client (progn (aref cl-x 5))) nil] 9 (#$ . 123747)]) (put 'lsp--workspace-client 'compiler-macro 'lsp--workspace-client--cmacro) #@66 Access slot "client" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-client #[257 "\211\300H\207" [5] 3 (#$ . 124094)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-client side-effect-free t] 4) #@81 compiler-macro for inlining `lsp--workspace-host-root'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-host-root--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-host-root (progn (aref cl-x 6))) nil] 9 (#$ . 124340)]) (put 'lsp--workspace-host-root 'compiler-macro 'lsp--workspace-host-root--cmacro) #@69 Access slot "host-root" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-host-root #[257 "\211\300H\207" [6] 3 (#$ . 124702)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-host-root side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--workspace-proc'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-proc--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-proc (progn (aref cl-x 7))) nil] 9 (#$ . 124957)]) (put 'lsp--workspace-proc 'compiler-macro 'lsp--workspace-proc--cmacro) #@64 Access slot "proc" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-proc #[257 "\211\300H\207" [7] 3 (#$ . 125294)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-proc side-effect-free t] 4) #@80 compiler-macro for inlining `lsp--workspace-cmd-proc'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-cmd-proc--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-cmd-proc (progn (aref cl-x 8))) nil] 9 (#$ . 125534)]) (put 'lsp--workspace-cmd-proc 'compiler-macro 'lsp--workspace-cmd-proc--cmacro) #@68 Access slot "cmd-proc" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-cmd-proc #[257 "\211\300H\207" [8] 3 (#$ . 125891)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-cmd-proc side-effect-free t] 4) #@79 compiler-macro for inlining `lsp--workspace-buffers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-buffers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-buffers (progn (aref cl-x 9))) nil] 9 (#$ . 126143)]) (put 'lsp--workspace-buffers 'compiler-macro 'lsp--workspace-buffers--cmacro) #@67 Access slot "buffers" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-buffers #[257 "\211\300H\207" [9] 3 (#$ . 126495)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-buffers side-effect-free t] 4) #@99 compiler-macro for inlining `lsp--workspace-semantic-highlighting-faces'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-semantic-highlighting-faces--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-semantic-highlighting-faces (progn (aref cl-x 10))) nil] 9 (#$ . 126744)]) (put 'lsp--workspace-semantic-highlighting-faces 'compiler-macro 'lsp--workspace-semantic-highlighting-faces--cmacro) #@87 Access slot "semantic-highlighting-faces" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-semantic-highlighting-faces #[257 "\211\300H\207" [10] 3 (#$ . 127197)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-semantic-highlighting-faces side-effect-free t] 4) #@108 compiler-macro for inlining `lsp--workspace-semantic-highlighting-modifier-faces'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-semantic-highlighting-modifier-faces--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-semantic-highlighting-modifier-faces (progn (aref cl-x 11))) nil] 9 (#$ . 127508)]) (put 'lsp--workspace-semantic-highlighting-modifier-faces 'compiler-macro 'lsp--workspace-semantic-highlighting-modifier-faces--cmacro) #@96 Access slot "semantic-highlighting-modifier-faces" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-semantic-highlighting-modifier-faces #[257 "\211\300H\207" [11] 3 (#$ . 128006)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-semantic-highlighting-modifier-faces side-effect-free t] 4) #@97 compiler-macro for inlining `lsp--workspace-extra-client-capabilities'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-extra-client-capabilities--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-extra-client-capabilities (progn (aref cl-x 12))) nil] 9 (#$ . 128343)]) (put 'lsp--workspace-extra-client-capabilities 'compiler-macro 'lsp--workspace-extra-client-capabilities--cmacro) #@85 Access slot "extra-client-capabilities" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-extra-client-capabilities #[257 "\211\300H\207" [12] 3 (#$ . 128786)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-extra-client-capabilities side-effect-free t] 4) #@78 compiler-macro for inlining `lsp--workspace-status'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-status--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-status (progn (aref cl-x 13))) nil] 9 (#$ . 129090)]) (put 'lsp--workspace-status 'compiler-macro 'lsp--workspace-status--cmacro) #@66 Access slot "status" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-status #[257 "\211\300H\207" [13] 3 (#$ . 129438)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-status side-effect-free t] 4) #@80 compiler-macro for inlining `lsp--workspace-metadata'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-metadata--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-metadata (progn (aref cl-x 14))) nil] 9 (#$ . 129685)]) (put 'lsp--workspace-metadata 'compiler-macro 'lsp--workspace-metadata--cmacro) #@68 Access slot "metadata" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-metadata #[257 "\211\300H\207" [14] 3 (#$ . 130043)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-metadata side-effect-free t] 4) #@79 compiler-macro for inlining `lsp--workspace-watches'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-watches--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-watches (progn (aref cl-x 15))) nil] 9 (#$ . 130296)]) (put 'lsp--workspace-watches 'compiler-macro 'lsp--workspace-watches--cmacro) #@67 Access slot "watches" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-watches #[257 "\211\300H\207" [15] 3 (#$ . 130649)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-watches side-effect-free t] 4) #@89 compiler-macro for inlining `lsp--workspace-workspace-folders'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-workspace-folders--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-workspace-folders (progn (aref cl-x 16))) nil] 9 (#$ . 130899)]) (put 'lsp--workspace-workspace-folders 'compiler-macro 'lsp--workspace-workspace-folders--cmacro) #@77 Access slot "workspace-folders" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-workspace-folders #[257 "\211\300H\207" [16] 3 (#$ . 131302)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-workspace-folders side-effect-free t] 4) #@79 compiler-macro for inlining `lsp--workspace-last-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-last-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-last-id (progn (aref cl-x 17))) nil] 9 (#$ . 131582)]) (put 'lsp--workspace-last-id 'compiler-macro 'lsp--workspace-last-id--cmacro) #@67 Access slot "last-id" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-last-id #[257 "\211\300H\207" [17] 3 (#$ . 131935)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-last-id side-effect-free t] 4) #@85 compiler-macro for inlining `lsp--workspace-status-string'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-status-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-status-string (progn (aref cl-x 18))) nil] 9 (#$ . 132185)]) (put 'lsp--workspace-status-string 'compiler-macro 'lsp--workspace-status-string--cmacro) #@73 Access slot "status-string" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-status-string #[257 "\211\300H\207" [18] 3 (#$ . 132568)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-status-string side-effect-free t] 4) #@87 compiler-macro for inlining `lsp--workspace-shutdown-action'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-shutdown-action--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-shutdown-action (progn (aref cl-x 19))) nil] 9 (#$ . 132836)]) (put 'lsp--workspace-shutdown-action 'compiler-macro 'lsp--workspace-shutdown-action--cmacro) #@75 Access slot "shutdown-action" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-shutdown-action #[257 "\211\300H\207" [19] 3 (#$ . 133229)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-shutdown-action side-effect-free t] 4) #@83 compiler-macro for inlining `lsp--workspace-diagnostics'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-diagnostics--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-diagnostics (progn (aref cl-x 20))) nil] 9 (#$ . 133503)]) (put 'lsp--workspace-diagnostics 'compiler-macro 'lsp--workspace-diagnostics--cmacro) #@71 Access slot "diagnostics" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-diagnostics #[257 "\211\300H\207" [20] 3 (#$ . 133876)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--workspace-diagnostics side-effect-free t] 4) #@88 compiler-macro for inlining `lsp--workspace-work-done-tokens'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--workspace-work-done-tokens--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--workspace-work-done-tokens (progn (aref cl-x 21))) nil] 9 (#$ . 134138)]) (put 'lsp--workspace-work-done-tokens 'compiler-macro 'lsp--workspace-work-done-tokens--cmacro) #@76 Access slot "work-done-tokens" of `lsp--workspace' struct CL-X. (fn CL-X) (defalias 'lsp--workspace-work-done-tokens #[257 "\211\300H\207" [21] 3 (#$ . 134536)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp--workspace-work-done-tokens side-effect-free t defalias copy-lsp--workspace copy-sequence] 4) #@382 compiler-macro for inlining `make-lsp--workspace'. (fn CL-WHOLE &cl-quote &key EWOC SERVER-CAPABILITIES REGISTERED-SERVER-CAPABILITIES ROOT CLIENT HOST-ROOT PROC CMD-PROC BUFFERS SEMANTIC-HIGHLIGHTING-FACES SEMANTIC-HIGHLIGHTING-MODIFIER-FACES EXTRA-CLIENT-CAPABILITIES STATUS METADATA WATCHES WORKSPACE-FOLDERS LAST-ID STATUS-STRING SHUTDOWN-ACTION DIAGNOSTICS WORK-DONE-TOKENS) (defalias 'make-lsp--workspace--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\300 \311\"A@\300\n\312\"A@\300 \313\"A@\300\f\314\"A@\300 \315\"A@\300\316\"\206_\317A@\300\320\"\206j\321A@\300\322\"A@\300\323\"\206|\324A@\300\325\"A@\300\326\"A@\300\327\"\206\225\330A@\300\331\"\206\240\332A@\333\334\335\336\336&\207" [plist-member :ewoc :server-capabilities :registered-server-capabilities :root :client :host-root :proc :cmd-proc :buffers :semantic-highlighting-faces :semantic-highlighting-modifier-faces :extra-client-capabilities :status :metadata (nil (make-hash-table :test 'equal)) :watches (nil (make-hash-table :test 'equal)) :workspace-folders :last-id (nil 0) :status-string :shutdown-action :diagnostics (nil (make-hash-table :test 'equal)) :work-done-tokens (nil (make-hash-table :test 'equal)) cl--defsubst-expand (ewoc server-capabilities registered-server-capabilities root client host-root proc cmd-proc buffers semantic-highlighting-faces semantic-highlighting-modifier-faces extra-client-capabilities status metadata watches workspace-folders last-id status-string shutdown-action diagnostics work-done-tokens) (cl-block make-lsp--workspace (record 'lsp--workspace ewoc server-capabilities registered-server-capabilities root client host-root proc cmd-proc buffers semantic-highlighting-faces semantic-highlighting-modifier-faces extra-client-capabilities status metadata watches workspace-folders last-id status-string shutdown-action diagnostics work-done-tokens)) nil] 50 (#$ . 134867)]) (put 'make-lsp--workspace 'compiler-macro 'make-lsp--workspace--cmacro) #@362 Constructor for objects of type `lsp--workspace'. (fn &key EWOC SERVER-CAPABILITIES REGISTERED-SERVER-CAPABILITIES ROOT CLIENT HOST-ROOT PROC CMD-PROC BUFFERS SEMANTIC-HIGHLIGHTING-FACES SEMANTIC-HIGHLIGHTING-MODIFIER-FACES EXTRA-CLIENT-CAPABILITIES STATUS METADATA WATCHES WORKSPACE-FOLDERS LAST-ID STATUS-STRING SHUTDOWN-ACTION DIAGNOSTICS WORK-DONE-TOKENS) (defalias 'make-lsp--workspace #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\300 \311\"A@\300\n\312\"A@\300 \313\"A@\300\f\314\"A@\300 \315\"A@\300\316\"\206d\317\320\321\322\"DA@\300\323\"\206t\317\320\321\322\"DA@\300\324\"A@\300\325\"\206\206\326A@\300\327\"A@\300\330\"A@\300\331\"\206\244\317\320\321\322\"DA@\300\332\"\206\264\317\320\321\322\"DA@\333\334&\207" [plist-member :ewoc :server-capabilities :registered-server-capabilities :root :client :host-root :proc :cmd-proc :buffers :semantic-highlighting-faces :semantic-highlighting-modifier-faces :extra-client-capabilities :status :metadata nil make-hash-table :test equal :watches :workspace-folders :last-id (nil 0) :status-string :shutdown-action :diagnostics :work-done-tokens record lsp--workspace] 45 (#$ . 136985)]) (cl-struct-define 'lsp--workspace nil 'cl-structure-object 'record nil '((cl-tag-slot) (ewoc nil) (server-capabilities nil) (registered-server-capabilities nil) (root nil) (client nil) (host-root nil) (proc nil) (cmd-proc nil) (buffers nil) (semantic-highlighting-faces nil) (semantic-highlighting-modifier-faces nil) (extra-client-capabilities nil) (status nil) (metadata (make-hash-table :test 'equal)) (watches (make-hash-table :test 'equal)) (workspace-folders nil) (last-id 0) (status-string nil) (shutdown-action) (diagnostics (make-hash-table :test 'equal)) (work-done-tokens (make-hash-table :test 'equal))) 'cl-struct-lsp--workspace-tags 'lsp--workspace t) #@70 compiler-macro for inlining `lsp-session-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-p (and (memq (type-of cl-x) cl-struct-lsp-session-tags) t)) nil] 9 (#$ . 138941)]) (put 'lsp-session-p 'compiler-macro 'lsp-session-p--cmacro) #@13 (fn CL-X) (defalias 'lsp-session-p #[257 "\301!>\205 \302\207" [cl-struct-lsp-session-tags type-of t] 3 (#$ . 139283)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp-session-p side-effect-free error-free put lsp-session cl-deftype-satisfies] 5) #@76 compiler-macro for inlining `lsp-session-folders'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-folders--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-folders (progn (aref cl-x 1))) nil] 9 (#$ . 139563)]) (put 'lsp-session-folders 'compiler-macro 'lsp-session-folders--cmacro) #@64 Access slot "folders" of `lsp-session' struct CL-X. (fn CL-X) (defalias 'lsp-session-folders #[257 "\211\300H\207" [1] 3 (#$ . 139900)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp-session-folders side-effect-free t] 4) #@86 compiler-macro for inlining `lsp-session-folders-blacklist'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-folders-blacklist--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-folders-blacklist (progn (aref cl-x 2))) nil] 9 (#$ . 140140)]) (put 'lsp-session-folders-blacklist 'compiler-macro 'lsp-session-folders-blacklist--cmacro) #@74 Access slot "folders-blacklist" of `lsp-session' struct CL-X. (fn CL-X) (defalias 'lsp-session-folders-blacklist #[257 "\211\300H\207" [2] 3 (#$ . 140527)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp-session-folders-blacklist side-effect-free t] 4) #@87 compiler-macro for inlining `lsp-session-server-id->folders'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-server-id->folders--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-server-id->folders (progn (aref cl-x 3))) nil] 9 (#$ . 140797)]) (put 'lsp-session-server-id->folders 'compiler-macro 'lsp-session-server-id->folders--cmacro) #@75 Access slot "server-id->folders" of `lsp-session' struct CL-X. (fn CL-X) (defalias 'lsp-session-server-id->folders #[257 "\211\300H\207" [3] 3 (#$ . 141189)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp-session-server-id->folders side-effect-free t] 4) #@84 compiler-macro for inlining `lsp-session-folder->servers'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-folder->servers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-folder->servers (progn (aref cl-x 4))) nil] 9 (#$ . 141462)]) (put 'lsp-session-folder->servers 'compiler-macro 'lsp-session-folder->servers--cmacro) #@72 Access slot "folder->servers" of `lsp-session' struct CL-X. (fn CL-X) (defalias 'lsp-session-folder->servers #[257 "\211\300H\207" [4] 3 (#$ . 141839)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp-session-folder->servers side-effect-free t] 4) #@77 compiler-macro for inlining `lsp-session-metadata'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp-session-metadata--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp-session-metadata (progn (aref cl-x 5))) nil] 9 (#$ . 142103)]) (put 'lsp-session-metadata 'compiler-macro 'lsp-session-metadata--cmacro) #@65 Access slot "metadata" of `lsp-session' struct CL-X. (fn CL-X) (defalias 'lsp-session-metadata #[257 "\211\300H\207" [5] 3 (#$ . 142445)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp-session-metadata side-effect-free t defalias copy-lsp-session copy-sequence] 4) #@149 compiler-macro for inlining `make-lsp-session'. (fn CL-WHOLE &cl-quote &key FOLDERS FOLDERS-BLACKLIST SERVER-ID->FOLDERS FOLDER->SERVERS METADATA) (defalias 'make-lsp-session--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"\206\304A@\300\305\"\206\306A@\300\307\"\206(\310A@\311\312\313\314\n\314\n\n\n\n\n&\n\207" [plist-member :folders :folders-blacklist :server-id->folders (nil (make-hash-table :test 'equal)) :folder->servers (nil (make-hash-table :test 'equal)) :metadata (nil (make-hash-table :test 'equal)) cl--defsubst-expand (folders folders-blacklist server-id->folders folder->servers metadata) (cl-block make-lsp-session (record 'lsp-session folders folders-blacklist server-id->folders folder->servers metadata)) nil] 18 (#$ . 142739)]) (put 'make-lsp-session 'compiler-macro 'make-lsp-session--cmacro) #@129 Constructor for objects of type `lsp-session'. (fn &key FOLDERS FOLDERS-BLACKLIST SERVER-ID->FOLDERS FOLDER->SERVERS METADATA) (defalias 'make-lsp-session #[128 "\300\301\"A@\300\302\"A@\300\303\"\206\304\305\306\307\"DA@\300\310\"\206(\304\305\306\307\"DA@\300\311\"\2067\304\305\306\307\"DA@\312\313&\207" [plist-member :folders :folders-blacklist :server-id->folders nil make-hash-table :test equal :folder->servers :metadata record lsp-session] 13 (#$ . 143581)]) (cl-struct-define 'lsp-session nil 'cl-structure-object 'record nil '((cl-tag-slot) (folders) (folders-blacklist) (server-id->folders (make-hash-table :test 'equal)) (folder->servers (make-hash-table :test 'equal)) (metadata (make-hash-table :test 'equal))) 'cl-struct-lsp-session-tags 'lsp-session t) #@150 Set current workspace status to STATUS-STRING. If WORKSPACE is not specified defaults to lsp--cur-workspace. (fn STATUS-STRING &optional WORKSPACE) (defalias 'lsp-workspace-status #[513 "\205 \301\302\303#\206\211\304I\207" [lsp--cur-workspace replace-regexp-in-string "%" "%%" 18] 7 (#$ . 144379)]) #@150 Associate KEY with VALUE in the WORKSPACE metadata. If WORKSPACE is not provided current workspace will be used. (fn KEY VALUE &optional WORKSPACE) (defalias 'lsp-session-set-metadata #[770 "\300\301 \211\302H\262#\207" [puthash lsp-session 5] 9 (#$ . 144695)]) (defalias 'lsp-workspace-set-metadata 'lsp-session-set-metadata) #@126 Lookup KEY in WORKSPACE metadata. If WORKSPACE is not provided current workspace will be used. (fn KEY &optional WORKSPACE) (defalias 'lsp-session-get-metadata #[513 "\300\301 \211\302H\262\"\207" [gethash lsp-session 5] 7 (#$ . 145033)]) (defalias 'lsp-workspace-get-metadata 'lsp-session-get-metadata) #@162 Associate TOKEN with VALUE in the WORKSPACE work-done-tokens. If WORKSPACE is not provided current workspace will be used. (fn TOKEN VALUE &optional WORKSPACE) (defalias 'lsp-workspace-set-work-done-token #[770 "\301\206\302H#\207" [lsp--cur-workspace puthash 21] 8 (#$ . 145347)]) #@142 Lookup TOKEN in the WORKSPACE work-done-tokens. If WORKSPACE is not provided current workspace will be used. (fn TOKEN &optional WORKSPACE) (defalias 'lsp-workspace-get-work-done-token #[513 "\301\206\302H\"\207" [lsp--cur-workspace gethash 21] 6 (#$ . 145643)]) #@144 Remove TOKEN from the WORKSPACE work-done-tokens. If WORKSPACE is not provided current workspace will be used. (fn TOKEN &optional WORKSPACE) (defalias 'lsp-workspace-rem-work-done-token #[513 "\301\206\302H\"\207" [lsp--cur-workspace remhash 21] 6 (#$ . 145919)]) #@97 Create notification body for method METHOD and parameters PARAMS. (fn METHOD &optional PARAMS) (defalias 'lsp--make-notification #[513 "\300\301\302\303\257\207" [:jsonrpc "2.0" :method :params] 8 (#$ . 146196)]) (byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias lsp--make-request lsp--make-notification lsp-make-request] 3) #@58 Create response for REQUEST with RESULT. (fn ID RESULT) (defalias 'lsp--make-response #[514 "\300\301\302\303\257\207" [:jsonrpc "2.0" :id :result] 8 (#$ . 146541)]) #@97 Create notification body for method METHOD and parameters PARAMS. (fn METHOD &optional PARAMS) (defalias 'lsp-make-notification #[513 "\300\"\207" [lsp--make-notification] 5 (#$ . 146717)]) #@15 (fn PARAMS) (defalias 'lsp--json-serialize '(macro . #[257 "\300\301!\210\302\303!\203\303\304BB\207\305\306\307DE\207" [require json fboundp json-serialize (:null-object nil :false-object :json-false) let ((json-false :json-false)) json-encode] 5 (#$ . 146916)])) #@84 Create a LSP message from PARAMS, after encoding it to a JSON string. (fn PARAMS) (defalias 'lsp--make-message #[257 "\300\301\302\303\304%\305\306\307!T!\310\311\260\207" [json-serialize :null-object nil :false-object :json-false "Content-Length: " number-to-string string-bytes " \n \n" "\n"] 7 (#$ . 147193)]) #@73 compiler-macro for inlining `lsp--log-entry-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-p (and (memq (type-of cl-x) cl-struct-lsp--log-entry-tags) t)) nil] 9 (#$ . 147517)]) (put 'lsp--log-entry-p 'compiler-macro 'lsp--log-entry-p--cmacro) #@13 (fn CL-X) (defalias 'lsp--log-entry-p #[257 "\301!>\205 \302\207" [cl-struct-lsp--log-entry-tags type-of t] 3 (#$ . 147877)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put lsp--log-entry-p side-effect-free error-free put lsp--log-entry cl-deftype-satisfies] 5) #@81 compiler-macro for inlining `lsp--log-entry-timestamp'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-timestamp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-timestamp (progn (aref cl-x 1))) nil] 9 (#$ . 148169)]) (put 'lsp--log-entry-timestamp 'compiler-macro 'lsp--log-entry-timestamp--cmacro) #@69 Access slot "timestamp" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-timestamp #[257 "\211\300H\207" [1] 3 (#$ . 148531)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--log-entry-timestamp side-effect-free t] 4) #@84 compiler-macro for inlining `lsp--log-entry-process-time'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-process-time--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-process-time (progn (aref cl-x 2))) nil] 9 (#$ . 148786)]) (put 'lsp--log-entry-process-time 'compiler-macro 'lsp--log-entry-process-time--cmacro) #@72 Access slot "process-time" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-process-time #[257 "\211\300H\207" [2] 3 (#$ . 149163)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--log-entry-process-time side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--log-entry-type'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-type (progn (aref cl-x 3))) nil] 9 (#$ . 149427)]) (put 'lsp--log-entry-type 'compiler-macro 'lsp--log-entry-type--cmacro) #@64 Access slot "type" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-type #[257 "\211\300H\207" [3] 3 (#$ . 149764)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--log-entry-type side-effect-free t] 4) #@78 compiler-macro for inlining `lsp--log-entry-method'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-method--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-method (progn (aref cl-x 4))) nil] 9 (#$ . 150004)]) (put 'lsp--log-entry-method 'compiler-macro 'lsp--log-entry-method--cmacro) #@66 Access slot "method" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-method #[257 "\211\300H\207" [4] 3 (#$ . 150351)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--log-entry-method side-effect-free t] 4) #@74 compiler-macro for inlining `lsp--log-entry-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-id (progn (aref cl-x 5))) nil] 9 (#$ . 150597)]) (put 'lsp--log-entry-id 'compiler-macro 'lsp--log-entry-id--cmacro) #@62 Access slot "id" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-id #[257 "\211\300H\207" [5] 3 (#$ . 150924)]) (byte-code "\300\301\302\303#\300\207" [function-put lsp--log-entry-id side-effect-free t] 4) #@76 compiler-macro for inlining `lsp--log-entry-body'. (fn CL-WHOLE-ARG CL-X) (defalias 'lsp--log-entry-body--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block lsp--log-entry-body (progn (aref cl-x 6))) nil] 9 (#$ . 151158)]) (put 'lsp--log-entry-body 'compiler-macro 'lsp--log-entry-body--cmacro) #@64 Access slot "body" of `lsp--log-entry' struct CL-X. (fn CL-X) (defalias 'lsp--log-entry-body #[257 "\211\300H\207" [6] 3 (#$ . 151495)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put lsp--log-entry-body side-effect-free t defalias copy-lsp--log-entry copy-sequence] 4) #@125 compiler-macro for inlining `make-lsp--log-entry'. (fn CL-WHOLE &cl-quote &key TIMESTAMP PROCESS-TIME TYPE METHOD ID BODY) (defalias 'make-lsp--log-entry--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\307\310\311\312 \312      & \207" [plist-member :timestamp :process-time :type :method :id :body cl--defsubst-expand (timestamp process-time type method id body) (cl-block make-lsp--log-entry (record 'lsp--log-entry timestamp process-time type method id body)) nil] 20 (#$ . 151789)]) (put 'make-lsp--log-entry 'compiler-macro 'make-lsp--log-entry--cmacro) #@105 Constructor for objects of type `lsp--log-entry'. (fn &key TIMESTAMP PROCESS-TIME TYPE METHOD ID BODY) (defalias 'make-lsp--log-entry #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\307\310&\207" [plist-member :timestamp :process-time :type :method :id :body record lsp--log-entry] 15 (#$ . 152410)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-lsp--log-entry side-effect-free t cl-struct-define lsp--log-entry nil cl-structure-object record ((cl-tag-slot) (timestamp) (process-time) (type) (method) (id) (body)) cl-struct-lsp--log-entry-tags] 11) #@227 Create an outgoing log object from BODY with method METHOD and id ID. If ID is non-nil, then the body is assumed to be a notification. TYPE can either be 'incoming or 'outgoing (fn METHOD ID BODY TYPE &optional PROCESS-TIME) (defalias 'lsp--make-log-entry #[1284 "\300\301\302\303!   &\207" [record lsp--log-entry format-time-string "%I:%M:%S %p"] 13 (#$ . 153070)]) #@14 (fn ENTRY) (defalias 'lsp--log-entry-pp #[257 "\211\302\303\304\305!\210\306H\307H\310H\311H\312H\313H\314\315\"\316\267\202n\314\317#\202o\314\320#\202o\314\321\"\202o\314\322\"\202o\314\323$\202o\314\324$\202o\304\325\326>\203z\327\202{\330\331!\332\260\262 \333 \334\335\336\303%\262 \fc\266\214*\207" [json-encoding-pretty-print json-false :json-false t nil type-of 1 4 5 3 2 6 format "[Trace - %s] " #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (incoming-req 50 outgoing-req 60 incoming-notif 70 outgoing-notif 78 incoming-resp 86 outgoing-resp 98)) "Received request '%s - (%s)." "Sending request '%s - (%s)'." "Received notification '%s'." "Sending notification '%s'." "Received response '%s - (%s)' in %dms." "Sending response '%s - (%s)'. Processing request took %dms" "\n" (incoming-resp ougoing-resp) "Result: " "Params: " json-encode "\n\n\n" propertize mouse-face highlight read-only] 23 (#$ . 153450)]) (defvar lsp--log-io-ewoc nil nil) (make-variable-buffer-local 'lsp--log-io-ewoc) #@18 (fn WORKSPACE) (defalias 'lsp--get-create-io-ewoc #[257 "\211\303H\203\304\305\303H!!\203\211\303H\207r\306!q\210\307=\204#\307 \210\310\301!\210\311\312\313\314\211\311$\211\211\303\nI\266)\211\303H\207" [major-mode window-point-insertion-type lsp--log-io-ewoc 1 buffer-live-p ewoc-buffer lsp--get-log-buffer-create lsp-log-io-mode make-local-variable t ewoc-create lsp--log-entry-pp nil] 6 (#$ . 154557)]) #@13 (fn EWOC) (defalias 'lsp--ewoc-count #[257 "\300C\301\302\"\303\"\210\242\207" [0 make-closure #[257 "\300\211\242T\240\207" [V0] 3 "\n\n(fn _)"] ewoc-map] 6 (#$ . 154984)]) #@24 (fn ENTRY WORKSPACE) (defalias 'lsp--log-entry-new #[514 "\302!\303=?\205 \304!\303=\206Y?\205\305S\"\306\303\2037\307\"\262\310\"\210\211\262\202\"\311\")\207" [lsp-io-messages-max inhibit-read-only lsp--get-create-io-ewoc t lsp--ewoc-count ewoc-nth nil ewoc-prev ewoc-delete ewoc-enter-last] 9 (#$ . 155170)]) #@64 Send BODY as a notification to the language server. (fn BODY) (defalias 'lsp--send-notification #[257 "\300\301\302\"\303 \"\207" [mapcar make-closure #[257 "\211\n\203\303\304\305\300\306\"\307\305\300\310\"\311$ \"\210\312\313\300! \314H\")\207" [V0 lsp--cur-workspace lsp-print-io lsp--log-entry-new lsp--make-log-entry plist-get :method nil :params outgoing-notif lsp--send-no-wait lsp--make-message 7] 8 "\n\n(fn IT)"] lsp-workspaces] 5 (#$ . 155516)]) (defalias 'lsp-send-notification 'lsp--send-notification) #@59 Send notification METHOD with PARAMS. (fn METHOD PARAMS) (defalias 'lsp-notify #[514 "\300\301\"!\207" [lsp--send-notification lsp--make-notification] 6 (#$ . 156043)]) #@48 Check whether buffer lsp workspace(s) are set. (defalias 'lsp--cur-workspace-check #[0 "\300\207" [nil] 1 (#$ . 156221)]) #@252 Send BODY as a request to the language server, get the response. If NO-WAIT is non-nil, don't synchronously wait for a response. If NO-MERGE is non-nil, don't merge the results but return alist workspace->result. (fn BODY &optional NO-WAIT NO-MERGE) (defalias 'lsp--send-request #[769 "\300\301\302\"\301\303\"\304\305&\207" [lsp-request plist-get :method :params :no-wait :no-merge] 10 (#$ . 156350)]) (defalias 'lsp-send-request 'lsp--send-request "Send BODY as a request to the language server and return the response synchronously.\n\n(fn BODY)") #@216 Send request METHOD with PARAMS. If NO-MERGE is non-nil, don't merge the results but return alist workspace->result. If NO-WAIT is non-nil send the request as notification. (fn METHOD PARAMS &key NO-WAIT NO-MERGE) (defalias 'lsp-request #[642 "\301\302\"A@\301\303\"A@\203\304\"\207\305\306 !\211\\\307C\307C\307C\310\311\"\216\312\n\n\310\313\"\314\310\315\"\303\f\316\317\320\321& \210\242\204b\242\204b\322\307\323\"\210\305\306 !W\203A\324\325 \"\210\202A\211\326\240\210\242\327=\203q\307\202\222\242\203{\242\202\222\330\242!\203\213\324\331\242!!\202\222\324\331\242@!!)\207" [lsp-response-timeout plist-member :no-wait :no-merge lsp-notify time-to-seconds current-time nil make-closure #[0 "\300\242?\205 \301\302!\207" [V0 lsp-cancel-request-by-token :sync-request] 2] lsp-request-async #[257 "\300\206\301\240\207" [V0 :finished] 3 "\n\n(fn RES)"] :error-handler #[257 "\300\240\207" [V0] 3 "\n\n(fn ERR)"] :mode detached :cancel-token :sync-request accept-process-output 0.001 error "Timeout while waiting for response. Method: %s." t :finished lsp-json-error\? lsp:json-error-message] 22 (#$ . 156915)]) #@88 Send request METHOD with PARAMS and waits until there is no input. (fn METHOD PARAMS) (defalias 'lsp-request-while-no-input #[514 "\300C\300C\300C\301\302\"\216\303\301\304\"\305\301\306\"\307\310\311\312& \210\242\2047\242\2047\313 \2047\314\300\315\"\210\202 \211\316\240\210\242\317=\203F\300\202p\242\203P\242\202p\320\242!\203`\321\322\242!!\202p\313 \203i\300\202p\321\322\242@!!)\207" [nil make-closure #[0 "\300\242?\205 \301\302!\207" [V0 lsp-cancel-request-by-token :sync-request] 2] lsp-request-async #[257 "\300\206\301\240\207" [V0 :finished] 3 "\n\n(fn RES)"] :error-handler #[257 "\300\240\207" [V0] 3 "\n\n(fn ERR)"] :mode detached :cancel-token :sync-request input-pending-p accept-process-output 0.001 t :finished lsp-json-error\? error lsp:json-error-message] 15 (#$ . 158079)]) (defvar lsp--cancelable-requests (make-hash-table :test 'equal)) #@1111 Send METHOD with PARAMS as a request to the language server. Call CALLBACK with the response received from the server asynchronously. MODE determines when the callback will be called depending on the condition of the original buffer. It could be: - `detached' which means that the callback will be executed no matter what has happened to the buffer. - `alive' - the callback will be executed only if the buffer from which the call was executed is still alive. - `current' the callback will be executed only if the original buffer is still selected. - `tick' - the callback will be executed only if the buffer was not modified. - `unchanged' - the callback will be executed only if the buffer hasn't changed and if the buffer is not modified. ERROR-HANDLER will be called in case the request has failed. CANCEL-HANDLER will be called in case the request is being canceled. If NO-MERGE is non-nil, don't merge the results but return alist workspace->result. CANCEL-TOKEN is the token that can be used to cancel request. (fn METHOD PARAMS CALLBACK &key MODE ERROR-HANDLER CANCEL-HANDLER NO-MERGE CANCEL-TOKEN) (defalias 'lsp-request-async #[899 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\306\307\310\311\f\312 \257&\207" [plist-member :mode :error-handler :cancel-handler :no-merge :cancel-token lsp--send-request-async :jsonrpc "2.0" :method :params] 17 (#$ . 158983)]) #@54 (fn ID WORKSPACES HOOK BUF METHOD CANCEL-CALLBACK) (defalias 'lsp--create-request-cancel #[1542 "\300\301&\207" [make-closure #[128 "\302\306=\205 p\303\232?\205&\307\300!\210\301 \310\300!\210\305\203\305 \210)\311\312\304\300\302$\207" [V0 V1 V2 V3 V4 V5 post-command-hook lsp--request-cleanup-hooks lsp--cancel-request lsp-log "Cancelling %s(%s) in hook %s" lsp--buffer-workspaces] 6 "\n\n(fn &rest _)"]] 14 (#$ . 160400)]) #@356 Create async handler expecting COUNT results, merge them and call CALLBACK. MODE determines when the callback will be called depending on the condition of the original buffer. METHOD is the invoked method. If NO-MERGE is non-nil, don't merge the results but return alist workspace->result. ID is the request id. (fn CALLBACK METHOD NO-MERGE WORKSPACES) (defalias 'lsp--create-async-callback #[1028 "\300C\300C\301\302&\207" [nil make-closure #[257 "\nB\306=\203\305\305\242B\240\266\202\304\304\242B\240\266\305\242G\303G=?\205G\305\242G\304\242G\\\303G=\205G\300\302\203>\304\242\202F\307\310\311\304\242\"\301\"!\207" [V0 V1 V2 V3 V4 V5 :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 "\n\n(fn RESULT)"]] 14 (#$ . 160854)]) #@68 Default error handler. METHOD is the executed method. (fn METHOD) (defalias 'lsp--create-default-error-handler #[257 "\300\301\"\207" [make-closure #[257 "\301\302\303!\206\f\304\305\300\"\"\207" [V0 lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 "\n\n(fn ERROR)"]] 4 (#$ . 161629)]) (defvar lsp--request-cleanup-hooks (make-hash-table :test 'equal)) #@19 (fn REQUEST-ID) (defalias 'lsp--request-cleanup-hooks #[257 "\301\"\211\205\211 \210\302\"\207" [lsp--request-cleanup-hooks gethash remhash] 5 (#$ . 162010)]) #@55 Cancel request using CANCEL-TOKEN. (fn CANCEL-TOKEN) (defalias 'lsp-cancel-request-by-token #[257 "\302\"\211\205*\211A\262\242\211\205(\211\205&\211\303!\210)\304\"\210\305!\262\262\207" [lsp--cancelable-requests lsp--buffer-workspaces gethash lsp--cancel-request remhash lsp--request-cleanup-hooks] 7 (#$ . 162183)]) #@1097 Send BODY as a request to the language server. Call CALLBACK with the response received from the server asynchronously. MODE determines when the callback will be called depending on the condition of the original buffer. It could be: - `detached' which means that the callback will be executed no matter what has happened to the buffer. - `alive' - the callback will be executed only if the buffer from which the call was executed is still alive. - `current' the callback will be executed only if the original buffer is still selected. - `tick' - the callback will be executed only if the buffer was not modified. - `unchanged' - the callback will be executed only if the buffer hasn't changed and if the buffer is not modified. ERROR-CALLBACK will be called in case the request has failed. CANCEL-CALLBACK will be called in case the request is being canceled. If NO-MERGE is non-nil, don't merge the results but return alist workspace->result. CANCEL-TOKEN is the token that can be used to cancel request. (fn BODY CALLBACK &optional MODE ERROR-CALLBACK CANCEL-CALLBACK NO-MERGE CANCEL-TOKEN) (defalias 'lsp--send-request-async #[1794 "\211\203\304!\210\305!\211\203\341\306 \307 \310\"T\211\311\267\2022\312\2023\313\2023\314\2023\315\2023\316p\317\320\n  & \321>\203V\317\322#\202X\f\323\f $\317\324#\323\206q\325 ! \316 $\317\326 $\205\226\327>\203\224\317\330 #\202\226\331\332\f#\333\317\334& \"\210\335  #\210 \203\313\335\fB #\210\336\317\337\n &\"\210\207\340\341\307\n\310\"\"\207" [lsp-last-id lsp--request-cleanup-hooks lsp--last-active-workspaces lsp--cancelable-requests lsp-cancel-request-by-token lsp--find-workspaces-for current-time plist-get :method #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (alive 34 tick 38 unchanged 42 current 46)) ((kill-buffer-hook . t)) ((kill-buffer-hook . t) (after-change-functions . t)) ((after-change-functions . t) (post-command-hook)) ((post-command-hook)) nil make-closure #[0 "\307\306!\203r\306q\210\310\311\312\300\302\303\304\306&\305\"\210)\313\301\f\"\207" [V0 V1 V2 V3 V4 V5 V6 buffer-live-p mapc make-closure #[257 "\211\211A\262\242\305\306\303\301\304\302\300&#\207" [V0 V1 V2 V3 V4 remove-hook lsp--create-request-cancel] 13 "\n\n(fn INPUT0)"] remhash lsp--cancelable-requests] 8] (tick alive) #[128 "r\301q\210\302\300\")\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] lsp--create-async-callback #[257 "\302\300!\210\301!\207" [V0 V1 lsp--request-cleanup-hooks] 3 "\n\n(fn RESULT)"] lsp--create-default-error-handler #[257 "\301\303!\210\304\300!\210\302!\207" [V0 V1 V2 :error lsp--request-cleanup-hooks] 3 "\n\n(fn ERROR)"] (tick alive) #[0 "r\301q\210\300 )\207" [V0 V1] 1] plist-put :id mapc #[257 "\211\211A\262\242\305\306\302\300\303\301\304&\307$\207" [V0 V1 V2 V3 V4 add-hook lsp--create-request-cancel nil] 13 "\n\n(fn INPUT0)"] puthash seq-do #[257 "\203\306\307\301\302\310\305\311\"\312$\"\210\313\305!\314\302\303\304\301\300\315 \257\316H\211\317H\262#\210\320\321H\"\207" [V0 V1 V2 V3 V4 V5 lsp--log-entry-new lsp--make-log-entry plist-get :params outgoing-req lsp--make-message puthash current-time 5 8 lsp--send-no-wait 7 lsp-log-io] 9 "\n\n(fn WORKSPACE)"] error "The connected server(s) does not support method %s.\nTo find out what capabilities support your server use `M-x lsp-describe-session'\nand expand the capabilities section"] 30 (#$ . 162526)]) (byte-code "\300\301\302\"\210\303\301\304\305#\210\306\307\310\"\207" [defalias lsp-send-request-async lsp--send-request-async make-obsolete lsp-request-async "lsp-mode 7.0.1" add-hook kill-emacs-hook lsp--global-teardown] 4) #@28 Unload working workspaces. (defalias 'lsp--global-teardown #[0 "\300\301\302 \"\207" [mapcar #[257 "\211\301 )\207" [lsp--cur-workspace lsp--shutdown-workspace] 2 "\n\n(fn IT)"] lsp-workspaces] 3 (#$ . 166278)]) #@93 Shut down the language server process for ‘lsp--cur-workspace’. (fn &optional RESTART) (defalias 'lsp--shutdown-workspace #[256 "\3031\"\304\3051\306\307 \"0\210\202\310\311!\266)\312\313\314\"0\210\202(\315\316\"\266\n\211\317\2033\320\2024\321I\266\322 \207" [lsp-response-timeout lsp--empty-ht lsp--cur-workspace (debug error) 0.5 (error) lsp-request "shutdown" lsp--error "Timeout while sending shutdown request" lsp-notify "exit" nil message "LSP error: %S" 19 restart shutdown lsp--uninitialize-workspace] 5 (#$ . 166497)]) #@131 Cleanup buffer state. When a workspace is shut down, by request or from just disappearing, unset all the variables related to it. (defalias 'lsp--uninitialize-workspace #[0 "\301H\302H\303!\203\304!\210\305\306\"\207" [lsp--cur-workspace 8 9 process-live-p kill-process mapc #[257 "\301!\205$\302\303\"\211\203\302\304\"\211\305!)\202\"rq\210\306\307!)\262\207" [lsp--buffer-workspaces lsp-buffer-live-p plist-get :with-current-buffer :workspaces #[0 "\300\301!\207" [lsp-managed-mode -1] 2] lsp-managed-mode -1] 5 "\n\n(fn BUF)"]] 5 (#$ . 167053)]) #@69 Return the client capabilities. (fn &optional CUSTOM-CAPABILITIES) (defalias 'lsp--client-capabilities #[256 "\306\307\310\311\312\313\314\315\316\317\320\321\"\"BDD\322\306\205\323\324\"BBBBB\325\326\327\330\331\332\333\313\314\315\316\317\320\321\"\"BD\334BB\335\336\306 \205Y\337\340\341\n\203L\315\316\342\343 \"\"\202M\344B\345\315\316\342\343\f\"\"BFC\346\347\350\351\352 \203p\353\354!\204p\355\356!\210\357\202y \203x\360\202y\357B\361BB\362BB\363\364\365\366<\205\235\367\306=\205\225\370=BC>\205\233\371\"BB\372BBBBBBB\"BBBBBBBBB\373BB\"\207" [lsp-enable-file-watchers lsp-enable-semantic-highlighting lsp-semantic-tokens-apply-modifiers lsp-semantic-token-modifier-faces lsp-semantic-token-faces lsp-enable-snippet append workspace (workspaceEdit (documentChanges . t) (resourceOperations . ["create" "rename" "delete"])) (applyEdit . t) symbol symbolKind valueSet apply vector number-sequence 1 26 (executeCommand (dynamicRegistration . :json-false)) ((didChangeWatchedFiles (dynamicRegistration . t))) ((workspaceFolders . t) (configuration . t)) textDocument (declaration (linkSupport . t)) (definition (linkSupport . t)) (implementation (linkSupport . t)) (typeDefinition (linkSupport . t)) (synchronization (willSave . t) (didSave . t) (willSaveWaitUntil . t)) documentSymbol ((hierarchicalDocumentSymbolSupport . t)) (formatting (dynamicRegistration . t)) (rangeFormatting (dynamicRegistration . t)) semanticTokens (dynamicRegistration . t) tokenModifiers mapcar car [] tokenTypes (rename (dynamicRegistration . t) (prepareSupport . t)) (codeAction (dynamicRegistration . t) (isPreferredSupport . t) (codeActionLiteralSupport (codeActionKind (valueSet . ["" "quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])))) completion completionItem snippetSupport featurep yasnippet lsp--warn "Yasnippet is not installed, but `lsp-enable-snippet' is set to `t'. You must either install yasnippet, or disable snippet support." :json-false t ((documentationFormat . ["markdown"]) (resolveAdditionalTextEditsSupport . t)) ((contextSupport . t)) (signatureHelp (signatureInformation (parameterInformation (labelOffsetSupport . t)))) (documentLink (dynamicRegistration . t) (tooltipSupport . t)) (hover (contentFormat . ["markdown" "plaintext"])) foldingRange (dynamicRegistration . t) rangeLimit ((lineFoldingOnly . t)) ((callHierarchy (dynamicRegistration . :json-false)) (publishDiagnostics (relatedInformation . t) (tagSupport (valueSet . [1 2])) (versionSupport . t))) ((window (workDoneProgress . t))) lsp-enable-folding lsp-folding-range-limit lsp-folding-line-folding-only] 25 (#$ . 167626)]) #@58 Get all roots for the WORKSPACE. (fn WORKSPACE SESSION) (defalias 'lsp-find-roots-for-workspace #[514 "\300\301\302\303\304\"\305H\"\"\207" [-filter identity ht-map make-closure #[514 "\301\300\"\205\207" [V0 -contains\?] 5 "\n\n(fn FOLDER WORKSPACES)"] 4] 8 (#$ . 170317)]) #@58 Get watches created for SESSION. (fn &optional SESSION) (defalias 'lsp-session-watches #[256 "\300\301\206\302 \211\303H\262\"\206(\304\305\306\"\307\301\206\302 \211\303H\262#\210\211\262\207" [gethash "__watches" lsp-session 5 make-hash-table :test equal puthash] 8 (#$ . 170606)]) #@53 Process file event. (fn SESSION ROOT-FOLDER EVENT) (defalias 'lsp--file-process-event #[771 "\211AA@\300\301\302$\303\304H\"\"\207" [seq-do make-closure #[257 "\305\306\307\300\302#\310H\"\205&\211\311\312\313\314\315\316\301A@\f\"B\317\320\302!BD!BC\")\207" [V0 V1 V2 lsp--cur-workspace lsp--file-change-type -any\? make-closure #[257 "\211\302H\303\232\205\304\305\306\300\301#\307\310H!\"\207" [V0 V1 2 "workspace/didChangeWatchedFiles" seq-find make-closure #[257 "\302\303\"\304!\305\301\"\206\305\306\301\300\"\"\207" [V0 V1 gethash "globPattern" eshell-glob-regexp string-match f-relative] 8 "\n\n(fn INPUT0)"] lsp:did-change-watched-files-registration-options-watchers 3] 6 "\n\n(fn CAPABILITY)"] 3 lsp-notify "workspace/didChangeWatchedFiles" changes vector type alist-get uri lsp--path-to-uri] 9 "\n\n(fn WORKSPACE)"] gethash 4] 10 (#$ . 170908)]) #@39 Register capability REG. (fn INPUT0) (defalias 'lsp--server-register-capability #[257 "\302\303\"\302\304\"\302\305\"\203O\306\232\203O\307\310 !\311\312 \310 \"\313!\"\211\211\203M\211@\314\315\"\316#\210\317\320!\321\322\310 #\323$\266A\266\202\202%\266\324\325$ \211\326\326HBI\207" [lsp-enable-file-watchers lsp--cur-workspace gethash "method" "id" "registerOptions" "workspace/didChangeWatchedFiles" lsp-session-watches lsp-session cl-set-difference lsp-find-roots-for-workspace ht-keys make-lsp-watch :root-directory puthash lsp-watch-root-folder file-truename -partial lsp--file-process-event t record lsp--registered-capability 3] 15 (#$ . 171791)]) #@101 Cleanup watches in case there are no more workspaces that are interested in that particular folder. (defalias 'lsp--cleanup-hanging-watches #[0 "\300 \301!\302!\211\2056\211@\303\304\305\300 \211\306H\262\"\"\203/\307\310\"\210\311\305\"!\210\312\"\210A\266\202\202\207" [lsp-session lsp-session-watches ht-keys -none\? #[257 "\211\301\302!)\207" [lsp--cur-workspace lsp--registered-capability "workspace/didChangeWatchedFiles"] 3 "\n\n(fn WORKSPACE)"] gethash 4 lsp-log "Cleaning up watches for folder %s. There is no workspace watching this folder..." lsp-kill-watch remhash] 11 (#$ . 172484)]) #@43 Unregister capability UNREG. (fn INPUT0) (defalias 'lsp--server-unregister-capability #[257 "\301\302\"\301\303\"\211\304\305\306\307\"\304H\"I\266\211\310\232\205 \311 \207" [lsp--cur-workspace gethash "id" "method" 3 seq-remove make-closure #[257 "\211\301H\300\232\207" [V0 1] 3 "\n\n(fn E)"] "workspace/didChangeWatchedFiles" lsp--cleanup-hanging-watches] 10 (#$ . 173102)]) #@76 Return the capabilities of the language server associated with the buffer. (defalias 'lsp--server-capabilities #[0 "\300\301\302\303\304 \"\"\207" [apply lsp-merge -keep lsp--workspace-server-capabilities lsp-workspaces] 5 (#$ . 173496)]) #@75 Return whether open and close notifications should be sent to the server. (defalias 'lsp--send-open-close-p #[0 "\300\301 !\211\302>\206 \303!\207" [lsp:server-capabilities-text-document-sync\? lsp--server-capabilities (1 2) lsp:text-document-sync-options-open-close\?] 3 (#$ . 173741)]) #@70 Return whether will save notifications should be sent to the server. (defalias 'lsp--send-will-save-p #[0 "\300\301\302 !!\207" [lsp:text-document-sync-options-will-save\? lsp:server-capabilities-text-document-sync\? lsp--server-capabilities] 3 (#$ . 174037)]) #@81 Return whether will save wait until notifications should be sent to the server. (defalias 'lsp--send-will-save-wait-until-p #[0 "\300\301\302 !!\207" [lsp:text-document-sync-options-will-save-wait-until\? lsp:server-capabilities-text-document-sync\? lsp--server-capabilities] 3 (#$ . 174304)]) #@69 Return whether did save notifications should be sent to the server. (defalias 'lsp--send-did-save-p #[0 "\300\301 !\211\302>\206 \303!\207" [lsp:server-capabilities-text-document-sync\? lsp--server-capabilities (1 2) lsp:text-document-sync-options-save\?] 3 (#$ . 174604)]) #@80 Return whether save notifications should include the text document's contents. (defalias 'lsp--save-include-text-p #[0 "\300\301\302\303 !!!\207" [lsp:text-document-save-registration-options-include-text\? lsp:text-document-sync-options-save\? lsp:server-capabilities-text-document-sync\? lsp--server-capabilities] 4 (#$ . 174886)]) #@19 Get project root. (defalias 'lsp--suggest-project-root #[0 "\300\301!\203\3021\303 0\202\210\304\206'\300\305!\205'\306 \211\205%\307!@\262\207" [featurep projectile (error) projectile-project-root nil project project-current project-roots] 3 (#$ . 175225)]) #@31 Read FILE content. (fn FILE) (defalias 'lsp--read-from-file #[257 "\300!\205 \301\302\303\"!@\207" [file-exists-p read-from-string f-read-text utf-8] 5 (#$ . 175501)]) #@61 Persist TO-PERSIST in FILE-NAME. (fn FILE-NAME TO-PERSIST) (defalias 'lsp--persist #[514 "\300\301!\302#\207" [f-write-text prin1-to-string utf-8] 6 (#$ . 175679)]) #@71 Add PROJECT-ROOT to the list of workspace folders. (fn PROJECT-ROOT) (defalias 'lsp-workspace-folders-add #[257 "\300!\301 \211\211\302\302H\235\203\211\202B\262I\266\303\301 !\210\304\305C\306#\207" [lsp-f-canonical lsp-session 1 lsp--persist-session run-hook-with-args lsp-workspace-folders-changed-functions nil] 9 (#$ . 175853) (byte-code "\301\302\303 \206\304\305$C\207" [default-directory read-directory-name "Select folder to add: " lsp--suggest-project-root nil t] 5)]) #@76 Remove PROJECT-ROOT from the list of workspace folders. (fn PROJECT-ROOT) (defalias 'lsp-workspace-folders-remove #[257 "\211C\211\301\242!\240\210\302\303\242\304 \211\305H\262\"\306\302\211\203;\211A\262\242\262\262T\262\307H\310H\203B\262\202\266\211\237\262\211\203b\211@\211\311\312\313\314\315\316\317 \242!D!DD\"\210)A\266\202\202A\210\304 \211\305H\320H\303\242\"\321\242\"\210\211\211\203\324\211@\322\323!\306\302\211\211\203\265\211A\262\242\262\262\211\262\203\265\324\"?\211\262\203\265\262\262T\262\202\206\266\211\262\203\315\325\326\327! \242#\210\211\330 \210)A\266\202\202w\210\211\331\332\242\331H\"I\266\333\334\335#\"\210\336\304 !\266\337\340\302\242C#\207" [lsp--cur-workspace lsp-f-canonical nil gethash lsp-session 4 0 5 16 lsp-notify "workspace/didChangeWorkspaceFolders" :event :removed vector :uri lsp--path-to-uri 3 remhash t ht-values -contains\? lsp--info "Shutdown %s since folder %s is removed..." lsp--workspace-print lsp--shutdown-workspace 1 -remove-item ht-each make-closure #[514 "\302\303\300\242\"\301#\207" [V0 V1 puthash -remove-item] 7 "\n\n(fn KEY VALUE)"] lsp--persist-session run-hook-with-args lsp-workspace-folders-changed-functions] 17 (#$ . 176355) (byte-code "\301\302\303 \211\304H\262\305\306\307\303 \"%C\207" [default-directory completing-read "Select folder to remove: " lsp-session 1 nil t lsp-find-session-folder] 8)]) #@70 Remove PROJECT-ROOT from the workspace blacklist. (fn PROJECT-ROOT) (defalias 'lsp-workspace-blacklist-remove #[257 "\300 \211\211\301\302\300 \211\301H\262\"I\266\303\300 !\207" [lsp-session 2 delete lsp--persist-session] 10 (#$ . 177820) (byte-code "\300\301\302 \211\303H\262\304\305$C\207" [completing-read "Select folder to remove:" lsp-session 2 nil t] 5)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias lsp-workspace-folders-switch lsp-workspace-folders-open nil make-obsolete "lsp-mode 6.1"] 4) #@63 Open the directory located at PROJECT-ROOT (fn PROJECT-ROOT) (defalias 'lsp-workspace-folders-open #[257 "\300!\207" [find-file] 3 (#$ . 178354) (byte-code "\300\301\302 \211\303H\262\304\305$C\207" [completing-read "Open folder: " lsp-session 1 nil t] 5)]) #@27 (fn TRIGGER-CHARACTERS) (defalias 'lsp--maybe-enable-signature-help #[257 "\301\302\303$\205\f\304 \207" [last-command-event cl-find :key string-to-char lsp-signature-activate] 7 (#$ . 178621)]) #@30 (fn &optional CLEANUP\=\?) (defalias 'lsp--update-on-type-formatting-hook #[256 "\301\302!\211\205\303\304\"\303\305\"\306\307#\266\202\262\203'\211\203'\310\311\312\313$\207\2040?\2055\314\311\313#\207" [lsp-enable-on-type-formatting lsp--capability :documentOnTypeFormattingProvider gethash "moreTriggerCharacter" "firstTriggerCharacter" make-closure #[0 "\302\301\300\"\207" [V0 V1 lsp--on-type-formatting] 3] add-hook post-self-insert-hook nil t remove-hook] 8 (#$ . 178828)]) #@30 (fn &optional CLEANUP\=\?) (defalias 'lsp--update-signature-help-hook #[256 "\301\302\303!!\205\304\305\302\303!\"\211\205\306\307\"\262\203'\211\203'\310\311\312\313$\207\2040?\2055\314\311\313#\207" [lsp-signature-auto-activate ht\? lsp--capability :signatureHelpProvider gethash "triggerCharacters" make-closure #[0 "\301\300!\207" [V0 lsp--maybe-enable-signature-help] 2] add-hook post-self-insert-hook nil t remove-hook] 7 (#$ . 179333)]) (defalias 'lsp--semantic-highlighting-warn-about-deprecated-setting #[0 "\302\300!\205\303\267\202\304\305!\210\306\211\207\304\307!\207\310\207" [lsp-semantic-highlighting lsp-enable-semantic-highlighting boundp #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:semantic-tokens 12 :deferred 20 :immediate 20)) lsp-warn "It seems you wish to use semanticTokens-based\n highlighting. To do so, please remove any references to the\n deprecated variable `lsp-semantic-highlighting' from your\n configuration and set `lsp-enable-semantic-highlighting' to `t'\n instead." t "It seems you wish to use Theia-based semantic\n highlighting. This protocol has been superseded by the\n semanticTokens protocol specified by LSP v3.16 and is no longer\n supported by lsp-mode. If your language server provides\n semanticToken support, please set\n `lsp-enable-semantic-highlighting' to `t' to use it." nil] 2]) #@101 Non-nil if Lsp-Managed mode is enabled. Use the command `lsp-managed-mode' to change this variable. (defvar lsp-managed-mode nil (#$ . 180742)) (make-variable-buffer-local 'lsp-managed-mode) #@602 Mode for source buffers managed by lsp-mode. This is a minor mode. If called interactively, toggle the `Lsp-Managed mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `lsp-managed-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'lsp-managed-mode #[256 "\305 \306=\203 ?\202\247\203\307W\203\310\202\311\312\301!\2031\313\300 \"\2031\300 B\314\203\272\315\316!\203I\317\320\321\322B\323\310$\210\324\307!\210\325\326\327\310\311$\210\325\330\331\310\311$\210\325\332\333\310\311$\210\325\334\335\310\311$\210\325\336\337\310\311$\210\325\340\341\310\311$\210\325\342\343\310\311$\210\325\344\345\310\311$\210\346 \210\347 \210\350 \210\n\203\225\325\351\352\310\311$\210\353\303!\210\354 \"\203\244 \202\247\211 B\355 \210\356 \357\360\310\361\362\"#\266\202;\363 \210\364\365\366!\323\"\211\365\366!=\204\320\367\366\"\210\210\370\344\345\311#\210\370\326\327\311#\210\370\330\331\311#\210\370\332\333\311#\210\370\334\335\311#\210\370\336\337\311#\210\370\340\341\311#\210\370\342\343\311#\210\346\371!\210\347\371!\210\f\203\372\f!\210\310\370\373\374\311#\210\370\373\375\311#\210\376\377!\210\376\201@!\210\370\351\352\311#\210\353\303!\210\201A \"\210\201B\201C\203K\201D\202N\201E\"\210\201F\201G!\203~\305 \203f\211\305 \232\203~\201H\201I\203v\201J\202y\201K\201L#\210\210\201M \210\207" [lsp-managed-mode local-minor-modes lsp-enable-xref global-mode-string lsp--on-idle-timer current-message toggle 1 nil t boundp delq (t (:eval (-keep #'lsp--workspace-status-string (lsp-workspaces)))) lsp-feature\? "textDocument/hover" advice--add-function :before-until #[0 "\300\301!\207" [advice--buffer-local eldoc-documentation-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eldoc-documentation-function] 4 "\n\n(fn GV--VAL)"] lsp-eldoc-function eldoc-mode add-hook after-change-functions lsp-on-change after-revert-hook lsp-on-revert after-save-hook lsp-on-save auto-save-hook lsp--on-auto-save before-change-functions lsp-before-change before-save-hook lsp--before-save kill-buffer-hook lsp--text-document-did-close post-command-hook lsp--post-command lsp--update-on-type-formatting-hook lsp--update-signature-help-hook lsp--semantic-highlighting-warn-about-deprecated-setting xref-backend-functions lsp--xref-backend make-local-variable -contains\? lsp-configure-buffer lsp-current-buffer run-with-idle-timer 0.0 make-closure #[0 "\302\300!\205+\303\300\304\"\211\203\303\300\305\"\211\306\307\300\"!)\202)r\300q\210\310\300!\210\311\300!)\262\207" [V0 lsp--buffer-workspaces lsp-buffer-live-p plist-get :with-current-buffer :workspaces make-closure #[0 "\301\300!\210\302\300!\207" [V0 lsp--on-change-debounce lsp--on-idle] 2] lsp--on-change-debounce lsp--on-idle] 5] lsp-unconfig-buffer advice--remove-function advice--buffer-local eldoc-documentation-function advice--set-buffer-local remove-hook :cleanup cancel-timer lsp-on-idle-hook lsp--document-links lsp--document-highlight lsp--remove-overlays lsp-highlight lsp-links remove run-hooks lsp-managed-mode-hook lsp-managed-mode-on-hook lsp-managed-mode-off-hook called-interactively-p any message "Lsp-Managed mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 10 (#$ . 180940) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-managed-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" [lsp-managed-mode-map lsp-managed-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-managed-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 lsp-managed-mode boundp] 6) #@44 Configure LSP features for current buffer. (defalias 'lsp-configure-buffer #[0 "\203| \203\306\307!\203\310\311\312\313\314$\210\n\203\"\306\315!\203\"\302 \210 \2032\306\316!\2032\317\304!\210\320 \203C\306\321!\203C\310\322\323\313\314$\210\"\203U\306\324!\203U\310\322\325\313\314$\210#\203d\326\327!\203d\330\331!\210$\203|\306\332!\203|\333\334\335\332!\"\210\336\306\337!!\210\340\341!\207" [lsp-auto-configure lsp-enable-text-document-color lsp-enable-imenu lsp-enable-indentation indent-region-function lsp-enable-symbol-highlighting lsp-feature\? "textDocument/documentColor" add-hook lsp-on-change-hook lsp--document-color nil t "textDocument/documentSymbol" "textDocument/rangeFormatting" make-local-variable lsp-format-region "textDocument/documentHighlight" lsp-on-idle-hook lsp--document-highlight "textDocument/documentLink" lsp--document-links featurep dap-mode dap-auto-configure-mode 1 "textDocument/semanticTokens" mapc lsp--semantic-tokens-initialize-workspace lsp--find-workspaces-for lsp--semantic-tokens-initialize-buffer "textDocument/semanticTokensRangeProvider" run-hooks lsp-configure-hook lsp-enable-links lsp-enable-dap-auto-configure lsp-enable-semantic-highlighting] 5 (#$ . 185172)]) #@38 Unconfigure LSP features for buffer. (defalias 'lsp-unconfig-buffer #[0 "\301\302!\210\303\304!\210\305\300!\210\306\307\310\311\312#\210\307\313\314\312#\210\307\313\315\312#\207" [indent-region-function run-hooks lsp-unconfigure-hook lsp--remove-overlays lsp-color make-local-variable nil remove-hook lsp-on-change-hook lsp--document-color t lsp-on-idle-hook lsp--document-highlight lsp--document-links] 4 (#$ . 186416)]) (defalias 'lsp--buffer-content #[0 "\203\212\301\302!\206\303ed\")\207\304\214~\210\212\301\302!\206!\303ed\"+\207" [lsp--already-widened lsp-virtual-buffer-call :buffer-string buffer-substring-no-properties t] 3]) #@27 'document/didOpen' event. (defalias 'lsp--text-document-did-open #[0 "\302\303!\210\206 \304\305 \211\306\306H\307\"\203\211\202 B\262I\266\310\311\312\313\314 \315\316 \317\320\321 \257D\"\210\322\323!\210\302\324!\210 \211\205H\211\325H\262\211\205q\211\326H\211\203X\211 \210\210\327\330\331H\"\211\205f\332!\262\211\205o\302!\262\207" [lsp--cur-version lsp--cur-workspace run-hooks lsp-before-open-hook 0 lsp-current-buffer 9 memql lsp-notify "textDocument/didOpen" :textDocument :uri lsp--buffer-uri :languageId lsp-buffer-language :version :text lsp--buffer-content lsp-managed-mode 1 lsp-after-open-hook 5 27 format "lsp-%s-after-open-hook" 15 intern-soft] 11 (#$ . 187069)]) #@30 Make TextDocumentIdentifier. (defalias 'lsp--text-document-identifier #[0 "\300\301 D\207" [:uri lsp--buffer-uri] 2 (#$ . 187785)]) #@39 Make VersionedTextDocumentIdentifier. (defalias 'lsp--versioned-text-document-identifier #[0 "\301\302 \303#\207" [lsp--cur-version plist-put lsp--text-document-identifier :version] 4 (#$ . 187923)]) #@24 (fn &optional POINT) (defalias 'lsp--cur-line #[256 "\300!S\207" [line-number-at-pos] 3 (#$ . 188130)]) #@47 Make a Position object for the current point. (defalias 'lsp--cur-position #[0 "\301\302!\206&\203\212\303\304 \305`\306 ZF)\207\307\214~\210\212\303\304 \305`\306 ZF+\207" [lsp--already-widened lsp-virtual-buffer-call :cur-position :line lsp--cur-line :character line-beginning-position t] 5 (#$ . 188243)]) #@40 Convert POINT to Position. (fn POINT) (defalias 'lsp--point-to-position #[257 "\203\f\212\211b\210\301 )\207\302\214~\210\212\211b\210\301 +\207" [lsp--already-widened lsp--cur-position t] 2 (#$ . 188563)]) #@53 Make Range body from START and END. (fn START END) (defalias 'lsp--range #[514 "\300\301F\207" [:start :end] 6 (#$ . 188780)]) #@59 Make Range object for the current region. (fn START END) (defalias 'lsp--region-to-range #[514 "\300\301!\301!\"\207" [lsp--range lsp--point-to-position] 6 (#$ . 188916)]) #@40 The active region or the current line. (defalias 'lsp--region-or-line #[0 "\300 \203\f\301\302 \303 \"\207\301\304 \305 \"\207" [use-region-p lsp--region-to-range region-beginning region-end point-at-bol point-at-eol] 3 (#$ . 189097)]) #@78 Verify that DOCUMENT-CHANGES have the proper version. (fn DOCUMENT-CHANGES) (defalias 'lsp--check-document-changes-version #[257 "\300\301\"?\205 \302\303!\207" [seq-every-p #[257 "\301\302\"\211?\206(\303\304!!\305!r\306!q\210\211?\206%\211\307U\206%\211\232)\266\202\207" [lsp--cur-version gethash "textDocument" lsp--uri-to-path lsp:versioned-text-document-identifier-uri lsp:versioned-text-document-identifier-version\? find-file-noselect 0] 6 "\n\n(fn INPUT0)"] error "Document changes cannot be applied"] 4 (#$ . 189340)]) #@51 Apply the WorkspaceEdit object EDIT. (fn INPUT0) (defalias 'lsp--apply-workspace-edit #[257 "\300\301\"\300\302\"\303!\211\203#\304!\210\305\306\307\310\"\"\210\305\306\307\311\"\"\207\312\313\"\207" [gethash "documentChanges" "changes" seq-reverse lsp--check-document-changes-version seq-do lsp--apply-text-document-edit seq-filter #[257 "\300\301\"\211?\206\f\211\302\232\207" [gethash "kind" "edit"] 4 "\n\n(fn INPUT0)"] #[257 "\300\301\"\211?\206\f\211\302\232?\207" [gethash "kind" "edit"] 4 "\n\n(fn INPUT0)"] lsp-map #[514 "r\300\301!!q\210\302!)\207" [find-file-noselect lsp--uri-to-path lsp--apply-text-edits] 5 "\n\n(fn URI TEXT-EDITS)"]] 9 (#$ . 189886)]) #@120 Execute BODY with FILE as a context. Need to handle the case when FILE indicates virtual buffer. (fn FILE &rest BODY) (defalias 'lsp-with-filename '(macro . #[385 "\300\301\302\303\304FDC\305\301BBBBB\207" [if-let lsp--virtual-buffer get-text-property 0 'lsp-virtual-buffer lsp-with-current-buffer] 8 (#$ . 190575)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-with-filename lisp-indent-function 1 put edebug-form-spec t] 5) #@409 Apply the TextDocumentEdit object EDIT. If the file is not being visited by any buffer, it is opened with `find-file-noselect'. Because lsp-mode does not store previous document versions, the edit is only applied if the version of the textDocument matches the version of the corresponding file. interface TextDocumentEdit { textDocument: VersionedTextDocumentIdentifier; edits: TextEdit[]; } (fn EDIT) (defalias 'lsp--apply-text-document-edit #[257 "\302!\211\303\267\202\313\304\305\"\304\306\"\307!\310\311!\312\"\210\313!\210\314!\205*\315\316\317#\207\304\305\"\320\304\306\"!\205@\304\321\304\306\"\"\322\307!\"\207\304\323\"\304\324\"\320\304\306\"!\205a\304\325\304\306\"\"\307!\307!\326!\211\203\220\327\330\"\211\203\204\327\331\"\211\332!\210)\210\202\220rq\210\333 \210\334 \210)\210\310\311!\312\"\210\335#\210\211\205\312\327\330\"\211\203\271\327\331\"\211\336\337\"!)\202\310rq\210\340\317!\210\341!\210\342 )\262\207\307\343\344!!!\327\326!\330\"\211\203\355\327\326!\331\"\211\336\345#!)\207r\326!q\210\346\347\350#\211\203%\327 \330\"\211\203\327 \331\"\211\336\351\"!)\202 r q\210\352\353!!)\262\202*\352\353!!*\207" [lsp--buffer-workspaces lsp--virtual-buffer lsp:edit-kind #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("create" 9 "delete" 43 "rename" 71)) gethash "uri" "options" lsp--uri-to-path mkdir f-dirname t f-touch lsp:create-file-options-overwrite\? f-write-text "" nil ht\? "recursive" f-delete "oldUri" "newUri" "overwrite" find-buffer-visiting plist-get :with-current-buffer :workspaces #[0 "\300 \210\301 \207" [save-buffer lsp--text-document-did-close] 1] save-buffer lsp--text-document-did-close rename-file make-closure #[0 "\301\302!\210\303\300!\210\304 \207" [V0 set-buffer-modified-p nil set-visited-file-name lsp] 2] set-buffer-modified-p set-visited-file-name lsp lsp:versioned-text-document-identifier-uri lsp:text-document-edit-text-document #[0 "\304\305\306\301#\211\2030\307\n\310\"\211\203!\307\n\311\"\211\312\313\300\"!)\202+r\nq\210\314\315\300!!)\262\2025\314\315\300!!)\207" [V0 V1 lsp--virtual-buffer lsp--buffer-workspaces get-text-property 0 lsp-virtual-buffer plist-get :with-current-buffer :workspaces make-closure #[0 "\301\302\300!!\207" [V0 lsp--apply-text-edits lsp:text-document-edit-edits] 3] lsp--apply-text-edits lsp:text-document-edit-edits] 6] get-text-property 0 lsp-virtual-buffer #[0 "\301\302\300!!\207" [V0 lsp--apply-text-edits lsp:text-document-edit-edits] 3] lsp--apply-text-edits lsp:text-document-edit-edits] 14 (#$ . 191039)]) #@54 Compare position LEFT and RIGHT. (fn INPUT0 INPUT1) (defalias 'lsp--position-compare #[514 "\300\301\"\300\302\"\300\301\"\300\302\"U\203V\207V\207" [gethash "line" "character"] 8 (#$ . 193680)]) #@72 Return whether LEFT and RIGHT positions are equal. (fn INPUT0 INPUT1) (defalias 'lsp--position-equal #[514 "\300\301\"\300\302\"\300\301\"\300\302\"U\205U\207" [gethash "line" "character"] 8 (#$ . 193895)]) #@22 (fn INPUT0 INPUT1) (defalias 'lsp--text-edit-sort-predicate #[514 "\300\301\"\300\302\"\300\303\"\300\301\"\300\302\"\300\303\"\304\"\203$\305\"\207\305\"\207" [gethash "range" "start" "end" lsp--position-equal lsp--position-compare] 11 (#$ . 194119)]) #@77 Apply the edits described in the TextEdit object in TEXT-EDIT. (fn INPUT0) (defalias 'lsp--apply-text-edit #[257 "\300\301\"\302\303\304\"!\302\303\305\"!\300\306\"b\210|\210\211c\207" [gethash "range" lsp--position-to-point lsp-get :start :end "newText"] 7 (#$ . 194393)]) #@15 (fn INPUT0) (defalias 'lsp--fix-point #[257 "\211\300\301\"\300\302\"\303\304]\"\210\305\304]\"\210\207" [gethash "character" "line" lsp:set-position-line 0 lsp:set-position-character] 9 (#$ . 194681)]) #@120 Apply the edits described in the TextEdit object in TEXT-EDIT. The method uses `replace-buffer-contents'. (fn INPUT0) (defalias 'lsp--apply-text-edit-replace-buffer-contents #[257 "\301\302\"\301\303\"\301\304\"\301\305\"p\306\307\310\311!\312\311!$!\211A\262\242\313\314\315\"r\211q\210\316\317\"\216c\210prq\210\212\214}\210\315Z\320\321#\210\322!\210\320\323\211\fG\\$)\266\202+\262*\207" [inhibit-modification-hooks gethash "range" "start" "end" "newText" lsp--range-to-region lsp-make-range :start lsp--fix-point :end generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] run-hook-with-args before-change-functions replace-buffer-contents after-change-functions] 18 (#$ . 194900)]) #@57 Convert LSP SNIPPET to yasnippet snippet. (fn SNIPPET) (defalias 'lsp--to-yasnippet-snippet #[257 "\300\301\302\303\211\304&\207" [replace-regexp-in-string "\\(?:\\`\\|[^$\\]\\)\\({\\)" "\\\\\\1" nil 1] 8 (#$ . 195682)]) #@83 Enable relative indentation when insert texts, snippets ... from language server. (defvar lsp-enable-relative-indentation nil (#$ . 195912)) (make-variable-buffer-local 'lsp-enable-relative-indentation) #@204 Wrapper of `yas-expand-snippet' with all of it arguments. The snippet will be convert to LSP style and indent according to LSP server result. (fn SNIPPET &optional START END EXPAND-ENV KEEP-WHITESPACE) (defalias 'lsp--expand-snippet #[1281 "\305\212b\210\306 \210\307\310 `\")?\205\311\312 \204\"\313\314!\203)\315\316\"\202*\f\317\320!$,\207" [inhibit-field-text-motion yas-indent-line yas-also-auto-indent-first-line lsp-enable-relative-indentation indent-line-function t back-to-indentation buffer-substring-no-properties line-beginning-position auto nil derived-mode-p org-mode make-closure #[0 "\212\301y\210\300c)\207" [V0 0] 1] yas-expand-snippet lsp--to-yasnippet-snippet] 11 (#$ . 196122)]) #@65 Apply the EDITS described in the TextEdit[] object. (fn EDITS) (defalias 'lsp--apply-text-edits #[257 "\305!?\205d\306 \307\211\307C\310\311#\216\312!\210\313\314!\210\306 G\315\316p#\307\317!\210\320\321#\321C\f\204A\322\202B\323\310\324#\216\325\310\326$\327\330\325\331\"\237\"\")\266\207\332\240\210,\266\205\207" [most-positive-fixnum undo-strong-limit undo-limit undo-outer-limit lsp--virtual-buffer seq-empty-p prepare-change-group nil make-closure #[0 "\301\242\203 \302\300!\207\303\300!\207" [V0 V1 accept-change-group cancel-change-group] 2] activate-change-group run-hooks lsp-before-apply-edits-hook format "Applying %s edits to `%s' ..." lsp--info make-progress-reporter 0 lsp--apply-text-edit-replace-buffer-contents lsp--apply-text-edit #[0 "\302\300!\210\303\301!\207" [V0 V1 undo-amalgamate-change-group progress-reporter-done] 2] mapc #[257 "\300\301\211\242T\240\304\247\203@Y\205\305#\266\302!\210\306!\205U\307\310\311\312\"\313\"!\211\205S\311\314\"\211\205Q\311\315\"\211\205O =\205O\316\211G\\#\262\262\262\207" [V0 V1 V2 lsp/insert-text-format-snippet nil progress-reporter-do-update lsp:snippet-text-edit-insert-text-format\? lsp--position-to-point lsp-get gethash "range" :start "insertTextFormat" "newText" lsp--expand-snippet] 9 "\n\n(fn EDIT)"] seq-sort lsp--text-edit-sort-predicate #[257 "\211\300\301\"\302\303\304\305\206\305#\"\207" [gethash "newText" lsp:set-text-edit-new-text s-replace " " ""] 9 "\n\n(fn INPUT0)"] t] 20 (#$ . 196849)]) #@112 Create (handler cleanup-fn) for applying text edits in async request. Only works when mode is 'tick or 'alive. (defalias 'lsp--create-apply-text-edits-handlers #[0 "\300C\301\302\"\303\304\300\305$\210\301\306\"\301\307\"D\207" [nil make-closure #[385 "\300\211\242\203 \300\242^\202\240\207" [V0] 5 "\n\n(fn START &rest _)"] add-hook before-change-functions t #[257 "\300\242\203\301\302\303\300\"\"\203\304\305!\207\306!\207" [V0 seq-find make-closure #[257 "\301\302\303\304\"\305\"!\211\300\242V\207" [V0 lsp--position-to-point lsp-get gethash "range" :end] 6 "\n\n(fn INPUT0)"] lsp--warn "TextEdits will not be applied since document has been modified before of them." lsp--apply-text-edits] 5 "\n\n(fn EDITS)"] #[0 "\301\302\300\303#\207" [V0 remove-hook before-change-functions t] 4]] 7 (#$ . 198397)]) #@114 Get the value of capability CAP. If CAPABILITIES is non-nil, use them instead. (fn CAP &optional CAPABILITIES) (defalias 'lsp--capability #[513 ";\203\f\300\301P!\262\302\206\303 \"\207" [intern ":" lsp-get lsp--server-capabilities] 5 (#$ . 199230)]) #@65 Check whether there is workspace providing METHOD. (fn METHOD) (defalias 'lsp--registered-capability #[257 "\300\301 \302\300\211\2031\211A\262\242\262\262T\262\303\304\305\"\306H\"\211\203-\211B\262\210\202\266\211\237\262@\207" [nil lsp-workspaces 0 seq-find make-closure #[257 "\211\301H\300\232\207" [V0 2] 3 "\n\n(fn REG)"] 3] 10 (#$ . 199497)]) #@123 Store the positions from the `lsp-before-change' function call, for validation and use in the `lsp-on-change' function. (defvar lsp--before-change-vals nil (#$ . 199876)) (make-variable-buffer-local 'lsp--before-change-vals) #@103 Make a TextDocumentContentChangeEvent body for START to END, of length LENGTH. (fn START END LENGTH) (defalias 'lsp--text-document-content-change-event #[771 "\211\301U\203\302\303\304!\304!\"\305\301\306\307\"\257\207=\203>\310\"\203;\302\303\304!\311\312\"\"\305\313BBBB\207\314 \207\310\"\203[\302\303\304!\311\312\"\"\305\306\307\"\257\207\314 \207" [lsp--before-change-vals 0 :range lsp--range lsp--point-to-position :rangeLength :text buffer-substring-no-properties lsp--bracketed-change-p plist-get :end-pos (:text "") lsp--full-change-event] 11 (#$ . 200110)]) #@137 If the before and after positions are the same, and the length is the size of the start range, we are probably good. (fn START LENGTH) (defalias 'lsp--bracketed-change-p #[514 "\301\302\"\301\303\"=\205Z=\207" [lsp--before-change-vals plist-get :end :start] 7 (#$ . 200717)]) (defalias 'lsp--full-change-event #[0 "\300\301 D\207" [:text lsp--buffer-content] 2]) #@88 Executed before a file is changed. Added to `before-change-functions'. (fn START END) (defalias 'lsp-before-change #[514 "\203\212\302\303\304\305!\257\211)\207\306\214~\210\212\302\303\304\305!\257\211+\207" [lsp--already-widened lsp--before-change-vals :start :end :end-pos lsp--point-to-position t] 9 (#$ . 201096)]) (defalias 'lsp--flush-delayed-changes #[0 "\303 \203\n\304 !\210\305\306\n\237\307\")\207" [inhibit-quit lsp--delay-timer lsp--delayed-requests t cancel-timer mapc #[257 "\211\211A\262\242\211A\262\242\211A\262\242@rq\210\301\302\303\304\305!F\"*\207" [lsp--cur-workspace lsp-notify "textDocument/didChange" :textDocument :contentChanges vector] 13 "\n\n(fn INPUT0)"] nil] 4]) #@18 (fn WORKSPACE) (defalias 'lsp--workspace-sync-method #[257 "\300\301H!\302!\203\303!\207\207" [lsp:server-capabilities-text-document-sync\? 2 lsp-text-document-sync-options\? lsp:text-document-sync-options-change\?] 4 (#$ . 201832)]) #@126 Executed when a file is changed. Added to `after-change-functions'. (fn START END LENGTH &optional CONTENT-CHANGE-EVENT-FN) (defalias 'lsp-on-change #[1027 "\306 \307\310\"\216\311 ?\205F\nT\312\307\313%\314 \"\210 \203)\315 !\210\316\f\317\320#\321\322!\210\323p!\210\317\211\205F\324\325\314 \"*\207" [inhibit-quit revert-buffer-in-progress-p lsp--cur-version lsp--delay-timer lsp-debounce-full-sync-notifications-interval lsp--signature-last-index match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] t mapc #[257 "\f\206\306!\211\307\267\202P \203\"p\310 \311 F\312\313\"B\211\207\314\315\316\317\311 !D\")\207\314\315\320\310 \316\317\303\203F\303\300\301\302#\202K\321\300\301\302#!F\")\207\322\207" [V0 V1 V2 V3 lsp-document-sync-method lsp-debounce-full-sync-notifications lsp--workspace-sync-method #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 13 2 48)) lsp--versioned-text-document-identifier lsp--full-change-event -remove #[257 "\211A@p\232\207" [] 4 "\n\n(fn INPUT0)"] lsp-notify "textDocument/didChange" :contentChanges vector :textDocument lsp--text-document-content-change-event nil lsp--delayed-requests lsp--cur-workspace] 12 "\n\n(fn WORKSPACE)"] lsp-workspaces cancel-timer run-with-idle-timer nil lsp--flush-delayed-changes lsp--remove-overlays lsp-highlight lsp--after-change mapcar #[257 "\211\211\301H\302\303\304 !\"\262)\207" [lsp--cur-workspace 20 remhash lsp--fix-path-casing buffer-file-name] 5 "\n\n(fn IT)"] lsp--signature-last lsp-diagnostic-clean-after-change] 13 (#$ . 202080)]) #@18 Flag to control. (defvar lsp-inhibit-lsp-hooks nil (#$ . 203714)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\307\310\311&\207" [custom-declare-variable lsp-on-change-hook funcall function #[0 "\300\207" [nil] 1] "Hooks to run when buffer has changed." :type hook :group lsp-mode lsp-idle-delay #[0 "\300\207" [0.5] 1] "Debounce interval for `after-change-functions'." number lsp-on-idle-hook #[0 "\300\207" [nil] 1] "Hooks to run after `lsp-idle-delay'."] 8) #@15 (fn BUFFER) (defalias 'lsp--idle-reschedule #[257 "\203\302!\210\303 \304\305$\211\207" [lsp--on-idle-timer lsp-idle-delay cancel-timer run-with-idle-timer nil lsp--on-idle] 6 (#$ . 204276)]) (defalias 'lsp--post-command #[0 "\300 \210\301p!\207" [lsp--cleanup-highlights-if-needed lsp--idle-reschedule] 2]) #@39 Start post command loop. (fn BUFFER) (defalias 'lsp--on-idle #[257 "\302!\205\211p\232\205?\205 \205\303\304!\207" [lsp-inhibit-lsp-hooks lsp-managed-mode buffer-live-p run-hooks lsp-on-idle-hook] 3 (#$ . 204598)]) #@15 (fn BUFFER) (defalias 'lsp--on-change-debounce #[257 "\302!\205\211p\232\205?\205 \205\303\304!\207" [lsp-inhibit-lsp-hooks lsp-managed-mode buffer-live-p run-hooks lsp-on-change-hook] 3 (#$ . 204830)]) #@15 (fn BUFFER) (defalias 'lsp--after-change #[257 "\203\302!\210\303 \304\305$\306!\207" [lsp--on-change-timer lsp-idle-delay cancel-timer run-with-idle-timer nil lsp--on-change-debounce lsp--idle-reschedule] 6 (#$ . 205051)]) #@106 Self insert handling. Applies on type formatting. (fn FIRST-TRIGGER-CHARACTERS MORE-TRIGGER-CHARACTERS) (defalias 'lsp--on-type-formatting #[514 "\301!=\204\302\303\301$\205B\304 \211A\262\242@\305\306\307\310\311\312 !\313\314 $\315 \"\316\317#\320\316\321\"\322\323\324& \266\203\207" [last-command-event string-to-char cl-find :key lsp--create-apply-text-edits-handlers lsp-request-async "textDocument/onTypeFormatting" lsp-merge lsp-make-document-on-type-formatting-params :ch char-to-string :position lsp--cur-position lsp--make-document-formatting-params make-closure #[257 "\300!\210\301 \207" [V0 V1] 3 "\n\n(fn TEXT-EDITS)"] :error-handler #[257 "\300 \210\301\302!!\207" [V0 error lsp:json-error-message] 4 "\n\n(fn ERR)"] :cancel-handler :mode tick] 16 (#$ . 205291)]) (defalias 'lsp--document-links #[0 "\300\301!\205\302\301\303\304 D\305\306\307%\207" [lsp-feature\? "textDocument/documentLink" lsp-request-async :textDocument lsp--text-document-identifier #[257 "\300\301!\210\302\303\"\207" [lsp--remove-overlays lsp-link seq-do #[257 "\211\300\301\"\300\302\"\300\303\"\304\305!\305!\306\307!\310\311 \312\313\314#\210\312\315\314#\210\211\262\316\317&\320\321\322#\210\207" [gethash "range" "start" "end" make-button lsp--position-to-point action lsp--document-link-keymap keymap make-sparse-keymap define-key [M-return] push-button [mouse-2] help-echo "mouse-2, M-RET: Visit this link" overlay-put lsp-link t] 16 "\n\n(fn INPUT0)"]] 4 "\n\n(fn LINKS)"] :mode unchanged] 6]) #@12 (fn URL) (defalias 'lsp--document-link-handle-target #[257 "\301\302!!\303!>\204\304\305\306D\"\210\211\307H\211\310\267\202'\311\312!!\207\313!\207\211\314!\211\2033\211!\207\304\315C\"\207" [cl-struct-url-tags url-generic-parse-url url-unhex-string type-of signal wrong-type-argument url 1 #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("file" 29 "https" 35 "http" 35)) find-file lsp--uri-to-path browse-url lsp--get-uri-handler lsp-file-scheme-not-supported] 8 (#$ . 206828)]) #@15 (fn INPUT0) (defalias 'lsp--document-link-keymap #[257 "\211\300\301\"\211\203\302\303\"\207\302\304\"\207" [gethash "target" make-closure #[257 "\301\300!\207" [V0 lsp--document-link-handle-target] 3 "\n\n(fn _)" nil] #[257 "\301\302\303!!\205 \304\305\300\306#\207" [V0 lsp:document-link-registration-options-resolve-provider\? lsp--capability :documentLinkProvider lsp-request-async "documentLink/resolve" #[257 "\300\301\"\302!\207" [gethash "target" lsp--document-link-handle-target] 4 "\n\n(fn INPUT0)"]] 5 "\n\n(fn _)" nil]] 6 (#$ . 207372)]) #@44 Get language corresponding current buffer. (defalias 'lsp-buffer-language #[0 "\301\302\"A\206 \303\304!\207" [lsp-language-id-configuration -first #[257 "\211\211A\262\242;\203\302\"\203\207 =\205\211\207" [buffer-file-name major-mode s-matches\?] 7 "\n\n(fn INPUT0)"] lsp-warn "Unable to calculate the languageId for current buffer. Take a look at lsp-language-id-configuration."] 3 (#$ . 207938)]) #@76 Find the workspace root for the current file or PATH. (fn &optional PATH) (defalias 'lsp-workspace-root #[256 "\211\206\300 \211\205e\301!\211\205c\302\303 \211\304H\262\305\302\211\211\203^\211A\262\242\262\262\211\262\203^\306\"\203Q\307\"\204J\232\203Q\302\262\203^\262\262T\262\202\266\211\262\262\207" [buffer-file-name lsp-f-canonical nil lsp-session 1 0 lsp--files-same-host lsp-f-ancestor-of\?] 12 (#$ . 208360)]) #@65 Executed when a file is reverted. Added to `after-revert-hook'. (defalias 'lsp-on-revert #[0 "\301 \302\303\304\211#)\207" [revert-buffer-in-progress-p buffer-size nil lsp-on-change 0] 5 (#$ . 208831)]) #@218 Executed when the file is closed, added to `kill-buffer-hook'. If KEEP-WORKSPACE-ALIVE is non-nil, do not shutdown the workspace if it's closing the last buffer in the workspace. (fn &optional KEEP-WORKSPACE-ALIVE) (defalias 'lsp--text-document-did-close #[256 "\300\301\302\"\303 \"\207" [mapcar make-closure #[257 "\211\3031J \304H\305 >\205D \211\304\306\305 \"I\266\3071+\310\311\312\313 D\"0\210\2021\314\315\"\266\n?\205D\300?\205D \304H?\205D\316 \2620\202R\314\317\"\210\320\262)\207" [V0 lsp--cur-workspace lsp-keep-workspace-alive (debug error) 9 lsp-current-buffer delq (debug error) lsp-notify "textDocument/didClose" :textDocument lsp--text-document-identifier message "Error sending didClose notification in ‘lsp--text-document-did-close’: %S" lsp--shutdown-workspace "Error on ‘lsp--text-document-did-close’: %S" nil] 8 "\n\n(fn IT)"] lsp-workspaces] 5 (#$ . 209043)]) #@15 (fn REASON) (defalias 'lsp--will-save-text-document-params #[257 "\300\301 \302F\207" [:textDocument lsp--text-document-identifier :reason] 5 (#$ . 209961)]) #@22 Before save handler. (defalias 'lsp--before-save #[0 "\30211\303\304!\305 \203\306\307\"\210\310 \205-\205-\311\3121*\313\314\315\"!0\202,\210\316)\2620\207\317\320\"\210\316\207" [lsp-before-save-edits lsp-response-timeout (debug error) lsp--will-save-text-document-params 1 lsp--send-will-save-p lsp-notify "textDocument/willSave" lsp--send-will-save-wait-until-p 0.1 (error) lsp--apply-text-edits lsp-request "textDocument/willSaveWaitUntil" nil message "Error in ‘lsp--before-save’: %S"] 5 (#$ . 210128)]) #@24 Handler for auto-save. (defalias 'lsp--on-auto-save #[0 "\300 \205\3011\302\303\304\305!\"0\207\306\307\"\210\310\262\207" [lsp--send-will-save-p (debug error) lsp-notify "textDocument/willSave" lsp--will-save-text-document-params 2 message "Error in ‘lsp--on-auto-save’: %S" nil] 4 (#$ . 210661)]) #@64 Executed when the file is closed, added to `after-save-hook''. (defalias 'lsp--text-document-did-save #[0 "\300 \205$\3011\302\303\304\305 \306 \205\307\310 DBB\"0\207\311\312\"\210\313\262\207" [lsp--send-did-save-p (debug error) lsp-notify "textDocument/didSave" :textDocument lsp--versioned-text-document-identifier lsp--save-include-text-p :text lsp--buffer-content message "Error on ‘lsp--text-document-did-save: %S’" nil] 6 (#$ . 210976)]) #@232 Make TextDocumentPositionParams for the current point in the current document. If IDENTIFIER and POSITION are non-nil, they will be used as the document identifier and the position respectively. (fn &optional IDENTIFIER POSITION) (defalias 'lsp--text-document-position-params #[512 "\300\206\301 \302\206\303 F\207" [:textDocument lsp--text-document-identifier :position lsp--cur-position] 6 (#$ . 211440)]) #@28 Return buffer diagnostics. (defalias 'lsp--get-buffer-diagnostics #[0 "\302\303\304\"\206 \305 !\306\307!\"\207" [lsp--virtual-buffer buffer-file-name gethash plist-get :buffer-file-name lsp--fix-path-casing lsp-diagnostics t] 4 (#$ . 211861)]) #@56 Return any diagnostics that apply to the current line. (defalias 'lsp-cur-line-diagnostics #[0 "\300 \301\211\302\"\303\"\301\211\304\"\303\"\305\306\307\310#\311 \"\312\"\207" [lsp--region-or-line plist-get :start :line :end cl-coerce -filter make-closure #[257 "\302\303\302\304\302\305\"\"\"\211\300Y\205\211\301X\207" [V0 V1 gethash "line" "start" "range"] 8 "\n\n(fn INPUT0)"] lsp--get-buffer-diagnostics vector] 9 (#$ . 212114)]) (defalias 'lsp--cur-line-diagnotics 'lsp-cur-line-diagnostics) #@88 Return the line pointed to by POS (a Position object) in the current buffer. (fn POS) (defalias 'lsp--extract-line-from-buffer #[257 "\301!\302\212\211b\210\303\304 \305 \"*\207" [inhibit-field-text-motion lsp--position-to-point t buffer-substring-no-properties line-beginning-position line-end-position] 5 (#$ . 212627)]) #@66 Return a xref-item from a RANGE in FILENAME. (fn INPUT0 INPUT1) (defalias 'lsp--xref-make-item #[514 "\300\301\"\300\302\"\300\303\"\300\304\"\300\302\"\305!\211G\306^\307]^\307]\310\311%\210\312\2064\313\n\314 T!\315 !#\"\207" [gethash "start" "character" "line" "end" lsp--extract-line-from-buffer add-face-text-property 0 highlight t xref-make xref-make-file-location lsp-translate-line lsp-translate-column] 17 (#$ . 212959)]) #@81 Return a list of `xref-item' from Location[] or LocationLink[]. (fn LOCATIONS) (defalias 'lsp--locations-to-xref-items #[257 "\300!\203 \301\302\"\202\211C\262\303\304\301\305@!\203)\306\307\302\"\310\311\"\"\2024\306\307\312\"\310\313\"\"\"\207" [sequencep append nil #[514 "\211A\262\242\3001W\3011N\302!\303\304#\203+rq\210\305\")\266\202\202K\306!\205I\307\310\311\"r\211q\210\303\312\"\216\313!\210\305\"*\262\266\20200\2070\314\315\316!#\207\314\317\316!#\207" [(file-error) (error) find-buffer-visiting make-closure #[257 "\304\305\306\301#\211\203>\307\n\310\"\211\203$\307\n\311\"\211\312\313\300\301$!)\2029r\nq\210\314\301\300\2034\315!\2027\316!\")\262\202N\314\301\300\203J\315!\202M\316!\")\207" [V0 V1 lsp--virtual-buffer lsp--buffer-workspaces get-text-property 0 lsp-virtual-buffer plist-get :with-current-buffer :workspaces make-closure #[0 "\303\301\300\203\f\304\302!\202\305\302!\"\207" [V0 V1 V2 lsp--xref-make-item lsp:location-link-target-selection-range lsp:location-range] 4] lsp--xref-make-item lsp:location-link-target-selection-range lsp:location-range] 9 "\n\n(fn LOC)"] seq-map file-readable-p generate-new-buffer " *temp*" t #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents-literally lsp-warn "Failed to process xref entry for filename '%s': %s" error-message-string "Failed to process xref entry, file-error, '%s': %s"] 11 "\n\n(fn FILE-LOCS LOCATION-LINK)"] apply lsp-location\? seq-map -rpartial seq-group-by #[128 #1="\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp:location-uri (lsp--uri-to-path) apply 0 nil] 8 #2="\n\n(fn &rest ARGS)"] t #[128 #1# [lsp:location-link-target-uri (lsp--uri-to-path) apply 0 nil] 8 #2#]] 9 (#$ . 213419)]) #@238 Make a ReferenceParam object. If TD-POSITION is non-nil, use it as TextDocumentPositionParams object instead. If INCLUDE-DECLARATION is non-nil, request the server to include declarations. (fn &optional TD-POSITION INCLUDE-DECLARATION) (defalias 'lsp--make-reference-params #[512 "\301\302\206 \303 \304\305\206D#)\207" [json-false :json-false plist-put lsp--text-document-position-params :context :includeDeclaration] 7 (#$ . 215252)]) #@52 Cancel request with ID in all workspaces. (fn ID) (defalias 'lsp--cancel-request #[257 "\300\301\302\"\303 \"\207" [mapcar make-closure #[257 "\211\302\300 \303H\211\304H\262\"\210\305\306\307\300D\")\207" [V0 lsp--cur-workspace remhash 5 8 lsp-notify "$/cancelRequest" :id] 6 "\n\n(fn IT)"] lsp-workspaces] 5 (#$ . 215703)]) #@28 `lsp-mode' eldoc function. (defalias 'lsp-eldoc-function #[0 "\301\302!\210\207" [eldoc-last-message run-hooks lsp-eldoc-hook] 2 (#$ . 216039)]) (defalias 'lsp--point-on-highlight\? #[0 "\300\301\302`!\"\207" [-some\? #[257 "\300\301\"\207" [overlay-get lsp-highlight] 4 "\n\n(fn OVERLAY)"] overlays-at] 4]) (defalias 'lsp--cleanup-highlights-if-needed #[0 "\205 \205\302 ?\205\303\304!\210\305\306\307!\207" [lsp-enable-symbol-highlighting lsp--have-document-highlights lsp--point-on-highlight\? lsp--remove-overlays lsp-highlight nil lsp-cancel-request-by-token :highlights] 2]) (defalias 'lsp--document-highlight #[0 "\301\302!\206 \303 \206 ??\205\304\305\306 \307\310\311\312\313&\207" [lsp-enable-symbol-highlighting looking-at "[[:space:]\n]" lsp--point-on-highlight\? lsp-request-async "textDocument/documentHighlight" lsp--text-document-position-params lsp--document-highlight-callback :mode tick :cancel-token :highlights] 8]) #@69 Display the type signature and documentation of the thing at point. (defalias 'lsp-describe-thing-at-point #[0 "\305 \211\205\n\306\307\"\262\211\205\310!\262\211\205\311!\262\211\203l\211\312\232\204lr\313\314!q\210\315\211\223\210\316 B\317\nB\320 \321\314!\211\315\211\322\323\324\"!c\262rq\210\325\315\"\262)\326\327!\203f\327\"\202g\211)\266\203+\207\330\331!\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output lsp--text-document-position-params lsp--make-request "textDocument/hover" lsp--send-request lsp:hover-contents "" get-buffer-create "*lsp-help*" nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup string-trim-right lsp--render-on-hover-content t temp-buffer-window-show functionp help-window-setup lsp--info "No content at point."] 8 (#$ . 216998) nil]) #@65 Return whether the current point is within BOUNDS. (fn BOUNDS) (defalias 'lsp--point-in-bounds-p #[257 "\211@`X\205 `AW\207" [] 3 (#$ . 217903)]) #@43 Get renderer for LANGUAGE. (fn LANGUAGE) (defalias 'lsp-get-renderer #[257 "\300\301\"\207" [make-closure #[257 "\301\300\"\207" [V0 lsp--render-string] 4 "\n\n(fn STR)"]] 4 (#$ . 218058)]) #@99 Setup the ‘markdown-mode’ in the frame. MODE is the mode used in the parent frame. (fn MODE) (defalias 'lsp--setup-markdown #[257 "\306\307!\210\310\"\211\203\211@\311\307B\"\210A\266\202\202\210\306\301!\210\312\306\302!\210\211\306\303!\210\312\313\314\315X\203H\316\317\"BB\262T\262\2021\211\237\266\202\320\fB\321\fB\322\fB\323\fB\324\325\326!\207" [lsp-custom-markup-modes markdown-fontify-code-blocks-natively markdown-fontify-code-block-default-mode markdown-hide-markup prettify-symbols-alist prettify-symbols-compose-predicate make-local-variable markdown-code-lang-modes alist-get add-to-list t 0 nil 255 format "&#x%02X;" ("<" . 60) (">" . 62) ("&" . 38) (" " . 32) #[771 "\300\207" [t] 4 "\n\n(fn START END MATCH)"] prettify-symbols-mode 1] 7 (#$ . 218257)]) #@63 Return visible buffer string. Stolen from `org-copy-visible'. (defalias 'lsp--buffer-string-visible #[0 "\301\302!edU\2043\303\304\"\203\305\304\306$\262\305\304\306${rq\210\211c\210)\262\266\202\307rq\210\310\311\312 \")\313!\210\207" [deactivate-mark generate-new-buffer " *temp*" get-char-property invisible next-single-char-property-change nil t s-chop-suffix "\n" buffer-string kill-buffer] 8 (#$ . 219081)]) #@18 Render markdown. (defalias 'lsp--render-markdown #[0 "\302eb\210\303\304\302\305#\203\306\307!\210\202eb\210\303\310\302\305#\203&\306\311!\210\202\312\313!\2032\313 \210\2025\314 \210\315 !)\207" [markdown-enable-math major-mode nil re-search-forward "^-+$\\|\\* \\* \\*$\\|---$\\|___$" t replace-match "" "\\\\\\([]!#(-+./:[\\_`{|}-]\\)" "\\1" fboundp gfm-view-mode gfm-mode lsp--setup-markdown] 4 (#$ . 219523)]) #@953 Replaced string regexp and function returning image. Each element should be: (MODE . (PROPERTY-LIST...)) MODE (car) is function which is defined in `lsp-language-id-configuration'. Cdr should be list of PROPERTY-LIST. Each PROPERTY-LIST should have properties: :regexp Regexp which determines what string is relpaced to image. You should also get information of image, by parenthesis constructs. By default, all matched string is replaced to image, but you can change index of replaced string by keyword :replaced-index. :sexp Return image when evaluated. You can use information of regexp by using (match-beggining N), (match-end N) or (match-substring N). In addition, each can have property: :replaced-index Determine index which is used to replace regexp to image. The value means first argument of `match-beginning' and `match-end'. If omitted, interpreted as index 0. (defvar lsp--display-inline-image-alist '((lsp--render-markdown (:regexp "!\\[.*?\\](data:image/[a-zA-Z]+;base64,\\([A-Za-z0-9+/\n]+?=*?\\)\\(|[^)]+\\)?)" :sexp (create-image (base64-decode-string (buffer-substring-no-properties (match-beginning 1) (match-end 1))) nil t)))) (#$ . 219956)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable lsp-display-inline-image funcall function #[0 "\300\207" [t] 1] "Showing inline image or not." :group lsp-mode :type boolean] 8) #@45 Add image property if available. (fn MODE) (defalias 'lsp--display-inline-image #[257 "\211\236A\303 \205e \205e\211\304\211\211:\203b@\262\305\306\"\262\305\307\"\206(\310\262\311\304D\"\210\312\212eb\210\313\304\312#\203Z\314\224\225\304#\210\315\224\225\316\317\305\320\"!D#\210\2027*A\262\202\266\304\207" [lsp--display-inline-image-alist lsp-display-inline-image inhibit-read-only display-images-p nil plist-get :regexp :replaced-index 0 font-lock-remove-keywords t re-search-forward set-text-properties add-text-properties display eval :sexp] 14 (#$ . 221420)]) #@40 Fontlock STR with MODE. (fn STR MODE) (defalias 'lsp--fontlock-with-mode #[514 "\3011.\302\303\304\"r\211q\210\305\306\"\216c\210\307\300!\210\304 \210)\310\311 \210\312!\266\313 *\2620\207\210\207" [delay-mode-hooks (error) generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] make-local-variable nil font-lock-ensure lsp--display-inline-image lsp--buffer-string-visible] 6 (#$ . 222024)]) #@145 Render STR using `major-mode' corresponding to LANGUAGE. When language is nil render as markup if `markdown-mode' is loaded. (fn STR LANGUAGE) (defalias 'lsp--render-string #[514 "\206\301\262\302\303\304\"\"\211\203\305\"\207\306\307\301#\207" [lsp-language-id-configuration "" -some make-closure #[257 "\211\211A\262\242\211\300\232\205\301!\205\207" [V0 functionp] 6 "\n\n(fn INPUT0)"] lsp--fontlock-with-mode s-replace " "] 7 (#$ . 222491)]) #@39 Render CONTENT element. (fn CONTENT) (defalias 'lsp--render-element #[257 "\301\302!\203\303\304\"\303\305\"\306\"\266\202\202H\307!\2030\303\305\"\303\310\"\306\"\266\202\202H\211;\203<\306\311\"\202H\211\204D\312\202L\313\314\"\206L\312)\207" [inhibit-message t lsp-marked-string\? gethash "language" "value" lsp--render-string lsp-markup-content\? "kind" "markdown" "" error "Failed to handle %s"] 6 (#$ . 222964)]) (defalias 'lsp--create-unique-string-fn #[0 "\300C\301\302\"\207" [nil make-closure #[257 "\301\300\242\302\303$\211\304U\203\202\305\306#\300\300\242B\240\210\207" [V0 cl-count :test string= 0 format "%s (%s)"] 6 "\n\n(fn ELEMENT)"]] 4]) #@57 Select an action to execute from ACTIONS. (fn ACTIONS) (defalias 'lsp--select-action #[257 "\302!\203 \303\304\305\"\207\306!\307=\203\203\310!\207\311\312\313\314\315\"\316\317 \320\"\305\311%)\207" [lsp-auto-execute-action completion-ignore-case seq-empty-p signal lsp-no-code-actions nil seq-length 1 lsp-seq-first t lsp--completing-read "Select code action: " seq-into list -compose lsp--create-unique-string-fn lsp:code-action-title] 7 (#$ . 223662)]) #@144 Apply join-line from BEG to END. This function is useful when an indented function prototype needs to be shown in a single line. (fn BEG END) (defalias 'lsp-join-region #[514 "\212\300!b\210`W\203\301\302!\210\202\210\303\304 !)\207" [copy-marker join-line 1 s-trim buffer-string] 5 (#$ . 224138)]) #@52 Return the server ID of WORKSPACE. (fn WORKSPACE) (defalias 'lsp--workspace-server-id #[257 "\211\300H\211\301H\207" [5 15] 4 (#$ . 224451)]) #@94 Return a single line from RENDERED, appropriate for display in the echo area. (fn CONTENTS) (defalias 'lsp--handle-rendered-for-echo-area #[257 "\300 \211:\203\211\242\243\211\204\301\302!\"\207\301\303\"\207\301\303\"\207" [lsp-workspaces lsp-clients-extract-signature-on-hover lsp--workspace-server-id nil] 9 (#$ . 224600)]) (byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\303\304\307%\207" [defalias lsp-clients-extract-signature-on-hover cl-generic-define (contents _server-id) nil "Extract a representative line from CONTENTS, to show in the echo area.\n\n(fn CONTENTS SERVER-ID)" cl-generic-define-method #[514 "\300\301!!@\207" [s-lines lsp--render-element] 5 "\n\n(fn CONTENTS SERVER-ID)"]] 6) #@205 Render the content received from 'document/onHover' request. CONTENTS - MarkedString | MarkedString[] | MarkupContent RENDER-ALL - nil if only the signature should be rendered. (fn CONTENTS RENDER-ALL) (defalias 'lsp--render-on-hover-content #[514 "\302!\203\211\203\303!\207\304!\207;\203+\305\306\307\310#)\266\203\204+\303!\207\311!\2046;\203:C\262\312\303\203D\202H\313\314\"\"\315\301!\203W \203W\316\202X\305\317\320#\207" [inhibit-changing-match-data page-break-lines-mode lsp-markup-content\? lsp--render-element lsp--handle-rendered-for-echo-area "\n" nil t string-match lsp-marked-string\? seq-map seq-filter #[128 "\301\300\302\303\211\211\2034\211A\262\242\262\262\211\262\2034\304\"\211\262\2034\262\262T\262\202\266\207" [(lsp-marked-string\? #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp:marked-string-language (lsp-get-renderer) apply 0 nil] 8 "\n\n(fn &rest ARGS)"]) t 0 nil apply] 10 "\n\n(fn &rest ARGS)"] boundp "\n\f\n" mapconcat identity] 9 (#$ . 225332)]) #@37 Keymap for `lsp-signature-mode-map' (defvar lsp-signature-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\207" [make-sparse-keymap define-key [134217838] lsp-signature-next [134217840] lsp-signature-previous [134217825] lsp-signature-toggle-full-docs " " lsp-signature-stop] 5) (#$ . 226433)) #@105 Non-nil if Lsp-Signature mode is enabled. Use the command `lsp-signature-mode' to change this variable. (defvar lsp-signature-mode nil (#$ . 226785)) (make-variable-buffer-local 'lsp-signature-mode) #@22 (fn &optional ARG) (defalias 'lsp-signature-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [lsp-signature-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks lsp-signature-mode-hook lsp-signature-mode-on-hook lsp-signature-mode-off-hook called-interactively-p any message "Lsp-Signature mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 226990) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-signature-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" [lsp-signature-mode-map lsp-signature-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-signature-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 lsp-signature-mode ""] 6) #@38 Stop showing current signature help. (defalias 'lsp-signature-stop #[0 "\302\303!\210r\206\npq\210\304\305\306\307#\210)\304\310\311\"\210 \312!\210\313\314!\207" [lsp--signature-last-buffer lsp-signature-function lsp-cancel-request-by-token :signature remove-hook lsp-on-idle-hook lsp-signature t post-command-hook lsp--signature-maybe-stop nil lsp-signature-mode -1] 4 (#$ . 228196) nil]) #@16 (fn MESSAGE) (defalias 'lsp-lv-message #[257 "\211\203 p\302\303!)\207\304 \207" [lsp--signature-last-buffer lv-force-update t lv-message lv-delete-window] 3 (#$ . 228595)]) #@18 (fn SIGNATURE) (defalias 'lsp--handle-signature-update #[257 "\301!\203\f\302!\202\303\302\304#\305!\203!\207\306 \207" [lsp-signature-function lsp-signature-help\? lsp--signature->message mapconcat "\n" s-present\? lsp-signature-stop] 5 (#$ . 228781)]) (defalias 'lsp--signature-maybe-stop #[0 "\205 p\232?\205 \301 \207" [lsp--signature-last-buffer lsp-signature-stop] 2]) #@84 Activate signature help. It will show up only if current point has signature help. (defalias 'lsp-signature-activate #[0 "\303\211\303\304\305\306\303\307$\210\304\310\311\"\210\312\307!\207" [lsp--signature-last lsp--signature-last-index lsp--signature-last-buffer nil add-hook lsp-on-idle-hook lsp-signature t post-command-hook lsp--signature-maybe-stop lsp-signature-mode] 6 (#$ . 229179) nil]) #@22 Show next signature. (defalias 'lsp-signature-next #[0 "\205 \205T\303 !GW\205T\n\304 !!\207" [lsp--signature-last-index lsp--signature-last lsp-signature-function lsp:signature-help-signatures lsp--signature->message] 3 (#$ . 229586) nil]) #@17 Next signature. (defalias 'lsp-signature-previous #[0 "\205 \205\303U?\205S\n\304 !!\207" [lsp--signature-last-index lsp--signature-last lsp-signature-function 0 lsp--signature->message] 3 (#$ . 229843) nil]) #@46 Toggle full/partial signature documentation. (defalias 'lsp-signature-toggle-full-docs #[0 "\247?\211\203\242\206\301\202C\210\302 \207" [lsp-signature-doc-lines 20 lsp-signature-activate] 2 (#$ . 230068) nil]) #@75 Generate eldoc message from SIGNATURE-HELP response. (fn SIGNATURE-HELP) (defalias 'lsp--signature->message #[257 "\211\211\205\304\305!!?\205\306\307\"\306\310\"\306\311\" \206$\206$\312\313\314\"\315!\2055\306\316\"\315!\205?\306\317\"\320\321TG\322\323\324\325#$\211G\326Z\n\205\251 \247\203`\312 W\205\251\327\330!!\331!\205\247\322\332\333\334\"\335Q\324\325#\332 \247\203\231\336!G V\203\231\337\332\340 \336!\"\"\322\341\324\342#P\202\232\322\332\333\334\"\343Q\324\325#R\262 \203\304!\204\344\345 G#\205\304\314 \"\211\203\346!\211;\203\324\211\202\330\347\313\"\262\211\203\211;\203\353\350\"\202\355\211@\211\203;\203\375\211G\\\202A@\211\203 \351\352\313 %\210\210\210\210\210Q\266\213\207" [lsp--signature-last lsp--signature-last-index lsp-signature-render-documentation lsp-signature-doc-lines seq-empty-p lsp:signature-help-signatures gethash "activeSignature" "activeParameter" "signatures" 0 nil seq-elt ht\? "label" "parameters" format "%s/%s%s" propertize "│ " face shadow 2 lsp--render-element lsp:parameter-information-documentation\? s-present\? "\n" s-repeat "─" "┴─────────────────────────────────────────────────" s-lines s-join -take "\nTruncated..." highlight "──────────────────────────────────────────────────" < -1 lsp:parameter-information-label append s-index-of add-face-text-property eldoc-highlight-function-argument] 22 (#$ . 230295)]) #@64 Display signature info (based on `textDocument/signatureHelp') (defalias 'lsp-signature #[0 "\300\301\302 \303\304\305%\207" [lsp-request-async "textDocument/signatureHelp" lsp--text-document-position-params lsp--handle-signature-update :cancel-token :signature] 6 (#$ . 231963)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable lsp-overlay-document-color-char funcall function #[0 "\300\207" [#1="■"] 1 #1#] "Display the char represent the document color in overlay" :type string :group lsp-mode] 8) #@20 (fn COLOR RANGE) (defalias 'lsp--color-create-interactive-command #[514 "\300\301#\207" [make-closure #[0 "\302\303\304\305\306\307 \310\300\311\301\257\"\312\313\314%\315!\205\316\317\"\315!\205&\316\320\"\203.\321!\210\211\2055\322!\207" [V0 V1 lsp--completing-read "Select color presentation: " lsp-request "textDocument/colorPresentation" :textDocument lsp--text-document-identifier :color :range lsp:color-presentation-label nil t ht\? gethash "textEdit" "additionalTextEdits" lsp--apply-text-edit lsp--apply-text-edits] 10 nil nil]] 6 (#$ . 232511)]) #@15 (fn NUMBER) (defalias 'lsp--number->color #[257 "\300\301\302\206\303\304_!\"\211G\305U\203\306P\207\207" [format "%x" round 0 255.0 1 "0"] 6 (#$ . 233091)]) #@25 Document color handler. (defalias 'lsp--document-color #[0 "\300\301!\205\302\301\303\304 D\305\306\307\310\311&\207" [lsp-feature\? "textDocument/documentColor" lsp-request-async :textDocument lsp--text-document-identifier #[257 "\300\301!\210\302\303\"\207" [lsp--remove-overlays lsp-color seq-do #[257 "\301\302\"\301\303\"\301\304\"\301\305\"\301\306\"\307!\211A\262\242\310\"\311 \"\312\313\314#\210\312\315\314#\210\312\316\317\320\321\322\323\324!\324!\324!$DC\325\326\327\330\331 \332\333#\210\211\262& #\207" [lsp-overlay-document-color-char gethash "color" "red" "green" "blue" "range" lsp--range-to-region make-overlay lsp--color-create-interactive-command overlay-put lsp-color t evaporate before-string propertize face :foreground format "#%s%s%s" lsp--number->color action mouse-face lsp-lens-mouse-face local-map make-sparse-keymap define-key [mouse-1]] 28 "\n\n(fn INPUT0)"]] 4 "\n\n(fn RESULT)"] :mode unchanged :cancel-token :document-color-token] 8 (#$ . 233263)]) (defvar lsp--hover-saved-bounds nil nil) (make-variable-buffer-local 'lsp--hover-saved-bounds) #@61 Display hover info (based on `textDocument/signatureHelp'). (defalias 'lsp-hover #[0 "\203\303!\203\304 !\207\305\211\306\307!\203\304\305!\207\n\2053\310\311!\2053\312\313\314 \315\316\317\320\321\322\323& \207" [lsp--hover-saved-bounds lsp--eldoc-saved-message lsp-eldoc-enable-hover lsp--point-in-bounds-p lsp--eldoc-message nil looking-at "[[:space:]\n]" lsp--capability :hoverProvider lsp-request-async "textDocument/hover" lsp--text-document-position-params #[257 "\211\302!\205 \303\304\"\302!\205\303\305\"\205+\203!\306!\307\205*\310 \"!\207" [lsp--hover-saved-bounds lsp-eldoc-render-all ht\? gethash "range" "contents" lsp--range-to-region lsp--eldoc-message lsp--render-on-hover-content] 8 "\n\n(fn INPUT0)"] :error-handler ignore :mode tick :cancel-token :eldoc-hover] 11 (#$ . 234383)]) #@59 Find action handler for particular COMMAND. (fn COMMAND) (defalias 'lsp--find-action-handler #[257 "\300\301 \302\300\211\211\203N\211A\262\242\262\262\211\262\203N\211\205%\211\303H\262\211\205.\211\304H\262\211\2059\305\"\262\211\262\204N\262\262T\262\202\266\207" [nil lsp-workspaces 0 5 11 gethash] 11 (#$ . 235218)]) #@42 Code action params. (fn &optional KIND) (defalias 'lsp--text-document-code-action-params #[256 "\300\301 \302\303 \203\304\305 \306 \"\202\304``\"\307\310\311 \205%\312\313 !DBB\257\207" [:textDocument lsp--text-document-identifier :range use-region-p lsp--region-to-range region-beginning region-end :context :diagnostics lsp-cur-line-diagnostics :only vector] 11 (#$ . 235578)]) #@91 Retrieve the code actions for the active region or the current line. (fn &optional KIND) (defalias 'lsp-code-actions-at-point #[256 "\300\301\302!\"\207" [lsp-request "textDocument/codeAction" lsp--text-document-code-action-params] 5 (#$ . 235975)]) #@49 Execute code action by name. (fn COMMAND-KIND) (defalias 'lsp-execute-code-action-by-kind #[257 "\300\301\302\303\"\304!\"!\211\203\305!\207\306\307\310\"\207" [lsp--select-action -filter make-closure #[257 "\301\302\"\211\205 \300\232\207" [V0 gethash "kind"] 4 "\n\n(fn INPUT0)"] lsp-get-or-calculate-code-actions lsp-execute-code-action signal lsp-no-code-actions (command-kind)] 6 (#$ . 236233)]) (defalias 'lsp-get-or-calculate-code-actions 'lsp-code-actions-at-point) #@81 Parse and execute a code ACTION represented as a Command LSP type. (fn INPUT0) (defalias 'lsp--execute-command #[257 "\211\300\301\"\300\302\"\303!\211\203\211!\207\304\"\207" [gethash "command" "arguments" lsp--find-action-handler lsp--send-execute-command] 8 (#$ . 236722)]) #@117 Execute code action ACTION. If ACTION is not set it will be selected from `lsp-code-actions-at-point'. (fn INPUT0) (defalias 'lsp-execute-code-action #[257 "\211\300\301\"\300\302\"\211\203\303!\210;\203\304!\207\305!\205#\304!\207" [gethash "command" "edit" lsp--apply-workspace-edit lsp--execute-command lsp-command\?] 6 (#$ . 237015) (byte-code "\300\301 !C\207" [lsp--select-action lsp-code-actions-at-point] 2)]) #@53 A mapping from `major-mode' to its indent variable. (defvar lsp--formatting-indent-alist '((c-mode . c-basic-offset) (c++-mode . c-basic-offset) (d-mode . c-basic-offset) (java-mode . c-basic-offset) (jde-mode . c-basic-offset) (js-mode . js-indent-level) (js2-mode . js2-basic-offset) (js3-mode . js3-indent-level) (json-mode . js-indent-level) (lua-mode . lua-indent-level) (objc-mode . c-basic-offset) (php-mode . c-basic-offset) (perl-mode . perl-indent-level) (cperl-mode . cperl-indent-level) (raku-mode . raku-indent-offset) (erlang-mode . erlang-indent-level) (ada-mode . ada-indent) (sgml-mode . sgml-basic-offset) (nxml-mode . nxml-child-indent) (pascal-mode . pascal-indent-level) (typescript-mode . typescript-indent-level) (sh-mode . sh-basic-offset) (ruby-mode . ruby-indent-level) (enh-ruby-mode . enh-ruby-indent-level) (crystal-mode . crystal-indent-level) (css-mode . css-indent-offset) (rust-mode . rust-indent-offset) (rustic-mode . rustic-indent-offset) (scala-mode . scala-indent:step) (powershell-mode . powershell-indent) (default . standard-indent)) (#$ . 237452)) #@45 Get indentation offset for MODE. (fn MODE) (defalias 'lsp--get-indent-width #[257 "\301\"\206\302\303N\206\304!\207" [lsp--formatting-indent-alist alist-get lsp--get-indent-width derived-mode-parent default] 4 (#$ . 238548)]) #@36 Create document formatting params. (defalias 'lsp--make-document-formatting-params #[0 "\302\303\304 \305\306\307\310!J\311 \203\312\202\313$$\207" [major-mode indent-tabs-mode lsp-make-document-formatting-params :text-document lsp--text-document-identifier :options lsp-make-formatting-options :tab-size lsp--get-indent-width :insert-spaces :json-false t] 9 (#$ . 238788)]) #@41 Ask the server to format this document. (defalias 'lsp-format-buffer #[0 "\300\301!\203\302\301\303 \"\304!\203\305\306!\207\307!\207\300\310!\203(\214~\210\311ed\")\207\312\313\314C\"\207" [lsp-feature\? "textDocument/formatting" lsp-request lsp--make-document-formatting-params seq-empty-p lsp--info "No formatting changes provided" lsp--apply-text-edits "textDocument/rangeFormatting" lsp-format-region signal lsp-capability-not-supported "documentFormattingProvider"] 3 (#$ . 239174) "*"]) #@90 Ask the server to format the region, or if none is selected, the current line. (fn S E) (defalias 'lsp-format-region #[514 "\300\301\302\"\"\303!\203\304\305!\207\306!\207" [lsp-request "textDocument/rangeFormatting" lsp--make-document-range-formatting-params seq-empty-p lsp--info "No formatting changes provided" lsp--apply-text-edits] 7 (#$ . 239681) "r"]) #@127 Define an interactive function FUNC-NAME that attempts to execute a CODE-ACTION-KIND action. (fn FUNC-NAME CODE-ACTION-KIND) (defalias 'lsp-make-interactive-code-action '(macro . #[514 "\300\301\302\303!P!\304\305\306\"\307\310\304\311D\312\313\314\315\305\316\"DEDF\257\207" [defun intern "lsp-" symbol-name nil format "Perform the %s code action, if available." (interactive) condition-case lsp-execute-code-action-by-kind lsp-no-code-actions when (called-interactively-p 'any) lsp--info "%s action not available"] 17 (#$ . 240055)])) #@63 Perform the source.organizeImports code action, if available. (defalias 'lsp-organize-imports #[0 "\3001 \301\302!0\207\210\303\304!\205\305\306!\207" [(lsp-no-code-actions) lsp-execute-code-action-by-kind "source.organizeImports" called-interactively-p any lsp--info "source.organizeImports action not available"] 2 (#$ . 240606) nil]) #@73 Make DocumentRangeFormattingParams for selected region. (fn START END) (defalias 'lsp--make-document-range-formatting-params #[514 "\300\301 \302\"\"\207" [lsp:set-document-range-formatting-params-range lsp--make-document-formatting-params lsp--region-to-range] 7 (#$ . 240952)]) (defconst lsp--highlight-kind-face '((1 . lsp-face-highlight-textual) (2 . lsp-face-highlight-read) (3 . lsp-face-highlight-write))) #@13 (fn NAME) (defalias 'lsp--remove-overlays #[257 "\214~\210\300ed\301$)\207" [remove-overlays t] 6 (#$ . 241374)]) #@62 Highlight all relevant references to the symbol under point. (defalias 'lsp-document-highlight #[0 "\300\301!\210\302 \207" [lsp--remove-overlays lsp-highlight lsp--document-highlight] 2 (#$ . 241497) nil]) #@185 Create a callback to process the reply of a 'textDocument/documentHighlight' message for the buffer BUF. A reference is highlighted only if it is visible in a window. (fn HIGHLIGHTS) (defalias 'lsp--document-highlight-callback #[257 "\301\302!\210\303\304\305\306\211\307#\"\310\303\311\312\"\"\207" [lsp--have-document-highlights lsp--remove-overlays lsp-highlight -map #[257 "\300\301!!S\300\302!!TB\207" [line-number-at-pos window-start window-end] 5 "\n\n(fn WIN)"] get-buffer-window-list nil visible t make-closure #[257 "\301\302\"\301\303\"\301\304\"\301\305\"\301\304\"\301\306\"\307\310\311&\300\"\207" [V0 gethash "range" "start" "line" "end" "kind" -map make-closure #[257 "\211\211A\262\242\306\300!\306\302!\301TV\205D\303TW\205D \205%\307`#?\205D\310\"\311\312\304\2065\313\236A#\210\311\314\315#\210\211\262\207" [V0 V1 V2 V3 V4 lsp-symbol-highlighting-skip-current lsp--position-to-point <= make-overlay overlay-put face 1 lsp-highlight t lsp--highlight-kind-face] 12 "\n\n(fn INPUT0)"]] 15 "\n\n(fn INPUT0)"]] 7 (#$ . 241711)]) #@43 (fn IDENTIFIERS FACES CATEGORY VARNAME) (defalias 'lsp--build-face-map #[1028 "\300\301\302\303\304$\"\"\207" [apply vector mapcar make-closure #[257 "\304\300\"A \203\211\204\305\306\301\302$\210\207" [V0 V1 V2 lsp-semantic-highlighting-warn-on-missing-face assoc lsp-warn "No face has been associated to the %s '%s': consider adding a corresponding definition to %s"] 7 "\n\n(fn ID)"]] 12 (#$ . 242805)]) #@18 (fn WORKSPACE) (defalias 'lsp--semantic-tokens-initialize-workspace #[257 "\302\303!\211\205\n\211\304H\262\206\305\306H!\211\205:\307\310\"\211\311\312\313!\314\315$I\266\211\316\312\317! \320\321$I\262\262\207" [lsp-semantic-token-faces lsp-semantic-token-modifier-faces lsp--registered-capability "textDocument/semanticTokens" 3 lsp:server-capabilities-semantic-tokens-provider\? 2 gethash "legend" 10 lsp--build-face-map lsp:semantic-tokens-legend-token-types "semantic token" "lsp-semantic-token-faces" 11 lsp:semantic-tokens-legend-token-modifiers "semantic token modifier" "lsp-semantic-token-modifier-faces"] 11 (#$ . 243234)]) (defalias 'lsp--semantic-tokens-request-update #[0 "\301\205\n\302 \303 B\304\"\207" [lsp--semantic-tokens-use-ranged-requests lsp--semantic-tokens-request window-start window-end t] 3]) #@26 (fn IS-RANGE-PROVIDER) (defalias 'lsp--semantic-tokens-initialize-buffer #[257 "\303>\203 \211\202\303B\211\304\305\306\307B\310\311$\210\312\313\314\311\315$\210\314 \210\316\317\"\211\207" [font-lock-extend-region-functions lsp--semantic-tokens-use-ranged-requests lsp--semantic-tokens-teardown font-lock-extend-region-wholelines advice--add-function :around #[0 "\300\301!\207" [advice--buffer-local font-lock-fontify-region-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local font-lock-fontify-region-function] 4 "\n\n(fn GV--VAL)"] lsp--semantic-tokens-fontify nil add-hook lsp-on-change-hook lsp--semantic-tokens-request-update t make-closure #[0 "\300\n\203\f\305\n!\210\306\306\211\307\310\311!\312\"\211\310\311!=\204#\313\311\"\210\210\314\315\316\317#\207" [V0 font-lock-extend-region-functions lsp--semantic-tokens-idle-timer lsp--semantic-tokens-use-ranged-requests lsp--semantic-tokens-cache cancel-timer nil advice--remove-function advice--buffer-local font-lock-fontify-region-function lsp--semantic-tokens-fontify advice--set-buffer-local remove-hook lsp-on-change-hook lsp--semantic-tokens-request-update t] 5]] 8 (#$ . 244082)]) #@52 (fn OLD-FONTIFY-REGION BEG END &optional LOUDLY) (defalias 'lsp--semantic-tokens-fontify #[1027 "\306\307\" \205\f\306\310\"\n\311=\204!\311=\204! \312\n\313\"U\204#\314\207#\210\315\316\317\n\"\320GS\321\311\320\311\211\211\211\211\211\322 \323\324\"\216\212\214~\210b\210\325 b\210\326 \262\327 \315\211%\315&\323\330\"\216b\210\331 b\210\326 \262Zy\210S  X\203\231HW\203\231\211HZ\262 \332\\\262\202uZ\262\f\210\nZy\210`\262\f\f\311\211X\203`H\262 \320U\204\324 y\210`\262 \320\262 \\\262\fTH\\\262 \333\\HH\262\f\n \\\262\334\\H\\\262 \203\n\335\336$\210\320GSX\203@H\2039\337\340\\H\341\321\"\"\320V\2039\342\n\nH#\210T\262\202\266 V\203T\311\262\311\211\262\202U\315\203`\332\\\262\202\260\266,\210+\210)\266\f\312\n\343\"\211\203\344@]A^BB\207\344BB\207" [lsp--buffer-workspaces lsp-semantic-tokens-apply-modifiers lsp--semantic-tokens-cache lsp--cur-version inhibit-field-text-motion buffer-undo-list seq-some lsp--workspace-semantic-highlighting-faces lsp--workspace-semantic-highlighting-modifier-faces nil lsp-get :_documentVersion (jit-lock-bounds 0 . 0) t gethash "data" 0 1 save-mark-and-excursion--save make-closure #[0 "\301\300!\207" [V0 save-mark-and-excursion--restore] 2] line-beginning-position line-number-at-pos buffer-modified-p #[0 "\300?\205\301\302!\207" [V0 restore-buffer-modified-p nil] 2] line-end-position 5 3 2 put-text-property face logand 4 lsh add-face-text-property :_region jit-lock-bounds inhibit-read-only inhibit-modification-hooks] 32 (#$ . 245267)]) #@35 (fn REGION FONTIFY-IMMEDIATELY) (defalias 'lsp--semantic-tokens-request #[514 "\301\203 \302!\210\303\203\304\202\305\306!\203\307\202\310\311\312 \205/\313\314@ A\"DBB\315\316$\317\315\320\"\321\322\323\324\325\326 \"& \207" [lsp--semantic-tokens-idle-timer #[257 "\203\302!\210\303 \304\305\306\"#\211\207" [lsp--semantic-tokens-idle-timer lsp-idle-delay cancel-timer run-with-idle-timer nil make-closure #[0 "\301\302\300\"\207" [V0 lsp--semantic-tokens-request nil] 3]] 7 "\n\n(fn FONTIFY-IMMEDIATELY)"] cancel-timer lsp-request-async "textDocument/semanticTokens/range" lsp-feature\? "textDocument/semanticTokensFull" "textDocument/semanticTokens/full" "textDocument/semanticTokens" :textDocument lsp--text-document-identifier :range lsp--region-to-range make-closure #[257 "\211\305 \306\f#\210\305 \307\300#\210\301\203\310 \210\300\205\302\311!\207" [V0 V1 V2 lsp--semantic-tokens-cache lsp--cur-version lsp-put :_documentVersion :_region font-lock-flush nil] 5 "\n\n(fn RESPONSE)"] :error-handler #[128 "\300\301!\207" [V0 t] 3 "\n\n(fn &rest _)"] :mode tick :cancel-token format "semantic-tokens-%s" lsp--buffer-uri] 15 (#$ . 246913)]) (defconst lsp--symbol-kind '((1 . "File") (2 . "Module") (3 . "Namespace") (4 . "Package") (5 . "Class") (6 . "Method") (7 . "Property") (8 . "Field") (9 . "Constructor") (10 . "Enum") (11 . "Interface") (12 . "Function") (13 . "Variable") (14 . "Constant") (15 . "String") (16 . "Number") (17 . "Boolean") (18 . "Array") (19 . "Object") (20 . "Key") (21 . "Null") (22 . "Enum Member") (23 . "Struct") (24 . "Event") (25 . "Operator") (26 . "Type Parameter"))) #@60 Return a `xref-item' from SYMBOL information. (fn INPUT0) (defalias 'lsp--symbol-information-to-xref #[257 "\301\302\"\301\303\"\301\304\"\301\305\"\301\306\301\307\"\"\301\310\"\301\311\"\312\313\314\315\n\" #\316\317!#\"\207" [lsp--symbol-kind gethash "kind" "name" "location" "uri" "start" "range" "line" "character" xref-make format "[%s] %s" alist-get xref-make-file-location lsp--uri-to-path] 14 (#$ . 248565)]) #@412 Get document symbols. If the buffer has not been modified since symbols were last retrieved, simply return the latest result. Else, if the request was initiated by Imenu updating its menu-bar entry, perform it asynchronously; i.e., give Imenu the latest result and then force a refresh when a new one is available. Else (e.g., due to interactive use of `imenu' or `xref'), perform the request synchronously. (defalias 'lsp--get-document-symbols #[0 "\303 U\203 \207\304\305 D\303 \n\204\306\307\"\211\207\310\307\311\312\"\313\314%\210 \207" [lsp--document-symbols-tick lsp--document-symbols lsp--document-symbols-request-async buffer-chars-modified-tick :textDocument lsp--text-document-identifier lsp-request "textDocument/documentSymbol" lsp-request-async make-closure #[257 "\211\300\303 \207" [V0 lsp--document-symbols lsp--document-symbols-tick lsp--imenu-refresh] 2 "\n\n(fn DOCUMENT-SYMBOLS)"] :mode alive] 8 (#$ . 249005)]) (advice-add 'imenu-update-menubar :around #[385 "\301\302\")\207" [lsp--document-symbols-request-async t apply] 5 "\n\n(fn OLDFUN &rest R)"]) #@108 Convert DOCUMENT-SYMBOLS to symbols hierarchy on CURRENT-POSITION. (fn DOCUMENT-SYMBOLS CURRENT-POSITION) (defalias 'lsp--document-symbols->symbols-hierarchy #[514 "\300\301\302\"\"\211\303!\205\304\305\"\211\203\306\"B\207\205$C\207" [seq-some make-closure #[257 "\211\301\302\"\301\303\"\301\304\"\305\300\"\205\305\300\"\205\207" [V0 gethash "range" "start" "end" lsp--position-compare] 8 "\n\n(fn INPUT0)"] ht\? gethash "children" lsp--document-symbols->symbols-hierarchy] 9 (#$ . 250106)]) #@116 Convert SYMBOLS-INFORMATIONS to symbols hierarchy on CURRENT-POSITION. (fn SYMBOLS-INFORMATIONS CURRENT-POSITION) (defalias 'lsp--symbols-informations->symbols-hierarchy #[514 "\300\301\302\"\"\207" [seq-filter make-closure #[257 "\211\301\302\301\303\"\"\301\304\"\301\305\"\306\300\"\205\306\300\"\205\207" [V0 gethash "range" "location" "start" "end" lsp--position-compare] 8 "\n\n(fn INPUT0)"]] 6 (#$ . 250634)]) #@53 Convert SYMBOLS to symbols-hierarchy. (fn SYMBOLS) (defalias 'lsp--symbols->symbols-hierarchy #[257 "\300!\211\205(\301\302\303\304 \302\"\305\303\304 \305\"$\306!\203\"\307\"\202&\310\"\262\207" [lsp-seq-first lsp-make-position :line plist-get lsp--cur-position :character lsp-symbol-information\? lsp--symbols-informations->symbols-hierarchy lsp--document-symbols->symbols-hierarchy] 9 (#$ . 251070)]) (defalias 'lsp--xref-backend #[0 "\300\207" [xref-lsp] 1]) (cl-generic-define-method 'xref-backend-identifier-at-point nil '((_backend (eql xref-lsp))) nil #[257 "\300\301\302!\206\303\304\305#\207" [propertize thing-at-point symbol "" identifier-at-point t] 5 "\n\n(fn BACKEND)"]) #@21 (fn SYMBOLS PATH) (defalias 'lsp--xref-elements-index #[514 "\300\301\302\"\"\207" [-mapcat make-closure #[257 "\301!\203'\302\303\"\302\304\"\305\306\302\307\"\310\"!\300PB\311\300\312Q\"B\207\302\303\"\305\306\302\313\"\310\"!\300P\305!B\311\314\300\312Q\"B\207" [V0 lsp-document-symbol\? gethash "name" "children" lsp--position-to-point lsp-get "selectionRange" :start lsp--xref-elements-index " / " "location" nil] 10 "\n\n(fn SYM)"]] 6 (#$ . 251775)]) (defvar lsp--symbols-cache nil nil) (byte-code "\300\301!\210\302\303\304\305\304\306%\210\302\307\304\310\304\311%\210\302\312\304\313\304\314%\210\302\315\304\316\304\317%\207" [make-variable-buffer-local lsp--symbols-cache cl-generic-define-method xref-backend-identifier-completion-table nil ((_backend (eql xref-lsp))) #[257 "\301\302!\203\303\304 \305\"\211\207\306\307\310!\206\311\312\313#C\207" [lsp--symbols-cache lsp--find-workspaces-for "textDocument/documentSymbol" lsp--xref-elements-index lsp--get-document-symbols nil propertize thing-at-point symbol "" identifier-at-point t] 6 "\n\n(fn BACKEND)"] xref-backend-definitions ((_backend (eql xref-lsp)) identifier) #[514 "\212\301\302\303#\204\304\"\206\305\306\"Ab\210\307\310\311\312 \"!)\207" [lsp--symbols-cache get-text-property 0 identifier-at-point assoc user-error "Unable to find symbol %s in current document" lsp--locations-to-xref-items lsp-request "textDocument/definition" lsp--text-document-position-params] 6 "\n\n(fn BACKEND IDENTIFIER)"] xref-backend-references ((_backend (eql xref-lsp)) identifier) #[514 "\212\301\302\303#\204\304\"\206\305\306\"Ab\210\307\310\311\312 \"!)\207" [lsp--symbols-cache get-text-property 0 identifier-at-point assoc user-error "Unable to find symbol %s" lsp--locations-to-xref-items lsp-request "textDocument/references" lsp--make-reference-params] 6 "\n\n(fn BACKEND IDENTIFIER)"] xref-backend-apropos ((_backend (eql xref-lsp)) pattern) #[514 "\300\301\302\303\304D\"\"\207" [seq-map lsp--symbol-information-to-xref lsp-request "workspace/symbol" :query] 8 "\n\n(fn BACKEND PATTERN)"]] 6) #@48 Get symbol to rename and placeholder at point. (defalias 'lsp--get-symbol-to-rename #[0 "\300\301!\206\302\303!\211\205\211\304H\262\305!\262\203J\306\307\310 \"\211\205I\311\312!\203.\2021\313!!\211A\262\242\314\"\315!\206FB\266\205\207\316\317\320\"\211B\207" [lsp--capability :renameProvider lsp--registered-capability "textDocument/rename" 3 lsp:rename-options-prepare-provider\? lsp-request "textDocument/prepareRename" lsp--text-document-position-params lsp--range-to-region lsp-range\? lsp:prepare-rename-result-range buffer-substring-no-properties lsp:prepare-rename-result-placeholder thing-at-point symbol t] 8 (#$ . 253885)]) #@84 Rename the symbol (and all references to it) under point to NEWNAME. (fn NEWNAME) (defalias 'lsp-rename #[257 "\211\204\300\301!\210\302\303\304\305 \306\307 \310\257\"\211\205\311!\207" [user-error "A rename is not valid at this position" lsp-request "textDocument/rename" :textDocument lsp--text-document-identifier :position lsp--cur-position :newName lsp--apply-workspace-edit] 9 (#$ . 254553) (byte-code "\300 \211\205\"\211A\262\242\211\205 \211\205\301\302\303\"\304$\262\262\262C\207" [lsp--get-symbol-to-rename read-string format "Rename %s to: " nil] 8)]) #@44 (fn XREFS DISPLAY-ACTION REFERENCES\=\?) (defalias 'lsp-show-xrefs #[771 "\302 \204\n\303\304\305\"\210\306\301!\203)\307 \210\211\203\202 \310!\311\312 B\313BD\"\207\314\"\207" [xref-show-xrefs-function xref-show-definitions-function region-active-p push-mark nil t boundp xref-push-marker-stack -const window selected-window display-action xref--show-xrefs] 8 (#$ . 255147)]) #@227 Send request named METHOD and get cross references of the symbol under point. EXTRA is a plist of extra parameters. REFERENCES? t when METHOD returns references. (fn METHOD &optional EXTRA &key DISPLAY-ACTION REFERENCES\=\?) (defalias 'lsp-find-locations #[641 "\300\301\"A@\300\302\"A@\303\304\305 \"\"\211\203!\306\307!#\207\310\311\312\313\314\"\"\207" [plist-member :display-action :references\? lsp-request append lsp--text-document-position-params lsp-show-xrefs lsp--locations-to-xref-items message "Not found for: %s" thing-at-point symbol t] 11 (#$ . 255545)]) #@72 Find declarations of the symbol under point. (fn &key DISPLAY-ACTION) (defalias 'lsp-find-declaration #[128 "\300\301\"A@\302\303\304\301$\207" [plist-member :display-action lsp-find-locations "textDocument/declaration" nil] 7 (#$ . 256131) nil]) #@71 Find definitions of the symbol under point. (fn &key DISPLAY-ACTION) (defalias 'lsp-find-definition #[128 "\300\301\"A@\302\303\304\301$\207" [plist-member :display-action lsp-find-locations "textDocument/definition" nil] 7 (#$ . 256387) nil]) #@68 Click to start `lsp-find-definition' at clicked point. (fn CLICK) (defalias 'lsp-find-definition-mouse #[257 "\300!\301!\211@\262\302!\210b\210\303 \207" [event-start posn-point select-window lsp-find-definition] 6 (#$ . 256640) "e"]) #@75 Find implementations of the symbol under point. (fn &key DISPLAY-ACTION) (defalias 'lsp-find-implementation #[128 "\300\301\"A@\302\303\304\301$\207" [plist-member :display-action lsp-find-locations "textDocument/implementation" nil] 7 (#$ . 256888) nil]) #@100 Find references of the symbol under point. (fn &optional INCLUDE-DECLARATION &key DISPLAY-ACTION) (defalias 'lsp-find-references #[384 "\301\302\"A@\303\304\305\306\206DD\302\307\310&\207" [json-false plist-member :display-action lsp-find-locations "textDocument/references" :context :includeDeclaration :references\? t] 10 (#$ . 257154) nil]) #@76 Find type definitions of the symbol under point. (fn &key DISPLAY-ACTION) (defalias 'lsp-find-type-definition #[128 "\300\301\"A@\302\303\304\301$\207" [plist-member :display-action lsp-find-locations "textDocument/typeDefinition" nil] 7 (#$ . 257513) nil]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\307\310\311\"\207" [defalias lsp-find-custom lsp-find-locations lsp-goto-implementation lsp-find-implementation lsp-goto-type-definition lsp-find-type-definition eval-after-load evil #[0 "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\300\306\302\303#\207" [evil-set-command-property lsp-find-definition :jump t lsp-find-implementation lsp-find-references lsp-find-type-definition] 4]] 3) #@77 Find all workspaces in the current that can handle MSG. (fn MSG-OR-METHOD) (defalias 'lsp--find-workspaces-for #[257 "\211;\203 \211\202 \302\303\"\304\"A\211\203p\211\302\305\"\302\306\"\307\310 \311\307\211\203k\211A\262\242\262\262T\262\203D!\206_\203P\312!\206_\313\n!\206_?\205_?)\203%B\262\202%\266\211\237\207\310 \207" [lsp-method-requirements lsp--cur-workspace plist-get :method assoc :capability :check-command nil lsp-workspaces 0 lsp--capability lsp--registered-capability] 13 (#$ . 258253)]) (byte-code "\300\301\302\"\210\303\304\305\306\305\307%\207" [defalias lsp-feature\? lsp--find-workspaces-for cl-generic-define-method lsp-execute-command nil (_server command arguments) #[771 "\300\301\302\303!\304$!\207" [lsp--execute-command lsp-make-command :command symbol-name :arguments\?] 9 "Dispatch COMMAND execution.\n\n(fn SERVER COMMAND ARGUMENTS)"]] 6) #@125 Create and send a 'workspace/executeCommand' message having command COMMAND and optional ARGS. (fn COMMAND &optional ARGS) (defalias 'lsp--send-execute-command #[513 "\211\203\f\300\301F\202\300D\302\303\"\207" [:command :arguments lsp-request "workspace/executeCommand"] 6 (#$ . 259178)]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\210\300\311\312\"\207" [defalias lsp-point-to-position lsp--point-to-position lsp-text-document-identifier lsp--text-document-identifier lsp-send-execute-command lsp--send-execute-command lsp-on-open lsp--text-document-did-open lsp-on-save lsp--text-document-did-save] 3) #@53 Set the SETTINGS for the lsp server. (fn SETTINGS) (defalias 'lsp--set-configuration #[257 "\300\301\302D\"\207" [lsp-notify "workspace/didChangeConfiguration" :settings] 5 (#$ . 259835)]) (defalias 'lsp-current-buffer #[0 "\206p\207" [lsp--virtual-buffer] 1]) #@18 (fn BUFFER-ID) (defalias 'lsp-buffer-live-p #[257 "\300\301\"\211\203\f\211!\207\302!\207" [plist-get :buffer-live\? buffer-live-p] 4 (#$ . 260107)]) #@176 Advice around function `set-visited-file-name'. This advice sends textDocument/didClose for the old file and textDocument/didOpen for the new file. (fn OLD-FUNC &rest ARGS) (defalias 'lsp--on-set-visited-file-name #[385 "\203\301\302!\210\303\"\203\304 \210\207" [lsp--cur-workspace lsp--text-document-did-close t apply lsp--text-document-did-open] 5 (#$ . 260270)]) (advice-add 'set-visited-file-name :around 'lsp--on-set-visited-file-name) (defvar lsp--flushing-delayed-changes nil) #@77 Send MESSAGE to PROC without waiting for further output. (fn MESSAGE PROC) (defalias 'lsp--send-no-wait #[514 "\204\n\301\302 \210)\3031\304\"0\207\305\306\307!\"\207" [lsp--flushing-delayed-changes t lsp--flush-delayed-changes 'error process-send-string lsp--error "Sending to process failed with the following error: %s" error-message-string] 7 (#$ . 260771)]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\300\307\310\311#\210\300\312\313\314#\210\300\315\316\317#\207" [define-error lsp-parse-error "Error parsing message from language server" lsp-error lsp-unknown-message-type "Unknown message type" (lsp-error lsp-parse-error) lsp-unknown-json-rpc-version "Unknown JSON-RPC protocol version" (lsp-error lsp-parse-error) lsp-no-content-length "Content-Length header missing in message" (lsp-error lsp-parse-error) lsp-invalid-header-name "Invalid header name" (lsp-error lsp-parse-error)] 4) #@54 Get the message type from JSON-DATA. (fn JSON-DATA) (defalias 'lsp--get-message-type #[257 "\300!\203\301!\203\302\207\303!\203\304\207\305\207\306\207" [lsp:json-message-id\? lsp:json-message-error\? response-error lsp:json-message-method\? request response notification] 3 (#$ . 261693)]) (defconst lsp--default-notification-handlers (byte-code "\300\301\302\"\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\313#\210\303\315\313#\210\303\316\317#\210\207" [make-hash-table :test equal puthash "window/showMessage" lsp--window-show-message "window/logMessage" lsp--window-log-message "textDocument/publishDiagnostics" lsp--on-diagnostics "textDocument/diagnosticsEnd" ignore "textDocument/diagnosticsBegin" "telemetry/event" "$/progress" lsp--on-progress] 5)) #@68 Call the appropriate handler for NOTIFICATION. (fn INPUT0 INPUT1) (defalias 'lsp--on-notification #[514 "\303\304\"\303\305\"\306H\211\203\307\310\311\312$ \"\210\303\313H\"\206)\303\n\"\211\2034\211\"\207\314\315\"?\205@\316\317\"\207" [lsp-print-io lsp--cur-workspace lsp--default-notification-handlers gethash "params" "method" 5 lsp--log-entry-new lsp--make-log-entry nil incoming-notif 6 string-prefix-p "$" lsp-warn "Unknown notification: %s"] 13 (#$ . 262506)]) #@97 Get section configuration. PARAMS are the `workspace/configuration' request params (fn INPUT0) (defalias 'lsp--build-workspace-configuration-response #[257 "\300\301\"\302\303\304\305\"\"\207" [gethash "items" apply vector -map #[257 "\300\301\"\300\302!\"\207" [gethash "section" lsp-configuration-section] 6 "\n\n(fn INPUT0)"]] 7 (#$ . 263004)]) #@106 Send the RESPONSE for REQUEST in WORKSPACE and log if needed. (fn WORKSPACE RECV-TIME REQUEST RESPONSE) (defalias 'lsp--send-request-response #[1028 "\301\302\"\301\303\"\301\304\"\305H\306\"\205 \307\310$\2052\307\311\312\313!8\314\245%\203B\315\f\"\210\315\f\"\210\316\317!\"\207" [lsp-print-io gethash "params" "method" "id" 7 lsp--make-response lsp--make-log-entry incoming-req outgoing-resp 2 time-since 1000 lsp--log-entry-new lsp--send-no-wait lsp--make-message] 18 (#$ . 263365)]) #@139 Call the appropriate handler for REQUEST, and send the return value to the server. WORKSPACE is the active workspace. (fn INPUT0 INPUT1) (defalias 'lsp--on-request #[514 "\301\302\"\301\303\"\304 \305H\306H\307\301\310H\307#\211\262\203)\211\"\202\335\301\311H\307#\211\262\203J\211\312\313\f  $#\210\314\202\335\315\267\202\326\316\317\320!\"\210\316\321\"\210\307\202\335\322!\323D\262\202\335\316\324\325!\"\210\316\326\"\210\307\202\335\327\3301\217\331\332\333 !!\2100\202\231\334\335\336!\"\210\337\262D\202\335\340!)\202\335\301\305H\211\341H\262\342 \211\343H\262\"\206\304\342 \211\344H\262\345\346\347\350\351!\"\"\262\202\335\307\202\335\352\353\"\210\307\211\314=?\205\355\313 \n$\207" [lsp--cur-workspace gethash "params" "method" current-time 5 9 nil 7 28 -partial lsp--send-request-response delay-response #s(hash-table size 7 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("client/registerCapability" 80 "window/showMessageRequest" 97 "client/unregisterCapability" 109 "workspace/applyEdit" 126 "workspace/configuration" 157 "workspace/workspaceFolders" 168 "window/workDoneProgress/create" 210)) mapc lsp--server-register-capability lsp:registration-params-registrations #[257 "\301!\205&\302\303\"\211\203\302\304\"\211\305!)\202$rq\210\306 \210\307 )\262\207" [lsp--buffer-workspaces lsp-buffer-live-p plist-get :with-current-buffer :workspaces #[0 "\300 \210\301 \207" [lsp-unconfig-buffer lsp-configure-buffer] 1] lsp-unconfig-buffer lsp-configure-buffer] 5 "\n\n(fn BUF)"] lsp--window-log-message-request :title lsp--server-unregister-capability lsp:unregistration-params-unregisterations #[257 "\301!\205&\302\303\"\211\203\302\304\"\211\305!)\202$rq\210\306 \210\307 )\262\207" [lsp--buffer-workspaces lsp-buffer-live-p plist-get :with-current-buffer :workspaces #[0 "\300 \210\301 \207" [lsp-unconfig-buffer lsp-configure-buffer] 1] lsp-unconfig-buffer lsp-configure-buffer] 5 "\n\n(fn BUF)"] :applied (error) t lsp--apply-workspace-edit lsp:apply-workspace-edit-params-edit lsp--error "Failed to apply edits with message %s" error-message-string :json-false lsp--build-workspace-configuration-response 15 lsp-session 3 1 apply vector -map #[257 "\300\301!D\207" [:uri lsp--path-to-uri] 4 "\n\n(fn FOLDER)"] -distinct lsp-warn "Unknown request method: %s"] 18 (#$ . 263891)]) #@52 Format ERR as a user friendly string. (fn INPUT0) (defalias 'lsp--error-string #[257 "\301\302\"\301\303\"\304\305\306\"@\206\307#\207" [lsp--errors gethash "message" "code" format "Error from the Language Server: %s (%s)" alist-get "Unknown error"] 9 (#$ . 266313)]) #@16 (fn HEADERS) (defalias 'lsp--get-body-length #[257 "\300\301\"A\211\203 \302!\207\303\304!\207" [assoc "Content-Length" string-to-number error "No Content-Length header"] 4 (#$ . 266595)]) #@53 Parse string S as a LSP (KEY . VAL) header. (fn S) (defalias 'lsp--parse-header #[257 "\300\301\"\302\211\204\303\304C\"\210\305O\262\306T\302O!\262B\207" [string-match ":" nil signal lsp-invalid-header-name 0 s-trim-left] 8 (#$ . 266795)]) #@33 Read json string STR. (fn STR) (defalias 'lsp--read-json '(macro . #[257 "\300\301!\210\302\303!\203\303\304BB\207\305\306\307DE\207" [require json fboundp json-parse-string (:object-type (if lsp-use-plists 'plist 'hash-table) :null-object nil :false-object nil) let ((json-array-type 'vector) (json-object-type (if lsp-use-plists 'plist 'hash-table)) (json-false nil)) json-read-from-string] 5 (#$ . 267056)])) #@33 Read json file. (fn FILE-PATH) (defalias 'lsp--read-json-file #[257 "\301\302!\303\203 \304\202\305\306\307\310\307&\207" [lsp-use-plists json-parse-string f-read-text :object-type plist hash-table :null-object nil :false-object] 9 (#$ . 267479)]) #@104 (fn SERVER-ID METHOD ID START-TIME BEFORE-SEND RECEIVED-TIME AFTER-PARSED-TIME AFTER-PROCESSED-TIME) (defalias 'lsp--log-request-time #[2056 "\205:\301\302   \303\304\n\f\"!\303\304\n\f\"!\303\304\n\f\"!\2037\305\306\303\304\f\"!\"\2028\307&\207" [lsp-print-performance lsp-log "Perf> Request/Response\n ServerId: %s\n Request: %s (%s)\n Serialization took: %.06f\n ServerTime: %.06f\n Deserialization: %.06f\n CallbackTime: %s" float-time time-subtract format "%.06f" "N/A"] 22 (#$ . 267741)]) #@101 (fn SERVER-ID JSON-DATA RECEIVED-TIME AFTER-PARSED-TIME BEFORE-NOTIFICATION AFTER-PROCESSED-TIME) (defalias 'lsp--log-notification-performance #[1542 "\205\"\301\302\205\303!\304\305\n\"!\304\305 \"!%\207" [lsp-print-performance lsp-log "Perf> notification\n ServerId: %s\n Notification: %s\n Deserialization: %.06f\n Processing: %.06f " lsp:json-notification-method float-time time-subtract] 15 (#$ . 268270)]) #@89 Called when the parser P read a complete MSG from the server. (fn JSON-DATA WORKSPACE) (defalias 'lsp--parser-on-message #[514 "\3021\211\211\303H\304 \305H\304 \306!\211\205$\211;\203#\307!\202$\211\262\310!\311!\211\312\267\202\313\314H\"\211A\262\242A@AA\262\211A\262\242@ \203j\315\316\n\n\317\320\321!8\322\245%\"\210\205\216\310!!\210\323 \314H\"\210\324\n\n\304 &\266\205\202\313\314H\"A\211A\262\242\211A\262\242\211A\262\242@ \203\310\315\316\n\n\317\320\321!8\322\245%\"\210\205\354\325!!\210\323 \314H\"\210\324\n\n\304 &\266\205\202\304 \326  \"\210\327  \304 &\262\202\330\n\"\202\331\262\266\206)0\207\332\333\"\210\331\207" [lsp--cur-workspace lsp-print-io (debug error) 5 current-time 15 lsp:json-response-id string-to-number lsp:json-response-result lsp--get-message-type #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (response 52 response-error 147 notification 241 request 269)) gethash 8 lsp--log-entry-new lsp--make-log-entry incoming-resp 2 time-since 1000 remhash lsp--log-request-time lsp:json-response-error-error lsp--on-notification lsp--log-notification-performance lsp--on-request nil message "Error processing message %S."] 23 (#$ . 268710)]) #@66 Convert json MSG string to pretty printed json string. (fn MSG) (defalias 'lsp--json-pretty-print #[257 "\301\302\303!!)\207" [json-encoding-pretty-print t json-encode json-read-from-string] 4 (#$ . 270043)]) #@48 Make filter for the workspace. (fn WORKSPACE) (defalias 'lsp--create-filter-function #[257 "\300C\301C\301C\301C\301C\302\303&\207" [0 nil make-closure #[514 "\305\302\242\306\307\310#P\240\210\305\242\311\232?\205\371\303\242\204s\312\305\242\313\314&\315#)\266\203\211\203f\303\316\317\320\321\305\242\322\305\242\313\314&\315#)\266\203\206G\323\324!O\325\"\"!\240\210\301\326\240\210\302\313\240\210\305\211\242\327\\\313O\240\266\202 \302\305\242\240\210\305\311\240\266\202 \330\305\242!\303\242\301\242Z\211W\203\222\305\242\326O\305\211\242\313O\240\210\202\230\305\242\305\311\240\210\330!\304\304\242B\240\210\301\211\242\\\240\210Y\203\364\331\3321\346\333\334\335\304\242\302\313\240\210\303\313\240\210\301\313\240\210\304\313\240\210\237\"\307\"\336\337'\203\331\340\202\332\341\342\313\343\313&\2620\202\361\344\345\302\242 P#\262\300\"\210\266\202 \207" [V0 V1 V2 V3 V4 V5 encode-coding-string utf-8 nocopy "" " \n \n" nil t string-match lsp--get-body-length mapcar lsp--parse-header split-string "Content-Length" error "Unable to find Content-Length header." " \n" 0 4 string-bytes lsp--parser-on-message (error) decode-coding-string apply concat json-parse-string :object-type plist hash-table :null-object :false-object lsp-warn "Failed to parse the following chunk:\n'''\n%s\n'''\nwith message %s" inhibit-changing-match-data lsp-use-plists] 16 "\n\n(fn PROC INPUT)"]] 14 (#$ . 270261)]) #@90 Hash table with keys (line . col) and values that are either point positions or markers. (defvar lsp--line-col-to-point-hash-table nil (#$ . 271732)) (make-variable-buffer-local 'lsp--line-col-to-point-hash-table) #@128 Convert SYM to imenu element. SYM is a SymbolInformation message. Return a cons cell (full-name . start-point). (fn INPUT0) (defalias 'lsp--symbol-to-imenu-elem #[257 "\211\303\304\"\303\305\"\303\306!\307# \203\203\nQ\202 B\207" [lsp--line-col-to-point-hash-table lsp-imenu-show-container-name lsp-imenu-container-name-separator gethash "name" "containerName" lsp--get-line-and-col nil] 8 (#$ . 271953)]) #@331 Convert SYM to hierarchical imenu elements. SYM is a DocumentSymbol message. Return cons cell ("symbol-name (symbol-kind)" . start-point) if SYM doesn't have any children. Otherwise return a cons cell with an alist ("symbol-name" . (("(symbol-kind)" . start-point) cons-cells-from-children)) (fn INPUT0) (defalias 'lsp--symbol-to-hierarchical-imenu-elem #[257 "\211\301\302\"\301\303\"\301\304!\305#\306!\203B\207\307!B\207" [lsp--line-col-to-point-hash-table gethash "name" "children" lsp--get-line-and-col nil seq-empty-p lsp--imenu-create-hierarchical-index] 8 (#$ . 272383)]) #@60 Determine if SYM is for the current document. (fn INPUT0) (defalias 'lsp--symbol-filter #[257 "\300\301\"\211\205\302\303\304!!!p=?\207" [gethash "location" find-buffer-visiting lsp--uri-to-path lsp:location-uri] 6 (#$ . 273006)]) #@50 The string name of the kind of SYM. (fn INPUT0) (defalias 'lsp--get-symbol-type #[257 "\301\302\"\303\"A\206 \304\207" [lsp--symbol-kind gethash "kind" assoc "Other"] 5 (#$ . 273248)]) #@60 Obtain the line and column corresponding to SYM. (fn SYM) (defalias 'lsp--get-line-and-col #[257 "\300!\211\203 \301!\206\302!\303\304\"\303\305\"\303\306\"B\207" [lsp:symbol-information-location lsp:location-range lsp:document-symbol-selection-range gethash "start" "line" "character"] 8 (#$ . 273444)]) #@84 Return a sorted list ((line . col) ...) of the locations of SYMBOLS. (fn SYMBOLS) (defalias 'lsp--collect-lines-and-cols #[257 "\300!\301\203*\211A\262\242\302!B\262\303\304!!\204&\300\304!!\244\262\210\202\305\306\"\207" [lsp--imenu-filter-symbols nil lsp--get-line-and-col seq-empty-p lsp:document-symbol-children\? -sort lsp--line-col-comparator] 7 (#$ . 273767)]) #@113 Convert a sorted list of positions from line-column representation to point representation. (fn LINE-COL-LIST) (defalias 'lsp--convert-line-col-to-points-batch #[257 "\303\304\305\"\306\307 \203d\212eb\210\310\211:\203^@\262\211A\262\242\262\211Zy\210\211\262\311 \203:`ZV\203A\211b\266\202Eu\266\312B\n\203R\313 \202S`#\210A\262\202\266)\202\276\306\214~\210\212eb\210\310\211:\203\273@\262\211A\262\242\262\211Zy\210\211\262\311 \203\227`ZV\203\236\211b\266\202\242u\266\312B\n\203\257\313 \202\260`#\210A\262\202p\266+)\207" [inhibit-field-text-motion lsp--already-widened imenu-use-markers make-hash-table :test equal t 0 nil line-end-position puthash point-marker] 11 (#$ . 274159)]) #@28 (fn (L1 . C1) (L2 . C2)) (defalias 'lsp--line-col-comparator #[128 "\211A\262\242\211A\262\242\242\211A\262\242W\2061U\2051\203,\203,W\207\2051\300\207" [t] 7 (#$ . 274920)]) #@43 Create imenu index from document symbols. (defalias 'lsp--imenu-create-index #[0 "\301\302 !\303\304!!\305!\203\306!\202\307!)\207" [lsp--line-col-to-point-hash-table lsp--imenu-filter-symbols lsp--get-document-symbols lsp--convert-line-col-to-points-batch lsp--collect-lines-and-cols lsp--imenu-hierarchical-p lsp--imenu-create-hierarchical-index lsp--imenu-create-non-hierarchical-index] 4 (#$ . 275124)]) #@60 Filter out unsupported symbols from SYMBOLS. (fn SYMBOLS) (defalias 'lsp--imenu-filter-symbols #[257 "\300\301\"\207" [seq-remove lsp--symbol-filter] 4 (#$ . 275547)]) #@70 Determine whether any element in SYMBOLS has children. (fn SYMBOLS) (defalias 'lsp--imenu-hierarchical-p #[257 "\300\301\"\207" [seq-some lsp-document-symbol\?] 4 (#$ . 275723)]) #@445 Create imenu index for non-hierarchical SYMBOLS. SYMBOLS are a list of DocumentSymbol messages. Return a nested alist keyed by symbol names. e.g. (("SomeClass" ("(Class)" . 10) ("someField (Field)" . 20) ("someFunction (Function)" . 25) ("SomeSubClass" ("(Class)" . 30) ("someSubField (Field)" . 35)) ("someFunction (Function)" . 40)) (fn SYMBOLS) (defalias 'lsp--imenu-create-non-hierarchical-index #[257 "\300\301\302\303\"\"\207" [seq-map #[257 "\211@\300\301A\"B\207" [seq-map lsp--symbol-to-imenu-elem] 5 "\n\n(fn NESTED-ALIST)"] seq-group-by lsp--get-symbol-type] 6 (#$ . 275911)]) #@441 Create imenu index for hierarchical SYMBOLS. SYMBOLS are a list of DocumentSymbol messages. Return a nested alist keyed by symbol names. e.g. (("SomeClass" ("(Class)" . 10) ("someField (Field)" . 20) ("someFunction (Function)" . 25) ("SomeSubClass" ("(Class)" . 30) ("someSubField (Field)" . 35)) ("someFunction (Function)" . 40)) (fn SYMBOLS) (defalias 'lsp--imenu-create-hierarchical-index #[257 "\300!\301\302\303\304\300!\"\"\207" [lsp--imenu-filter-symbols seq-map lsp--symbol-to-hierarchical-imenu-elem seq-sort lsp--imenu-symbol-lessp] 8 (#$ . 276604)]) #@18 (fn SYM1 SYM2) (defalias 'lsp--imenu-symbol-lessp #[514 "\301\302\303#\"\304\305\306#\211\247\205\211\306W\207" [lsp-imenu-sort-methods mapcar make-closure #[257 "\303\n\"\300\301\"\207" [V0 V1 lsp--imenu-compare-function-alist alist-get] 4 "\n\n(fn METHOD)"] seq-find #[257 "\211\300U?\207" [0] 3 "\n\n(fn RESULT)"] 0] 7 (#$ . 277269)]) #@52 Compare SYM1 and SYM2 by kind. (fn INPUT0 INPUT1) (defalias 'lsp--imenu-compare-kind #[514 "\300\301\"\300\301\"Z\207" [gethash "kind"] 6 (#$ . 277622)]) #@18 (fn SYM1 SYM2) (defalias 'lsp--imenu-compare-line-col #[514 "\300\301!\301!\"\203 \302\207\303\207" [lsp--line-col-comparator lsp--get-line-and-col -1 1] 6 (#$ . 277787)]) #@52 Compare SYM1 and SYM2 by name. (fn INPUT0 INPUT1) (defalias 'lsp--imenu-compare-name #[514 "\300\301\"\300\301\"\302\303G\303G&\211\247\203\207\303\207" [gethash "name" compare-strings 0] 11 (#$ . 277970)]) #@32 Force Imenu to refresh itself. (defalias 'lsp--imenu-refresh #[0 "\301!\207" [imenu--rescan-item imenu--menubar-select] 2 (#$ . 278194)]) #@39 Use lsp-imenu for the current buffer. (defalias 'lsp-enable-imenu #[0 "\304 \210\305\300!\210\306\305\301!\210\307\305\302!\210\310 \205\311 \207" [imenu-create-index-function imenu-menubar-modified-tick imenu--index-alist menu-bar-mode imenu--cleanup make-local-variable lsp--imenu-create-index -1 nil lsp--imenu-refresh] 2 (#$ . 278339)]) #@47 Resolve final function COMMAND. (fn COMMAND) (defalias 'lsp-resolve-final-function #[257 "\300!\203 \211 \202\f\211\211<\203\207\211;\203\211C\207\301\302\303#\205#\304\207" [functionp error "cl-etypecase failed: %s, %s" (list string) nil] 6 (#$ . 278691)]) #@61 Check whether FINAL-COMMAND is present. (fn FINAL-COMMAND) (defalias 'lsp-server-present\? #[257 "\302!\204 \303@!\202\304\305 \"\203\303@\302!\"\202\306\203.\306\307\310\311\312\"\"\210\2067\313\307\314\311\312\"\"\210\207" [default-directory emacs-version file-remote-p executable-find version<= "27.0" t lsp-log "Command \"%s\" is present on the path." s-join " " nil "Command \"%s\" is not present on the path."] 7 (#$ . 278965)]) #@92 Convert VALUE to a string that can be set as value in an environment variable. (fn VALUE) (defalias 'lsp--value-to-string #[257 "\211;\203\207\300!\203\211\203\301\207\302\207\303!\203)\304\305\"\203)\211\306\307\310#\207\311\312!\207" [booleanp "1" "0" sequencep seq-every-p stringp ":" mapconcat identity user-error "Only strings, booleans, and sequences of strings are supported as environment variables"] 7 (#$ . 279422)]) #@146 Append a list of KEY=VALUE from the alist ENVIRONMENT to `process-environment'. Ignore non-boolean keys whose value is nil. (fn ENVIRONMENT-FN) (defalias 'lsp--compute-process-environment #[257 "\211\205\211 \301\302\211\211:\203>@\262\211A\262\242\262\303!\204*\304N\305=\2037\306\307\303!!QB\262A\262\202 \211\237\266\204B!\207" [process-environment -flatten nil eval custom-type boolean "=" lsp--value-to-string] 12 (#$ . 279870)]) #@629 Returns a connection property list using COMMAND. COMMAND can be: A string, denoting the command to launch the language server. A list of strings, denoting an executable with its command line arguments. A function, that either returns a string or a list of strings. In all cases, the launched language server should send and receive messages on standard I/O. TEST-COMMAND is a function with no arguments which returns whether the command is present or not. When not specified `lsp-mode' will check whether the first element of the list returned by COMMAND is available via `executable-find' (fn COMMAND &optional TEST-COMMAND) (defalias 'lsp-stdio-connection #[513 "\300\301\302\"\303\206\301\304\"F\207" [:connect make-closure #[1028 "\302\300!\303!\304!\305\306\"\307\310\311\312\313\305\314 \"\315\316\317\f\320\321\322\323\324&\325\326\"\210\325\327!\326\"\210r\330!q\210\331 \210)\211B\266\202)\207" [V0 process-environment lsp-resolve-final-function generate-new-buffer-name lsp--compute-process-environment format "*%s::stderr*" make-process :name :connection-type pipe :buffer "*%s*" :coding no-conversion :command :filter :sentinel :stderr :noquery t set-process-query-on-exit-flag nil get-buffer-process get-buffer special-mode] 26 "\n\n(fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\301\302\300!!\207" [V0 lsp-server-present\? lsp-resolve-final-function] 3]] 8 (#$ . 280336)]) #@207 Open network stream to HOST:PORT. NAME will be passed to `open-network-stream'. RETRY-COUNT is the number of the retries. SLEEP-INTERVAL is the sleep interval between each retry. (fn HOST PORT NAME) (defalias 'lsp--open-network-stream #[771 "\302\303\303\245\304\211\204EW\203E\3051)\306\304  \307\310\311\312&\211\2620\210\202\313\314\315  \316!$\210\317!\210T\211\262)\266\202\211\206N\320\321\"\207" [lsp-tcp-connection-timeout inhibit-message 0 0.01 nil (file-error) open-network-stream :type plain :coding no-conversion t lsp--warn "Failed to connect to %s:%s with error message %s" error-message-string sleep-for error "Port %s was never taken. Consider increasing `lsp-tcp-connection-timeout'."] 16 (#$ . 281766)]) #@83 Find available port on HOST starting from STARTING-PORT. (fn HOST STARTING-PORT) (defalias 'lsp--find-available-port #[514 "\300\204*\3011!\302\303\304\300\305\306&!\210\211T\211\2620\210\202\307\211\262\266\202\207" [nil (file-error) delete-process open-network-stream "*connection-test*" :type plain t] 12 (#$ . 282527)]) #@285 Returns a connection property list similar to `lsp-stdio-connection'. COMMAND-FN can only be a function that takes a single argument, a port number. It should return a command for launches a language server process listening for TCP connections on the provided port. (fn COMMAND-FN) (defalias 'lsp-tcp-connection #[257 "\300\301\302\"\303\301\304\"F\207" [:connect make-closure #[1028 "\303\304 T\211\"\300!\211:\203\211\202\211C\305\306@!\204%\307\310\311@\"!\210\312!\313\314\315\316\317\320\321 \322\323\310\324\"\325\326&\327\304 \330P#\331\305\"\210\331\305\"\210\332 \"\210\211)B\207" [V0 lsp--tcp-port process-environment lsp--find-available-port "localhost" nil executable-find user-error format "Couldn't find executable %s" lsp--compute-process-environment make-process :name :connection-type pipe :coding no-conversion :command :sentinel :stderr "*%s::stderr*" :noquery t lsp--open-network-stream "::tcp" set-process-query-on-exit-flag set-process-filter] 23 "\n\n(fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\301\300\302!@!\207" [V0 executable-find 0] 3]] 7 (#$ . 282874)]) (defalias 'lsp-tcp-server 'lsp-tcp-server-command) #@227 Create tcp server connection. In this mode Emacs is TCP server and the language server connects to it. COMMAND is function with one parameter(the port) and it should return the command to start the LS server. (fn COMMAND-FN) (defalias 'lsp-tcp-server-command #[257 "\300\301\302\"\303\301\304\"F\207" [:connect make-closure #[1028 "\304C\305\306\307\310\"\311\307\310\"\312\313\314 \315\316\317 #\320\321&\f\322\314\"\300!\323!\324\306\325\326\327\330\331\332\307\333\"\334\321&\f\335\242\204_\211\336 _W\203_\337\340 #\210\341\342!\210\211T\262\202@\210\242\204\206\3431q\344!0\210\202r\210\3451~\344!0\210\202\210\346\347#\210\337\350\"\210\351\304\"\210\351\242\304\"\210\351\304\"\210\352\242\n\"\210\353\242 \"\210\242)B\207" [V0 lsp--tcp-server-port process-environment lsp--tcp-server-wait-seconds nil make-network-process :name format "*tcp-server-%s*" :buffer :family ipv4 :service :sentinel make-closure #[514 "\302\303\300\"\210\301\240\207" [V0 V1 lsp-log "Language server %s is connected."] 5 "\n\n(fn PROC STRING)"] :server t process-contact lsp--compute-process-environment make-process :connection-type pipe :coding no-conversion :command :stderr "*tcp-server-%s*::stderr" :noquery 0 2 lsp--info "Waiting for connection for %s, retries: %s" sit-for 0.5 (error) delete-process (error) error "Failed to create connection to %s on port %s" "Successfully connected to %s" set-process-query-on-exit-flag set-process-filter set-process-sentinel] 21 "\n\n(fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\301\300\302!@!\207" [V0 executable-find 0] 3]] 7 (#$ . 284059)]) #@192 Create LSP stdio connection named name. LOCAL-COMMAND is either list of strings, string or function which returns the command to execute. (fn LOCAL-COMMAND &optional GENERATE-ERROR-FILE-FN) (defalias 'lsp-tramp-connection #[513 "\300\301\302#\303\301\304\"F\207" [:connect make-closure #[1028 "\304\300!\305!\306\307\310\301\203\301!\206\311\312 \nT\211#PC#\313!\314\315\311\316\"$\317\"\210\320 \"\210\321\322\"\210\323\324\211#\210\211B\262)\207" [V0 V1 lsp--stderr-index process-environment lsp-resolve-final-function generate-new-buffer-name append ("stty" "raw" ";") "2>" format "/tmp/%s-%s-stderr" lsp--compute-process-environment apply start-file-process-shell-command "*%s*" set-process-sentinel set-process-filter set-process-query-on-exit-flag nil set-process-coding-system binary] 15 "\n\n(fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\301\302\300!!\207" [V0 lsp-server-present\? lsp-resolve-final-function] 3]] 8 (#$ . 285703)]) #@75 Autoconfigure `company', `flycheck', `lsp-ui', etc if they are installed. (defalias 'lsp--auto-configure #[0 "\305\306!\203 \306 \210\203\307\310\311\"\210 \203\307\310\312\"\210\n\203$\307\310\313\"\210 \203-\307\310\314\"\210\315\304!\210\316\211\207" [lsp-headerline-breadcrumb-enable lsp-modeline-code-actions-enable lsp-modeline-diagnostics-enable lsp-lens-enable yas-inhibit-overlay-modification-protection functionp lsp-ui-mode add-hook lsp-configure-hook lsp-headerline-breadcrumb-mode lsp-modeline-code-actions-mode lsp-modeline-diagnostics-mode lsp-lens-mode make-local-variable t] 3 (#$ . 286690)]) #@47 Whether buffer was loaded via `lsp-deferred'. (defvar lsp--buffer-deferred nil (#$ . 287315)) (make-variable-buffer-local 'lsp--buffer-deferred) #@48 Handler restart for WORKSPACE. (fn WORKSPACE) (defalias 'lsp--restart-if-needed #[257 "\303=\204'\211\304H\305=\204'\306=\205z\307\310\311!\312\313H!#\314!\262\205z\211\315H\316\317\211\205x\211A\262\242\262\262T\262\320!\203-\321\322\"\211\203\\\321\323\"\211\324!\210)\210\202-rq\210\n\203j\325 \210\202s\326\327\330 \"\210\331 \210)\210\202-\266\204\207" [lsp-restart lsp--buffer-workspaces lsp--buffer-deferred auto-restart 19 restart interactive format "Server %s exited with status %s. Do you want to restart it?" lsp--workspace-print process-status 7 y-or-n-p 9 0 nil lsp-buffer-live-p plist-get :with-current-buffer :workspaces #[0 "\203\301 \207\302\303\304 \"\210\305 \207" [lsp--buffer-deferred lsp-deferred lsp--info #1="Restarting LSP in buffer %s" buffer-name lsp] 3] lsp-deferred lsp--info #1# buffer-name lsp] 9 (#$ . 287466)]) #@69 Apply FN on value corresponding to KEY in TABLE. (fn TABLE KEY FN) (defalias 'lsp--update-key #[771 "\300\"!\211\203\301#\207\302\"\207" [gethash puthash remhash] 9 (#$ . 288350)]) #@69 Create the sentinel for WORKSPACE. (fn WORKSPACE PROCESS EXIT-STR) (defalias 'lsp--process-sentinel #[771 "\302!?\205\356\303!\304 \211\305H\262\306\307\310H!!\311\312\307\310H!\313!#\210\314H\315\316\211\203{\211A\262\242\262\262T\262\317!\203/\320\321\"\211\203b\320\322\"\211\323\324 \"!\210)\210\202/rq\210\325 \"\326 \210\327 \210\330\331!\210)\210\202/\266\316C\332\323\333\"\"\210\211\242\237\266\202\315\316\211\203\261\211A\262\242\262\262T\262\334\335\325\"#\210\202\220\266\336=\203\313\337!\315U\203\313\340!\203\313\341!\210)\342\343\"\210\344H\345=\203\345\346\347\350!\"\210\202\352\351!\210\352 \266\203\207" [lsp--cur-workspace lsp--buffer-workspaces process-live-p process-status lsp-session 4 get-buffer process-name 7 lsp--warn "%s has exited (%s)" string-trim-right 9 0 nil lsp-buffer-live-p plist-get :with-current-buffer :workspaces make-closure #[0 "\302\300 \"\303 \210\304 \210\305\306!\207" [V0 lsp--buffer-workspaces delete lsp--uninitialize-workspace lsp--spinner-stop lsp--remove-overlays lsp-highlight] 3] delete lsp--uninitialize-workspace lsp--spinner-stop lsp--remove-overlays lsp-highlight maphash #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn K --CL-VAR--)"] lsp--update-key apply-partially exit process-exit-status buffer-live-p kill-buffer run-hook-with-args lsp-after-uninitialized-functions 19 shutdown lsp--info "Workspace %s shutdown." lsp--workspace-print lsp--restart-if-needed lsp--cleanup-hanging-watches] 16 (#$ . 288551)]) #@223 Create new workspace for CLIENT-TEMPLATE with project root ROOT. INITIALIZATION-OPTIONS are passed to initialize function. SESSION is the active session. (fn SESSION CLIENT-TEMPLATE ROOT &optional INITIALIZATION-OPTIONS) (defalias 'lsp--start-workspace #[1027 "\303 \210\304!\305\306\307\310\311\312\313 C\314\315 !&\n\316H\317H\320H\321H\322H\323H\324\325\"\2069\326\327 \"\330!\331\332\n\"\333\334\n\"$\211A\262\242\335 \320H\"\n\211\336I\266\n\211\337I\266\340\341\342#\206xC\"\210\n\343\344!\210\345\346\347\350\351\352\353\354!!\355\356\357\360\361 F\362\363!\364\365!\366\367\370\257\n\205\254\371\nD\n\205\273\372\373\374\375\376\n\"\"D#\341\377\n#\201@\201A%\210)\n)\207" [default-directory lsp--cur-workspace lsp-server-trace lsp--spinner-start copy-lsp--client make-lsp--workspace :root :client :status starting :buffers lsp-current-buffer :host-root file-remote-p 15 26 3 18 16 21 plist-get :connect user-error "Client %s is configured incorrectly" lsp--create-filter-function apply-partially lsp--process-sentinel format "%s" gethash 7 8 mapc make-closure #[257 "\301\300\302H\303\304\"\305\"\203\211\202B\262#\207" [V0 V1 4 puthash gethash memql] 10 "\n\n(fn PROJECT-ROOT)"] run-hooks lsp-before-initialize-hook lsp-request-async "initialize" append :processId nil :rootPath lsp-file-local-name expand-file-name :clientInfo :name "emacs" :version emacs-version :rootUri lsp--path-to-uri :capabilities lsp--client-capabilities :initializationOptions :workDoneToken "1" :trace :workspaceFolders apply vector -map #[257 "\300\301!\302\303!F\207" [:uri lsp--path-to-uri :name f-filename] 6 "\n\n(fn FOLDER)"] #[257 "\211\204 \304 \210\305\306\307C\"\210\300\211\310\311!I\266\300\211\312\313I\266\300\314\315 \"\210)\301\203-\301\300!\210\316\317\320\300\"\300\321H\"\210\300\322\323!\210)\324\325\326\300!\"\207" [V0 V1 lsp--cur-workspace lsp--empty-ht lsp--spinner-stop signal lsp-empty-response-error "initialize" 2 lsp:initialize-result-capabilities 13 initialized lsp-notify "initialized" mapc make-closure #[257 "\302\303\"\211\203\302\304\"\211\305\306\300\"!)\207rq\210\307\300!)\207" [V0 lsp--buffer-workspaces plist-get :with-current-buffer :workspaces make-closure #[0 "\301\300!\207" [V0 lsp--open-in-workspace] 2] lsp--open-in-workspace] 6 "\n\n(fn BUFFER)"] 9 run-hooks lsp-after-initialize-hook lsp--info "%s initialized successfully" lsp--workspace-print] 6 "\n\n(fn RESPONSE)"] :mode detached] 33 (#$ . 290103)]) #@23 Load default session. (defalias 'lsp--load-default-session #[0 "\3021 \303!0\202\304\305\306!\"\210\307\262\206\310 \211\207" [lsp-session-file lsp--session (error) lsp--read-from-file lsp--error "Failed to parse the session %s, starting with clean one." error-message-string nil make-lsp-session] 5 (#$ . 292642)]) #@53 Get the session associated with the current buffer. (defalias 'lsp-session #[0 "\206\301 \211\207" [lsp--session lsp--load-default-session] 2 (#$ . 292973)]) #@33 (fn BUFFER-MAJOR-MODE CLIENT) (defalias 'lsp--client-disabled-p #[514 "\301\302\303#\"\207" [lsp-disabled-clients seq-some make-closure #[257 "\2119\203 \211\301=\207\211:\205(\211\242\243\300=\205&\211<\203#\301>\207\301=\266\204\207" [V0 V1] 7 "\n\n(fn ENTRY)"]] 7 (#$ . 293141)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315& \207" [custom-declare-variable lsp-server-install-dir funcall function #[0 "\300\301\302\303\304\"!!\207" [expand-file-name locate-user-emacs-file f-join ".cache" "lsp"] 5] "Directory in which the servers will be installed." :risky t :type directory :package-version (lsp-mode . "6.3") :group lsp-mode] 12) (defvar lsp--dependencies (make-hash-table :test 'equal)) #@908 Used to specify a language server DEPENDENCY, the server executable or other required file path. Typically, the DEPENDENCY is found by locating it on the system path using `executable-find'. You can explicitly call lsp-dependency in your environment to specify the absolute path to the DEPENDENCY. For example, the typescript-language-server requires both the server and the typescript compiler. If you've installed them in a team shared read-only location, you can instruct lsp-mode to use them via (eval-after-load 'lsp-clients '(progn (lsp-dependency 'typescript-language-server `(:system ,tls-exe)) (lsp-dependency 'typescript `(:system ,ts-js)))) where tls-exe is the absolute path to the typescript-language-server executable and ts-js is the absolute path to the typescript compiler JavaScript file, tsserver.js (the *.js is required for Windows). (fn NAME &rest DEFINITIONS) (defalias 'lsp-dependency #[385 "\301\302#\210\207" [lsp--dependencies nil puthash] 7 (#$ . 293883)]) #@15 (fn CLIENT) (defalias 'lsp--server-binary-present\? #[257 "\211\300H\301=?\2056\30214\30310\211\211\205\211\304H\262\211\205#\305\306\"\262\211\205+\211 \26200\2070\210\307\207\210\307\207" [15 lsp-pwsh (args-out-of-range) (error) 3 plist-get :test\? nil] 5 (#$ . 294901)]) (defalias 'lsp--download-status #[0 "\300\301!\211\205\211\302\303\"\262\262\211\205\211\304\305\"\262\262\211\205)\211\306\307\310#\262\262\211\2056\211\304\311\"\262\262\211\205I\211\306\312\313\314\315\"\316\317%\262\207" [lsp--filter-clients lsp--client-download-in-progress\? -map #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--client-server-id (symbol-name) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] format "%s" propertize face success " Installing following servers: %s" local-map make-mode-line-mouse-map mouse-1 #[0 "\300\301\302!!\207" [switch-to-buffer get-buffer-create " *lsp-install*"] 3 nil nil] mouse-face highlight] 8]) #@36 (fn CLIENT &optional UPDATE\=\?) (defalias 'lsp--install-server-internal #[513 "\211\300\301I\266\302\303\304\"\210\305\306\"\307\310\311H\"\210\3121+\313H\305\314\"\305\315\"$0\207\316\317!\"\207" [30 t add-to-list global-mode-string (t (:eval (lsp--download-status))) make-closure #[513 "\300\302H\300\303H\300\211\304\305I\266\300\211\303\305I\266\203\"\306\307G#\210\202(\310\311#\210\312\313\314\"\"\210\315\316!?\205>\317\320 \"\211\207" [V0 global-mode-string 15 31 30 nil lsp--info "Server %s downloaded, auto-starting in %s buffers." lsp--error "Server %s install process failed with the following error message: %s.\nCheck `*lsp-install*' and `*lsp-log*' buffer." seq-do make-closure #[257 "\302!\205r\211q\210\303\304 \"\300\205\305 )\207" [V0 global-mode-string buffer-live-p -remove-item (t (:eval (lsp--download-status))) lsp] 4 "\n\n(fn BUFFER)"] lsp--filter-clients lsp--client-download-in-progress\? -remove-item (t (:eval (lsp--download-status)))] 8 "\n\n(fn SUCCESS\\=\\? &optional ERROR-MESSAGE)"] lsp--info "Download %s started." 15 (error) 29 #[0 "\300\301!\207" [V0 t] 2] #[257 "\300\301\"\207" [V0 nil] 4 "\n\n(fn MSG)"] nil error-message-string] 9 (#$ . 295906)]) #@123 Interactively install server. When prefix UPDATE? is t force installation even if the server is present. (fn UPDATE\=\?) (defalias 'lsp-install-server #[257 "\301\302\303\304\305\306\307\310!\"\311\312#\313!\"\206\314\315!\316\317\320%\"\207" [lsp-clients lsp--install-server-internal lsp--completing-read "Select server to install: " -filter -andfn -orfn #[128 #1="\301\300\"?\207" [lsp--server-binary-present\? apply] 4 #2="\n\n(fn &rest ARGS)"] -const #[128 #1# [lsp--client-download-in-progress\? apply] 4 #2#] lsp--client-download-server-fn ht-values user-error "There are no servers with automatic installation" #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--client-server-id (symbol-name) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] nil t] 10 (#$ . 297137) "P"]) #@107 Start async process COMMAND with CALLBACK and ERROR-CALLBACK. (fn CALLBACK ERROR-CALLBACK &rest COMMAND) (defalias 'lsp-async-start-process #[642 "\300\301@\302\303\304\305\n\n#\306\307\310\311&\n\207" [make-process :name :command :sentinel make-closure #[514 "\302!\303=\205.\304!\305U\203\3061\300 0\207\301\307!!\207\310\311!\210\301\312\313\314!\304!#!\207" [V0 V1 process-status exit process-exit-status 0 (error) error-message-string display-buffer " *lsp-install*" format "Async process '%s' failed with exit code %d" process-name] 8 "\n\n(fn PROC _)"] :buffer " *lsp-install*" :noquery t] 14 (#$ . 297974)]) (defvar lsp-deps-providers (byte-code "\300\301\302\303\304F\305\301\306DF\207" [:npm :path lsp--npm-dependency-path :install lsp--npm-dependency-download :system lsp--system-path] 5)) #@138 If PATH is absolute and exists return it as is. Otherwise, return the absolute path to the executable defined by PATH or nil. (fn PATH) (defalias 'lsp--system-path #[257 "\300!\203 \301!\203 \207\302!\207" [f-absolute\? f-exists\? executable-find] 3 (#$ . 298798)]) #@75 Path to the DEPENDENCY each of the registered providers. (fn DEPENDENCY) (defalias 'lsp-package-path #[257 "\301C\302\303\304\"\305\"\"\210\211\242\207" [lsp--dependencies nil -first make-closure #[257 "\211\211A\262\242\300 \211\205\302\"\262\211\205\302\303\"\262\211\205&\304\"\262\240\207" [V0 lsp-deps-providers plist-get :path apply] 9 "\n\n(fn INPUT0)"] gethash] 7 (#$ . 299076)]) #@75 Asynchronously ensure a package. (fn DEPENDENCY CALLBACK ERROR-CALLBACK) (defalias 'lsp-package-ensure #[771 "\301\302\303#\304\"\"\206\211\305\306\"!\207" [lsp--dependencies -first make-closure #[257 "\211\211A\262\242\n\211\205\303\"\262\211\205\303\304\"\262\211\205)\305\300\301BB\"\207" [V0 V1 lsp-deps-providers plist-get :install apply] 10 "\n\n(fn INPUT0)"] gethash format "Unable to find a way to install %s"] 8 (#$ . 299490)]) #@83 Return npm dependency PATH for PACKAGE. (fn &key PACKAGE PATH &allow-other-keys) (defalias 'lsp--npm-dependency-path #[128 "\302\303\"A@\302\304\"A@\305\306\307 \310=\203\311\202\312%!\211\203*\313!\2040\314\315#\210\207" [lsp-server-install-dir system-type plist-member :package :path executable-find f-join "npm" windows-nt "" "bin" f-exists\? error "The package %s is not installed. Unable to find %s"] 10 (#$ . 299956)]) #@63 (fn CALLBACK ERROR-CALLBACK &key PACKAGE &allow-other-keys) (defalias 'lsp--npm-dependency-download #[642 "\301\302\"A@\303\304!\211\203\305\306\307\310\304\n#\311 &\207\312\313\"\210\314\207" [lsp-server-install-dir plist-member :package executable-find "npm" lsp-async-start-process "-g" "--prefix" f-join "install" lsp-log "Unable to install %s via `npm' because it is not present" nil] 15 (#$ . 300404)]) #@15 (fn CLIENT) (defalias 'lsp--matching-clients\? #[257 "\303\304!!\303\305H!=\205F\211\306H\211\203\211\300 \"\202#\307\310H \"\262\205F\n\203?\211\311H\n\235\204?\312\313\314\311H\"\210\205F\315 \311H\"?\207" [buffer-file-name major-mode lsp-enabled-clients ---truthy\? file-remote-p 22 13 -contains\? 12 15 nil lsp--info "Client %s is not in lsp-enabled-clients" lsp--client-disabled-p] 6 (#$ . 300832)]) #@13 (fn PRED) (defalias 'lsp--filter-clients #[257 "\301\302C\303\304\305\"\"\210\211\242\237\266\202\"\207" [lsp-clients -filter nil maphash make-closure #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn --CL-VAR-- V)"]] 9 (#$ . 301260)]) #@206 Find clients which can handle BUFFER-MAJOR-MODE. SESSION is the currently active session. The function will also pick only remote enabled clients in case the FILE-NAME is on remote machine and vice versa. (defalias 'lsp--find-clients #[0 "\301\302!\211\205C\303\304\305\306\307\310\"\"#\210\311\312\"\211A\262\242@\211\205(\313\314\"\211\2032\211B\2023\262\303\315\305\306\307\316\"\"\"\210\266\203\207" [buffer-file-name lsp--filter-clients #[128 "\301\300\302\303\211\211\2034\211A\262\242\262\262\211\262\2034\304\"\211\262\2034\262\262T\262\202\266\207" [(lsp--matching-clients\? lsp--server-binary-present\?) t 0 nil apply] 10 "\n\n(fn &rest ARGS)"] lsp-log "Found the following clients for %s: %s" s-join ", " -map #[257 "\300\301\302H\303H#\207" [format "(server-id %s, priority %s)" 15 14] 6 "\n\n(fn CLIENT)"] -separate lsp--client-add-on\? -max-by #[514 "\300H\300HV\207" [14] 5 "\n\n(fn IT OTHER)"] "The following clients were selected based on priority: %s" #[257 "\300\301\302H\303H#\207" [format "(server-id %s, priority %s)" 15 14] 6 "\n\n(fn CLIENT)"]] 12 (#$ . 301506)]) #@43 Registers LSP client CLIENT. (fn CLIENT) (defalias 'lsp-register-client #[257 "\211\301H\302#\210\303\304\305\306\"!\307\310\311\312\313\314\315\305\316 \"\317BBBBBBBB\"\207" [lsp-clients 15 puthash setplist intern format "lsp-%s-after-open-hook" standard-value (nil) custom-type hook custom-package-version (lsp-mode . "7.0.1") variable-documentation "Hooks to run after `%s' server is run." (custom-requests nil)] 14 (#$ . 302647)]) #@194 Create initialization-options from SESSION and CLIENT. Add workspace folders depending on server being multiroot and session workspace folder configuration for the server. (fn SESSION CLIENT) (defalias 'lsp--create-initialization-options #[514 "\211\300H\301!\203\f\211 \207\207" [17 functionp] 5 (#$ . 303095)]) #@256 Delete by side effect the property PROP from PLIST. If PROP is the first property in PLIST, there is no way to remove it by side-effect; therefore, write (setq foo (evil-plist-delete :prop foo)) to be sure of changing the value of `foo'. (fn PROP PLIST) (defalias 'lsp--plist-delete #[514 "\211\300\211\2033@\262=\203(AA\262\211\203\"\211A\241\210\202\262\202\262AA\262\202\207" [nil] 7 (#$ . 303418)]) (defvar lsp-client-settings nil) #@12 (fn A B) (defalias 'lsp--compare-setting-path #[514 "@@\232\207" [] 4 (#$ . 303885)]) #@380 Register PROPS. PROPS is list of triple (path value boolean?) where PATH is the path to the property; VALUE can be a literal value, symbol to be evaluated, or either a function or lambda function to be called without arguments; BOOLEAN? is an optional flag that should be non-nil for boolean settings, when it is nil the property will be ignored if the VALUE is nil. (fn PROPS) (defalias 'lsp-register-custom-settings #[257 "\302\303\304 \"!\211)\207" [-compare-fn lsp-client-settings lsp--compare-setting-path -uniq append] 5 (#$ . 303982)]) #@57 Get the text for REGION in current buffer. (fn REGION) (defalias 'lsp-region-text #[257 "\300!\211\211A\262\242\301\"\207" [lsp--range-to-region buffer-substring-no-properties] 8 (#$ . 304535)]) #@111 Set nested hash table value. TBL - a hash table, PATHS is the path to the nested VALUE. (fn TBL PATHS VALUE) (defalias 'lsp-ht-set #[771 ":\205=\242\243\211\204\300\301 #\210\207\302\"\2063\303\304\305\"\211\262\301\n#\210\211\262\306#\262\266\204\207" [nil puthash gethash make-hash-table :test equal lsp-ht-set] 12 (#$ . 304744)]) #@41 Get settings for SECTION. (fn SECTION) (defalias 'lsp-configuration-section #[257 "\301\302\303\"\304\305\306#\"\210\207" [lsp-client-settings make-hash-table :test equal mapc make-closure #[257 "\211\211A\262\242\211A\262\242@\302\300\303P\"\205Y9\203-\304!\203( \2029J\2029\305!\2038 \2029\203E\211\204E\306\202F\211\204N\211\205W\307\301\310\311\"#\266\202\207" [V0 V1 s-matches\? "\\..*" fboundp functionp :json-false lsp-ht-set s-split "\\."] 12 "\n\n(fn INPUT0)"]] 7 (#$ . 305111)]) #@125 Initiates connection created from CLIENT for PROJECT-ROOT. SESSION is the active session. (fn SESSION CLIENT PROJECT-ROOT) (defalias 'lsp--start-connection #[771 "\300H\203-\301H\302H\303\304\301H\302H\"\305\"\203$\211\202'B\262#\266\306\307C\310#\210\311\216\312\313\"$)\207" [16 15 3 puthash gethash memql run-hook-with-args lsp-workspace-folders-changed-functions nil #[0 "\300 \207" [lsp--spinner-stop] 1] lsp--start-workspace lsp--create-initialization-options] 11 (#$ . 305641)]) #@33 Keymap for lsp log buffer mode. (defvar lsp-log-io-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\207" [make-sparse-keymap define-key [134217838] lsp-log-io-next [134217840] lsp-log-io-prev "k" lsp--erase-log-buffer "K" lsp--erase-session-log-buffers] 5) (#$ . 306161)) (defvar lsp-log-io-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [lsp-log-io-mode-hook variable-documentation put "Hook run after entering LspLogIo mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp lsp-log-io-mode-map definition-name lsp-log-io-mode] 4) (defvar lsp-log-io-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" [lsp-log-io-mode-abbrev-table lsp-log-io-mode-map variable-documentation put purecopy "Keymap for `lsp-log-io-mode'." boundp lsp-log-io-mode-syntax-table definition-name lsp-log-io-mode (lambda (#1=#:def-tmp-var) (defvar lsp-log-io-mode-syntax-table #1#)) make-syntax-table "Syntax table for `lsp-log-io-mode'." (lambda (#1#) (defvar lsp-log-io-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `lsp-log-io-mode'." derived-mode-parent special-mode] 5) #@236 Special mode for viewing IO logs. In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `lsp-log-io-mode-hook', as the final or penultimate step during initialization. \{lsp-log-io-mode-map} (defalias 'lsp-log-io-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!\207" [delay-mode-hooks major-mode mode-name lsp-log-io-mode-map lsp-log-io-mode-syntax-table lsp-log-io-mode-abbrev-table make-local-variable t special-mode lsp-log-io-mode "LspLogIo" 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 run-mode-hooks lsp-log-io-mode-hook local-abbrev-table] 5 (#$ . 307689) nil]) #@54 Display the log buffer of WORKSPACE. (fn WORKSPACE) (defalias 'lsp-workspace-show-log #[257 "\300\301!!\207" [pop-to-buffer lsp--get-log-buffer-create] 4 (#$ . 308677) (byte-code "\203\301 G\302=\203\301 @\202 \303\304\301 \305\306\307%\202 \310\311!C\207" [lsp-print-io lsp-workspaces 1 lsp--completing-read "Workspace: " lsp--workspace-print nil t user-error "IO logging is disabled"] 6)]) (defalias 'lsp-switch-to-io-log-buffer 'lsp-workspace-show-log) #@87 Return the lsp log buffer of WORKSPACE, creating a new one if needed. (fn WORKSPACE) (defalias 'lsp--get-log-buffer-create #[257 "\300\301H\211\302H\262!\303\304\305\306H!\"\307\303\310#!\207" [symbol-name 5 15 format "%s" process-id 8 get-buffer-create "*lsp-log: %s:%s*"] 8 (#$ . 309148)]) #@125 Delete contents of current lsp log buffer. When ALL is t, erase all log buffers of the running session. (fn &optional ALL) (defalias 'lsp--erase-log-buffer #[256 "\301\302 !p\211\205+\211@\303!\204\211=\203#r\211q\210\304\305 \210*\210A\266\202\202\207" [inhibit-read-only lsp--session-workspaces lsp-session lsp--get-log-buffer-create t erase-buffer] 8 (#$ . 309453) nil]) #@43 Erase log buffers of the running session. (defalias 'lsp--erase-session-log-buffers #[0 "\300\301!\207" [lsp--erase-log-buffer t] 2 (#$ . 309846) nil]) #@35 Move to next log entry. (fn ARG) (defalias 'lsp-log-io-next #[257 "\301\206\302\"\207" [lsp--log-io-ewoc ewoc-goto-next 1] 4 (#$ . 310004) "P"]) #@39 Move to previous log entry. (fn ARG) (defalias 'lsp-log-io-prev #[257 "\301\206\302\"\207" [lsp--log-io-ewoc ewoc-goto-prev 1] 4 (#$ . 310160) "P"]) #@50 Visual representation WORKSPACE. (fn WORKSPACE) (defalias 'lsp--workspace-print #[257 "\211\300H\301H\302\303\304H\211\305H\262!\306\307#\302\310\311\312!\"\306\313#\314=\203+\310\315#\207\310\316$\207" [8 13 propertize symbol-name 5 15 face bold-italic format "%s" process-id italic initialized "%s:%s" "%s:%s status:%s"] 10 (#$ . 310320)]) #@50 Build `tree-widget' from a hash-table M. (fn M) (defalias 'lsp--map-tree-widget #[257 "\300!\205\301C\302\303\304\"\"\210\211\242\262\207" [hash-table-p nil maphash make-closure #[514 "\300\301\302\303!\203\304\305\"\202\304\306\307\304\310 \"\311\312##\313\314\315!BBBBB\300\242B\240\207" [V0 tree-widget :tag hash-table-p format "%s:" "%s: %s" propertize "%s" face font-lock-string-face :open t lsp--map-tree-widget] 12 "\n\n(fn K V)"]] 6 (#$ . 310682)]) #@18 (fn BUFFER-ID) (defalias 'lsp-buffer-name #[257 "\300\301\"\211\203\f\211!\207\302!\207" [plist-get :buffer-name buffer-name] 4 (#$ . 311164)]) #@56 Tree node representation of WORKSPACE. (fn WORKSPACE) (defalias 'lsp--render-workspace #[257 "\300\301\302!\303\304\300\301\305\306\307\310#\303\304\311\312\f\313H\"BBBBB\300\301\305\314\307\310#\315\n\316H!BBB\257\207" [tree-widget :tag lsp--workspace-print :open t propertize "Buffers" face font-lock-function-name-face mapcar #[257 "\302\303\304!\2055\305!\306\307\"\211\203\306\310\"\211\311!)\202%rq\210 )\262\2032\312\313\314#\2023\211\262E\207" [lsp--buffer-workspaces buffer-read-only tree-widget :tag lsp-buffer-live-p lsp-buffer-name plist-get :with-current-buffer :workspaces #[0 "\207" [buffer-read-only] 1] propertize face font-lock-constant-face] 8 "\n\n(fn IT)"] 9 "Capabilities" lsp--map-tree-widget 2] 15 (#$ . 311320)]) (defvar lsp-browser-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [lsp-browser-mode-hook variable-documentation put "Hook run after entering LspBrowser mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp lsp-browser-mode-map definition-name lsp-browser-mode] 4) (defvar lsp-browser-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" [lsp-browser-mode-abbrev-table lsp-browser-mode-map variable-documentation put purecopy "Keymap for `lsp-browser-mode'." boundp lsp-browser-mode-syntax-table definition-name lsp-browser-mode (lambda (#1=#:def-tmp-var) (defvar lsp-browser-mode-syntax-table #1#)) make-syntax-table "Syntax table for `lsp-browser-mode'." (lambda (#1#) (defvar lsp-browser-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `lsp-browser-mode'." derived-mode-parent special-mode] 5) #@245 Define mode for displaying lsp sessions. In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `lsp-browser-mode-hook', as the final or penultimate step during initialization. \{lsp-browser-mode-map} (defalias 'lsp-browser-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 \306\331!\210\332)\333\334!\207" [delay-mode-hooks major-mode mode-name lsp-browser-mode-map lsp-browser-mode-syntax-table lsp-browser-mode-abbrev-table make-local-variable t special-mode lsp-browser-mode "LspBrowser" 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 display-buffer-base-action (nil (inhibit-same-window . t)) run-mode-hooks lsp-browser-mode-hook local-abbrev-table] 5 (#$ . 313301) nil]) #@34 Describes current `lsp-session'. (defalias 'lsp-describe-session #[0 "\301 \302\303!r\211q\210\304 \210\305\306!\210\307\310 \210\306H\311\312\211\203M\211A\262\242\262\262T\262\313\314\315\316\317\320#\321\307\322\323\324\n\325H\"\"BBBBB!\210\202\266*\326!\207" [inhibit-read-only lsp-session get-buffer-create "*lsp session*" lsp-browser-mode cursor-sensor-mode 1 t erase-buffer 0 nil widget-create tree-widget :tag propertize face font-lock-keyword-face :open -map lsp--render-workspace gethash 4 pop-to-buffer] 18 (#$ . 314384) nil]) #@64 Get all workspaces that are part of the SESSION. (fn SESSION) (defalias 'lsp--session-workspaces #[257 "\300\301\302H\303C\304\305\306\"\"\210\211\242\237\266\202!!\207" [-uniq -flatten 4 nil maphash make-closure #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn --CL-VAR-- V)"]] 9 (#$ . 314947)]) #@138 Look for a multiroot connection in SESSION created from CLIENT for PROJECT-ROOT and BUFFER-MAJOR-MODE. (fn SESSION CLIENT PROJECT-ROOT) (defalias 'lsp--find-multiroot-workspace #[771 "\301H\205\265\302\303!\304\302\211\211\203H\211A\262\242\262\262\211\262\203H\305H\211\306H\262\306H=\203;\302\262\203H\262\262T\262\202\266\211\262\211\205\263\211\307\310\311\312\313\314\315!D!DD\"\210)\211\316H\317\320\"\321\"\203{\211\202~B\262#\266\306H\322H\317\320\"\321\"\203\235\211\202\240B\262#\266\323!\210\324\325\326!#\210\211\262\207" [lsp--cur-workspace 16 nil lsp--session-workspaces 0 5 15 lsp-notify "workspace/didChangeWorkspaceFolders" :event :added vector :uri lsp--path-to-uri 4 puthash gethash memql 3 lsp--persist-session lsp--info "Opened folder %s in workspace %s" lsp--workspace-print] 13 (#$ . 315253)]) #@176 Ensure that SESSION contain server CLIENTS created for PROJECT-ROOT. IGNORE-MULTI-FOLDER to ignore multi folder server. (fn SESSION CLIENTS PROJECT-ROOT IGNORE-MULTI-FOLDER) (defalias 'lsp--ensure-lsp-servers #[1028 "\300\301\302$\"\207" [-map make-closure #[257 "\303\300\301#\206\302\204\304\300\301#\206\305\300\301#\207" [V0 V1 V2 lsp--find-workspace lsp--find-multiroot-workspace lsp--start-connection] 5 "\n\n(fn CLIENT)"]] 10 (#$ . 316148)]) #@61 Stop the spinner in case all of the workspaces are started. (defalias 'lsp--spinner-stop #[0 "\301\302\303\211\211\2034\211A\262\242\262\262\211\262\2034\304H\305=\211\262\2034\262\262T\262\202\266\211\262\205>\306 \207" [lsp--buffer-workspaces t 0 nil 13 initialized spinner-stop] 8 (#$ . 316618)]) #@45 Open in existing WORKSPACE. (fn WORKSPACE) (defalias 'lsp--open-in-workspace #[257 "\211\301H\302=\203\"\211\211\303H\211\304H\262\211\203\211!\210\210\305 \210)\306 \207\307 \210\310 \211\311\311H\312\"\2038\211\202;B\262I\207" [lsp--cur-workspace 13 initialized 5 20 lsp--text-document-did-open lsp--spinner-stop lsp--spinner-start lsp-current-buffer 9 memql] 9 (#$ . 316949)]) #@107 Find server connection created with CLIENT in SESSION for PROJECT-ROOT. (fn SESSION CLIENT PROJECT-ROOT) (defalias 'lsp--find-workspace #[771 "\300\301\302H\"\303\300\211\211\203F\211A\262\242\262\262\211\262\203F\304\305H\211\306H\262 \306H\"\2039\300\262\203F\262\262T\262\202 \266\211\262\211\205T\307!\210\211\207" [nil gethash 4 0 eql 5 15 lsp--open-in-workspace] 13 (#$ . 317352)]) #@114 Find project interactively. Returns nil if the project should not be added to the current SESSION. (fn SESSION) (defalias 'lsp--find-root-interactively #[257 "\3011\225\302 \206\n\303\304\305\306\307 \310\311#\306\312\310\313#\306\310\311#\306\314\310\313#\306\315\310\316#\306 \310\311#\306\317\310\316#\306\320\310\316#& !\211\321\267\266\202\222\266\202\202\223\266\202\202\223\322\323\206V\324\325$\266\202\202\223\211\326\326HBI\266\327!\266\324\202\223\322\330\206y\324\325$\211\326\326HBI\266\327!\266\324\202\223\266\3240\207\210\324\207" [default-directory 'quit lsp--suggest-project-root read-key format "%s is not part of any project. Select action:\n\n%s==>Import project root %s.\n%s==>Import project by selecting root directory interactively.\n%s==>Do not ask again for the current project by adding %s to lsp-session-folders-blacklist.\n%s==>Do not ask again for the current project by selecting ignore path interactively.\n%s==>Do nothing: ask again when opening other files from the current project." propertize buffer-name face bold "i" success "I" "d" warning "D" "n" #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (105 67 13 73 73 79 100 94 68 114)) read-directory-name "Select workspace folder to add: " nil t 2 lsp--persist-session "Select folder to blacklist: "] 16 (#$ . 317778)]) #@73 Predicate on whether or not two files are on the same host. (fn F1 F2) (defalias 'lsp--files-same-host #[514 "\301!\206 \301!?\206J\301!\205J\301!\205J\302\303!\210\304!\211\242>\204.\305\306\307D\"\210\3108\262\304!\211\242>\204D\305\306\307D\"\210\3108\262\232\207" [cl-struct-tramp-file-name-tags file-remote-p require tramp tramp-dissect-file-name signal wrong-type-argument tramp-file-name 4] 8 (#$ . 319162)]) #@86 Look in the current SESSION for folder containing FILE-NAME. (fn SESSION FILE-NAME) (defalias 'lsp-find-session-folder #[514 "\300!\301\302\303\304H\305\303\211\203E\211A\262\242\262\262T\262\306 \"\203\f\307 \"\204=\310!\203\f\311 \"\203\fB\262\202\f\266\211\237\262\"\207" [lsp-f-canonical -max-by #[514 "GGV\207" [] 4 "\n\n(fn IT OTHER)"] nil 1 0 lsp--files-same-host lsp-f-same\? f-dir\? lsp-f-ancestor-of\?] 13 (#$ . 319605)]) #@81 Find workspace for SERVER-ID for FILE-NAME. (fn SERVER-ID &optional FILE-NAME) (defalias 'lsp-find-workspace #[513 "\300 \211\205f\211\301H\211\205d\203\302\303\"\"\202\304!\211\205b\305\306\305\211\211\203]\211A\262\242\262\262\211\262\203]\307H\310H =\203P\305\262\203]\262\262T\262\202(\266\211\262\262\262\207" [lsp-session 4 gethash lsp-find-session-folder lsp--session-workspaces nil 0 5 15] 13 (#$ . 320074)]) #@74 Calculate project root for FILE-NAME in SESSION. (fn SESSION FILE-NAME) (defalias 'lsp--calculate-root #[514 "\301\302H\303\301\211\211\203M\211A\262\242\262\262\211\262\203M\304\"\203@\305\"\203@\306\307\310 #\210\203@\301\262\203M\262\262T\262\202\266\211\262?\205n\203_\311 \206n\312\"\206n?\205n\313!\207" [lsp-auto-guess-root nil 2 0 lsp--files-same-host lsp-f-ancestor-of\? t lsp--info "File %s is in blacklisted directory %s" lsp--suggest-project-root lsp-find-session-folder lsp--find-root-interactively] 13 (#$ . 320538)]) #@155 Try opening current file as library file in any of the active workspace. The library folders are defined by each client for each of the active workspace. (defalias 'lsp--try-open-in-library-workspace #[0 "\301\302\303\304\305 !\"\306\301\211\211\203[\211A\262\242\262\262\211\262\203[\307\310H\211\311H\262\"\203N\310H\211\312H\262\211\205B\313\314!\"\262\203N\301\262\203[\262\262T\262\202\f\266\211\262\211\205t\315!\210\316\317!\210\320\321\322 \"\210\211C\207" [major-mode nil -sort #[514 "\301\"\207" [lsp--last-active-workspaces -contains\?] 5 "\n\n(fn A B)"] lsp--session-workspaces lsp-session 0 -contains\? 5 12 19 -first #[257 "\300\301 \"\207" [lsp-f-ancestor-of\? buffer-file-name] 4 "\n\n(fn LIBRARY-FOLDER)"] lsp--open-in-workspace view-mode t lsp--info "Opening read-only library file %s." buffer-file-name] 11 (#$ . 321123)]) #@54 Persist SESSION to `lsp-session-file'. (fn SESSION) (defalias 'lsp--persist-session #[257 "\301\302\303\304H\305\306H\307\310H&\"\207" [lsp-session-file lsp--persist make-lsp-session :folders 1 :folders-blacklist 2 :server-id->folders 3] 11 (#$ . 322009)]) #@337 Try create opening file as a project file. When IGNORE-MULTI-FOLDER is t the lsp mode will start new language server even if there is language server which can handle current language. When IGNORE-MULTI-FOLDER is nil current file will be opened in multi folder language server if there is such. (fn ASK-FOR-CLIENT IGNORE-MULTI-FOLDER) (defalias 'lsp--try-project-root-workspaces #[514 "\302 \211\203\303\304\305!\306\307\310%C\202\311 \211\203[\211\205$\312\313 \"\262\211\205-\314!\262\211\203S\315\316H\"\204K\211\316\316HBI\266\317!\210\320$\207\321\322\323 \"\210\307\207\321\324 \"\210\307\207" [lsp-clients major-mode lsp-session lsp--completing-read "Select server to start: " ht-values #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--client-server-id (symbol-name) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] nil t lsp--find-clients lsp--calculate-root buffer-file-name lsp-f-canonical -contains\? 1 lsp--persist-session lsp--ensure-lsp-servers lsp--warn "%s not in project or it is blacklisted." buffer-name "No LSP server for %s(check *lsp-log*)."] 12 (#$ . 322281)]) #@27 Shutdown language server. (defalias 'lsp-shutdown-workspace #[0 "\300\301 \211\204\302\303!\266\202\202=\211:\2038\211\242\243\211\2040\304\305\306\307!\"!\205)\211\262\266\204\202=!\266\204\202=!\266\202\211\205D\310!\207" [#[257 "\300\301\302\303\304%\207" [lsp--completing-read "Select server: " lsp--workspace-print nil t] 7 "\n\n(fn WORKSPACES)"] lsp-workspaces user-error "There are no active servers in the current buffer" y-or-n-p format "Are you sure you want to stop the server %s?" lsp--workspace-print lsp-workspace-shutdown] 10 (#$ . 323445) nil]) (make-obsolete 'lsp-shutdown-workspace 'lsp-workspace-shutdown "lsp-mode 6.1") #@89 Shut the workspace WORKSPACE and the language server associated with it (fn WORKSPACE) (defalias 'lsp-workspace-shutdown #[257 "\301\302\303!\"\210\211\304 )\207" [lsp--cur-workspace lsp--warn "Stopping %s" lsp--workspace-print lsp--shutdown-workspace] 5 (#$ . 324110) (byte-code "\300\301\302 \303\304\305%C\207" [lsp--completing-read "Select server: " lsp-workspaces lsp--workspace-print nil t] 6)]) #@49 Disconnect the buffer from the language server. (defalias 'lsp-disconnect #[0 "\301\302!\210\303\304!\210\305\304!\210\306\307\310!\207" [lsp--buffer-workspaces lsp--text-document-did-close t lsp-managed-mode -1 lsp-mode nil lsp--info "Disconnected"] 2 (#$ . 324521) nil]) (defalias 'lsp-restart-workspace #[0 "\300\301 \211\204\302\303!\266\202\2022\211:\203-\211\242\243\211\204%\211\262\266\204\2022!\266\204\2022!\266\202\211\2059\304!\207" [#[257 "\300\301\302\303\304%\207" [lsp--completing-read "Select server: " lsp--workspace-print nil t] 7 "\n\n(fn WORKSPACES)"] lsp-workspaces user-error "There are no active servers in the current buffer" lsp-workspace-restart] 6 nil nil]) (make-obsolete 'lsp-restart-workspace 'lsp-workspace-restart "lsp-mode 6.1") #@92 Restart the workspace WORKSPACE and the language server associated with it (fn WORKSPACE) (defalias 'lsp-workspace-restart #[257 "\301\302\303!\"\210\211\304\305!)\207" [lsp--cur-workspace lsp--warn "Restarting %s" lsp--workspace-print lsp--shutdown-workspace t] 5 (#$ . 325308) (byte-code "\300\301\302 \303\304\305%C\207" [lsp--completing-read "Select workspace: " lsp-workspaces lsp--workspace-print nil t] 6)]) #@375 Entry point for the server startup. When ARG is t the lsp mode will start new language server even if there is language server which can handle current language. When ARG is nil current file will be opened in multi folder language server if there is such. When `lsp' is called with prefix argument ask the user to select which language server to start. (fn &optional ARG) (defalias 'lsp #[256 "\203 \305\306 \"\210\307 \205\271\310\311\312!\211\203O\313\314 \307 \"\204$\315 \2061\316\317\232\2050\320=?\"\211\205\267\321\320!\210\203A\322 \210\323 \324\325\326\327\330\331\n\"\"\"\207\311\332!\211\262\203e\324\333\334\335\"\"\210\305\336\"\207\311\337!\211\262\203\225\340\341\342\310\343%\211\211\344p\344H\345\"\203\211\211\266\202\202\216B\266\202I\266\346!\207\211?\205\235\311\347!\211\262\203\254\350\351\352\353\354#\"\207\311\355!?\205\267\356\357\f\"\266\202\207" [lsp-auto-configure lsp-client-packages lsp--buffer-workspaces lsp-buffer-uri major-mode seq-do #[257 "\300!?\205\f\301\302\303#\207" [featurep require nil t] 5 "\n\n(fn PACKAGE)"] buffer-file-name nil lsp--filter-clients #[128 #1="\301\300\302\303\211\211\2034\211A\262\242\262\262\211\262\2034\304\"\211\262\2034\262\262T\262\202\266\207" [(lsp--matching-clients\? lsp--server-binary-present\?) t 0 nil apply] 10 #2="\n\n(fn &rest ARGS)"] lsp-find-session-folder lsp-session lsp--try-open-in-library-workspace lsp--try-project-root-workspaces (4) 1 lsp-mode lsp--auto-configure lsp--buffer-uri lsp--info "Connected to %s." apply concat mapcar #[257 "\300\301\302!\"\207" [format "[%s]" lsp--workspace-print] 5 "\n\n(fn IT)"] #[128 #1# [(lsp--matching-clients\? lsp--client-download-in-progress\?) t 0 nil apply] 10 #2#] "There are language server(%s) installation in progress.\nThe server(s) will be started in the buffer when it has finished." -map lsp--client-server-id #[257 "\211\211\300p\300H\301\"\203\211\266\202\202B\266\202I\207" [31 memql] 9 "\n\n(fn CLIENT)"] #[128 #1# [(lsp--matching-clients\? lsp--client-download-server-fn #[128 #3="\301\300\"?\207" [lsp--client-download-in-progress\? apply] 4 #4="\n\n(fn &rest ARGS)"]) t 0 nil apply] 10 #2#] lsp--completing-read "Unable to find installed server supporting this file. The following servers could be installed automatically: " #[128 "\302\300\"\301\303\304\211\203#\211A\262\242\262\262T\262!\262\202\266\207" [lsp--client-server-id (symbol-name) apply 0 nil] 8 "\n\n(fn &rest ARGS)"] t 31 memql lsp--install-server-internal #[128 #1# [(lsp--matching-clients\? #[128 #3# [lsp--server-binary-present\? apply] 4 #4#]) t 0 nil apply] 10 #2#] lsp--warn "The following servers support current file but do not have automatic installation configuration: %s\nYou may find the installation instructions at https://emacs-lsp.github.io/lsp-mode/page/languages.\n(If you have already installed the server check *lsp-log*)." mapconcat #[257 "\300\301H!\207" [symbol-name 15] 4 "\n\n(fn CLIENT)"] " " lsp--matching-clients\? lsp--error "There are no language servers supporting current mode %s registered with `lsp-mode'."] 12 (#$ . 325733) "P"]) #@105 Run `lsp' for the current buffer if the buffer is visible. Returns `t' if `lsp' was run for the buffer. (defalias 'lsp--init-if-visible #[0 "\300 \204\f\301\302\303\"\205\304\305\306\303#\210\307 \210\303\207" [buffer-modified-p get-buffer-window nil t remove-hook window-configuration-change-hook lsp--init-if-visible lsp] 4 (#$ . 328910)]) #@213 Entry point that defers server startup until buffer is visible. `lsp-deferred' will wait until the buffer is visible before invoking `lsp'. This avoids overloading the server with many files when starting Emacs. (defalias 'lsp-deferred #[0 "\301p\302\303\304\305\306\"#\207" [lsp--buffer-deferred t run-with-timer 0 nil make-closure #[0 "\301\300!\205r\300q\210\302 ?\205\303\304\302\305\306$)\207" [V0 buffer-live-p lsp--init-if-visible add-hook window-configuration-change-hook nil t] 5]] 7 (#$ . 329262)]) (defvar lsp-file-truename-cache (make-hash-table :test 'equal)) #@67 Executes BODY caching the `file-truename' calls. (fn &rest BODY) (defalias 'lsp-with-cached-filetrue-name '(macro . #[128 "\300\301\302\303\304BB\305BBE\207" [let ((old-fn (symbol-function 'file-truename))) unwind-protect progn (fset 'file-truename (lambda (file-name &optional counter prev-dirs) (or (gethash file-name lsp-file-truename-cache) (puthash file-name (apply old-fn (list file-name counter prev-dirs)) lsp-file-truename-cache)))) ((fset 'file-truename old-fn))] 7 (#$ . 329847)])) #@23 (fn KEY &rest ARGS) (defalias 'lsp-virtual-buffer-call #[385 "\205\301\"\211\205\302\"\262\207" [lsp--virtual-buffer plist-get apply] 6 (#$ . 330348)]) #@68 Translate COLUMN taking into account virtual buffers. (fn COLUMN) (defalias 'lsp-translate-column #[257 "\300\301\"\206\211\207" [lsp-virtual-buffer-call :real->virtual-char] 4 (#$ . 330518)]) #@64 Translate LINE taking into account virtual buffers. (fn LINE) (defalias 'lsp-translate-line #[257 "\300\301\"\206\211\207" [lsp-virtual-buffer-call :real->virtual-line] 4 (#$ . 330721)]) #@21 (fn &rest CHECKS) (defalias 'lsp--validate '(macro . #[128 "\300\301\302\303\304\305\306\307\310\311\n\"\"BBEE\207" [-let [buf (current-buffer)] with-current-buffer (get-buffer-create "*lsp-performance*") with-help-window (current-buffer) -map #[257 "\211\211A\262\242@\300\301\302\303\304\305E\306BBFD\207" [insert format "%s: %s\n" if with-current-buffer buf ((propertize "OK" 'face 'success) (propertize "ERROR" 'face 'error))] 12 "\n\n(fn INPUT0)"] -partition 2] 12 (#$ . 330918)])) #@32 Validate performance settings. (defalias 'lsp-diagnose #[0 "pr\306\307!q\210\310\211\223\210\311 B\312\nB\313 p\314!\211\310\211\315\316\317rq\210\320\321!)\2036\322\323\324\325#\202;\322\326\324\327##c\210\315\316\330rq\210\331\332!)\203U\322\323\324\325#\202Z\322\326\324\327##c\210\315\316\333rq\210\334 \335\")\203u\322\323\324\325#\202z\322\326\324\327##c\210\315\316\336rq\210\331\332!)\203\224\322\323\324\325#\202\231\322\326\324\327##c\210\315\316\337rq\210\331\332!\205\256\340V)\203\272\322\323\324\325#\202\277\322\326\324\327##c\210\315\316\341rq\210\3421\331\343\344\345D!\210\3100\202\334\346\262)\203\350\322\323\324\325#\202\355\322\326\324\327##c\210\315\316\347rq\210+\350V)\203\322\323\324\325#\202 \322\326\324\327##c\262rq\210\351\310\"\262)\320\352!\203)\352\"\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 company-backends get-buffer-create "*lsp-performance*" nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup format "%s: %s\n" "Checking for Native JSON support" functionp json-serialize propertize "OK" face success "ERROR" error "Checking emacs version has `read-process-output-max'" boundp read-process-output-max "Using company-capf" -contains\? company-capf "Check emacs supports `read-process-output-max'" "Check `read-process-output-max' default has been changed from 4k" 4096 "Byte compiled against Native JSON (recompile lsp-mode if failing when Native JSON available)" (error) lsp--make-message "a" "b" t "`gc-cons-threshold' increased?" 800000 temp-buffer-window-show help-window-setup gc-cons-threshold] 12 (#$ . 331420) nil]) (defalias 'lsp--virtual-buffer-update-position #[0 "\305\306\"\211\203\211 \232?\205'\307 \207\n\205'\302\310!\210\311\310!\210\312\211\312\313\314!\207" [lsp--virtual-buffer-connections lsp--virtual-buffer lsp-managed-mode lsp--buffer-workspaces lsp-buffer-uri -first #[257 "\300\301\"\211 \207" [plist-get :in-range] 4 "\n\n(fn INPUT0)"] lsp-org -1 lsp-mode nil run-hooks lsp-after-diagnostics-hook] 4]) #@98 Adjust on change event to be executed against the proper language server. (fn START END LENGTH) (defalias 'lsp-virtual-buffer-on-change #[771 "\303\304\"\206 \305]\\]\306\307\310# \"\211\205G\303\311\"\211\2037\303\312\"\211\307\313$!)\202Erq\210\314\315$)\262\207" [lsp--before-change-vals lsp--virtual-buffer-connections lsp--buffer-workspaces plist-get :end 0 -first make-closure #[257 "\211\303\304\300\"\205 \303\304\301\")\207" [V0 V1 lsp--virtual-buffer lsp-virtual-buffer-call :in-range] 4 "\n\n(fn VB)"] :with-current-buffer :workspaces #[0 "\303\300\301\302\304$\207" [V0 V1 V2 lsp-on-change #[128 "\301\302\303\304\305\304F\"\306\307 F\207" [lsp--virtual-buffer-point-max :range lsp--range :character 0 :line :text lsp--buffer-content] 7 "\n\n(fn &rest _)"]] 5] lsp-on-change #[128 "\301\302\303\304\305\304F\"\306\307 F\207" [lsp--virtual-buffer-point-max :range lsp--range :character 0 :line :text lsp--buffer-content] 7 "\n\n(fn &rest _)"]] 12 (#$ . 333583)]) #@18 (fn START END) (defalias 'lsp-virtual-buffer-before-change #[514 "\303\304\305\"\"\211\205-\306\307\"\211\203\306\310\"\211\311!)\202+rq\210\312\313\314!!\211)\262\207" [lsp--virtual-buffer-connections lsp--buffer-workspaces lsp--virtual-buffer-point-max -first make-closure #[257 "\302\303\"\211\203\302\304\"\211\305\306\300\"!)\207rq\210\307\310\300\")\207" [V0 lsp--buffer-workspaces plist-get :with-current-buffer :workspaces make-closure #[0 "\301\302\300\"\207" [V0 lsp-virtual-buffer-call :in-range] 3] lsp-virtual-buffer-call :in-range] 6 "\n\n(fn VB)"] plist-get :with-current-buffer :workspaces #[0 "\301\302\303!!\211\207" [lsp--virtual-buffer-point-max lsp--point-to-position lsp-virtual-buffer-call :last-point] 3] lsp--point-to-position lsp-virtual-buffer-call :last-point] 7 (#$ . 334596)]) (defalias 'lsp-patch-on-change-event #[0 "\300\301\302\303#\210\304\301\305\306\303$\210\304\307\310\306\303$\207" [remove-hook after-change-functions lsp-on-change t add-hook lsp-virtual-buffer-on-change nil before-change-functions lsp-virtual-buffer-before-change] 5]) (defalias 'lsp-kill-virtual-buffers #[0 "\301\302\"\207" [lsp--virtual-buffer-connections mapc lsp-virtual-buffer-disconnect] 3]) #@26 (fn POINT INDENTATION) (defalias 'lsp--move-point-in-indentation #[514 "\212b\210\300 \\X\203\300 \202)\207" [point-at-bol] 5 (#$ . 335832)]) #@48 Register flycheck support for MODE. (fn MODE) (defalias 'lsp-flycheck-add-mode #[257 "\300\301\"?\205\f\302\301\"\207" [flycheck-checker-supports-major-mode-p lsp flycheck-add-mode] 4 (#$ . 335990)]) (defalias 'lsp-org #[0 "\305\306\"\211\203\256\307\310\"\211\203( \232?\205\255\211\311\312\313!\210\314\313!\210\315 \207\212\311C\316\317\"\320 A@\307\321\"\307\322\"\307\323\"\307\324\"\325\326\327!AA@\236A\211\203V\330!\202Y\331\332!b\210\311y\210\333 `\311\223b\210[Sy\210\333 `T\311\223p\334S\"\335\336\337\"r\211q\210\316\340\"\216c\210eb\210\341 \342 \343#\210\344 \210eb\210\211\341 Z\262*\262\345\346\347\311\337$\210\350\351!\203\263\352\353!\210\354\316\355#\356\316\357 \"\360\316\361   $\362 \321 \322\343 \363\316\364\"\365\316\366#\367\316\370#\371\372!\373\374\375!\376'\377\316\201@!\"\201A\316\201B(&&&%\201C\316\201D'\"\201E\316\201F%\"\201G\316\201H++#\257& \240\210\201I\242\f#\210 \242B\345\201J\201K\311\337$\210\345\201L\315\311\337$\210\345\201M\201N\311\337$\210\307\242\376\"\211\203\213\307\242\310\"\211\316\201O\"!)\202\246r\242q\210\201P \210\342\242\310\201Q #\210\201Q )\262\211\266\216)\207\212\311C\316\201R\"\320 A@\307\321\"\307\322\"\307\323\"\307\324\"\325\326\327!AA@\236A\211\203\336\330!\202\341\331\332!b\210\311y\210\333 `\311\223b\210[Sy\210\333 `T\311\223p\334S\"\335\336\337\"r\211q\210\316\201S\"\216c\210eb\210\341 \342 \343#\210\344 \210eb\210\211\341 Z\262*\262\345\346\347\311\337$\210\350\351!\203=\352\353!\210\354\316\201T#\356\316\201U \"\360\316\201V   $\362 \321 \322\343 \363\316\201W\"\365\316\201X#\367\316\201Y#\371\372!\373\374\375!\376'\377\316\201Z!\"\201A\316\201[(&&&%\201C\316\201\\'\"\201E\316\201]%\"\201G\316\201^++#\257& \240\210\201I\242\f#\210 \242B\345\201J\201K\311\337$\210\345\201L\315\311\337$\210\345\201M\201N\311\337$\210\307\242\376\"\211\203!\307\242\310\"\211\316\201_\"!)\202<r\242q\210\201P \210\342\242\310\201Q #\210\201Q )\262\211\266\216)\207" [lsp--virtual-buffer-connections lsp--virtual-buffer lsp--buffer-workspaces lsp-buffer-uri lsp--virtual-buffer-mappings -first #[257 "\300\301\"\211 \207" [plist-get :in-range] 4 "\n\n(fn INPUT0)"] plist-get :workspaces nil lsp-mode 1 lsp-managed-mode lsp-patch-on-change-event make-closure #[257 "r\305\300\242\306\"q\210\305\300\242\307\"\305\300\242\310\"\305\300\242\311\"\305\300\242\312\"\300\242\211\212 \210 -\266\202)\207" [V0 major-mode buffer-file-name lsp--virtual-buffer lsp--buffer-workspaces plist-get :buffer :major-mode :buffer-file-name :goto-buffer :workspaces] 5 "\n\n(fn F)"] org-element-context :begin :end :post-blank :language :tangle org-babel-get-src-block-info light f-expand user-error "You should specify file name in the src block header." make-marker buffer-substring-no-properties generate-new-buffer #1=" *temp*" t #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] current-indentation plist-put :indentation org-do-remove-indentation add-hook post-command-hook lsp--virtual-buffer-update-position fboundp flycheck-add-mode lsp-flycheck-add-mode org-mode :in-range #[256 "\302\300\206`\301S#\207" [V0 V1 <=] 5 "\n\n(fn &optional POINT)"] :goto-buffer #[0 "\300b\207" [V0] 1] :buffer-string #[0 "\303\300\301S\"\304\305\306\"r\211q\210\307\310\"\216c\210eb\210m\2046``\302\\\311 V\203+\311 \202.`\302\\|\210\312y\210\202\303ed\"*\207" [V0 V1 V2 buffer-substring-no-properties generate-new-buffer #1# t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] point-at-eol nil] 5] :buffer :last-point #[0 "\300S\207" [V0] 1] :cur-position #[0 "\n\203#\212\303\304 \304\300!Z\305`\306 Z\301Z\211\307W\203\307\202\211\262F)\207\310\214~\210\212\303\304 \304\300!Z\305`\306 Z\301Z\211\307W\203A\307\202B\211\262F+\207" [V0 V1 lsp--already-widened :line lsp--cur-line :character line-beginning-position 0 t] 6] :line/character->point #[514 "\304\301 \203&\212\300b\210y\210\305 `ZV\203\211\202 u\210`\262)\202G\304\214~\210\212\300b\210y\210\305 `ZV\203@\211\202Du\210`\262+\\)\207" [V0 V1 inhibit-field-text-motion lsp--already-widened t line-end-position] 7 "\n\n(fn LINE CHARACTER)"] :major-mode org-src-get-lang-mode :buffer-file-name :buffer-uri lsp--path-to-uri :with-current-buffer :buffer-live\? #[257 "\301\300!\207" [V0 buffer-live-p] 3 "\n\n(fn _)"] :buffer-name #[257 "\304\305\306\307\303!\301\302\300%\310\311#\207" [V0 V1 V2 V3 propertize format #2="%s(%s:%s)%s" buffer-name face italic] 8 "\n\n(fn _)"] :real->virtual-line #[257 "\211\301\300!\\S\207" [V0 line-number-at-pos] 4 "\n\n(fn LINE)"] :real->virtual-char #[257 "\211\300\\\207" [V0] 3 "\n\n(fn CHAR)"] :cleanup #[0 "\300\302\211\223\210\301\302\211\223\207" [V0 V1 nil] 3] puthash after-save-hook org-babel-tangle lsp-after-open-hook kill-buffer-hook lsp-kill-virtual-buffers #[0 "\301 \210\302\300\242\303\304 #\210\304 \207" [V0 lsp plist-put :workspaces lsp-workspaces] 4] lsp lsp-workspaces #[257 "r\305\300\242\306\"q\210\305\300\242\307\"\305\300\242\310\"\305\300\242\311\"\305\300\242\312\"\300\242\211\212 \210 -\266\202)\207" [V0 major-mode buffer-file-name lsp--virtual-buffer lsp--buffer-workspaces plist-get :buffer :major-mode :buffer-file-name :goto-buffer :workspaces] 5 "\n\n(fn F)"] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #[256 "\302\300\206`\301S#\207" [V0 V1 <=] 5 "\n\n(fn &optional POINT)"] #[0 "\300b\207" [V0] 1] #[0 "\303\300\301S\"\304\305\306\"r\211q\210\307\310\"\216c\210eb\210m\2046``\302\\\311 V\203+\311 \202.`\302\\|\210\312y\210\202\303ed\"*\207" [V0 V1 V2 buffer-substring-no-properties generate-new-buffer #1# t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] point-at-eol nil] 5] #[0 "\300S\207" [V0] 1] #[0 "\n\203#\212\303\304 \304\300!Z\305`\306 Z\301Z\211\307W\203\307\202\211\262F)\207\310\214~\210\212\303\304 \304\300!Z\305`\306 Z\301Z\211\307W\203A\307\202B\211\262F+\207" [V0 V1 lsp--already-widened :line lsp--cur-line :character line-beginning-position 0 t] 6] #[514 "\304\301 \203&\212\300b\210y\210\305 `ZV\203\211\202 u\210`\262)\202G\304\214~\210\212\300b\210y\210\305 `ZV\203@\211\202Du\210`\262+\\)\207" [V0 V1 inhibit-field-text-motion lsp--already-widened t line-end-position] 7 "\n\n(fn LINE CHARACTER)"] #[257 "\301\300!\207" [V0 buffer-live-p] 3 "\n\n(fn _)"] #[257 "\304\305\306\307\303!\301\302\300%\310\311#\207" [V0 V1 V2 V3 propertize format #2# buffer-name face italic] 8 "\n\n(fn _)"] #[257 "\211\301\300!\\S\207" [V0 line-number-at-pos] 4 "\n\n(fn LINE)"] #[257 "\211\300\\\207" [V0] 3 "\n\n(fn CHAR)"] #[0 "\300\302\211\223\210\301\302\211\223\207" [V0 V1 nil] 3] #[0 "\301 \210\302\300\242\303\304 #\210\304 \207" [V0 lsp plist-put :workspaces lsp-workspaces] 4]] 57 nil nil]) #@23 (fn VIRTUAL-BUFFER) (defalias 'lsp-virtual-buffer-disconnect #[257 "\304\305\"\211\203T\304\306\"\211\203P\304\307\"\211\203&\304\310\"\211\311!\210)\210\202/rq\210\312 \210)\210\313 \"\n=\203<\314\211\203C\211 \210\315 \"\210\316 \210\317\320\"\207\321\322!\207\321\322!\207" [lsp--buffer-workspaces lsp--virtual-buffer-connections lsp--virtual-buffer lsp--virtual-buffer-mappings plist-get :buffer-file-name :cleanup :with-current-buffer :workspaces #[0 "\300 \207" [lsp--text-document-did-close] 1] lsp--text-document-did-close -remove-item nil remhash lsp--virtual-buffer-update-position lsp--info "Disconnected from buffer %s" lsp--error "Nothing to disconnect from?"] 7 (#$ . 342997) (byte-code "\206 \205 \302\303 \304#C\207" [lsp--virtual-buffer lsp--virtual-buffer-connections lsp--completing-read "Select virtual buffer to disconnect: " #[257 "\300\301\"\207" [plist-get :buffer-file-name] 5 "\n\n(fn INPUT0)"]] 4)]) (provide 'lsp-mode)