;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\301\311\312\313\314& \210\315\316\317\320\321DD\322\323\324\310\305\313\325& \210\315\326\317\320\327DD\330\323\331\313\332&\210\315\333\317\320\334DD\335\336\337\323\340\310\305\313\341& \210\315\342\317\320\343DD\344\323\345\310\305\313\346& \210\315\347\317\320\350DD\351\323\352\310\305\313\353& \210\315\354\317\320\355DD\356\323\357\310\305\313\360& \210\315\361\317\320\362DD\363\323\364\310\305\313\365& \210\315\366\317\320\367DD\370\323\364\310\305\313\371& \210\315\372\317\320\373DD\374\323\375\310\305\313\376& \210\315\377\317\320\201@DD\201A\323\364\310\305\313\201B& \210\315\201C\317\320\201DDD\201E\323\364\310\305\313\201F& \210\315\201G\317\320\201HDD\201I\323\201J\310\305\313\201K& \210\315\201L\317\320\201MDD\201N\323\364\310\305\313\201O& \210\315\201P\317\320\201QDD\201R\323\201S\310\305\313\201T& \210\315\201U\317\320\201VDD\201W\323\364\310\305\313\201X& \210\315\201Y\317\320\201ZDD\201[\323\201S\310\305\313\201\\& \210\315\201]\317\320\201^DD\201_\323\364\310\305\313\201`& \210\315\201a\317\320\201bDD\201c\323\364\310\305\313\201d& \210\315\201e\317\320\201fDD\201g\323\364\310\305\313\201h& \210\315\201i\317\320\201jDD\201k\323\201l\310\305\313\201m& \210\315\201n\317\320\201oDD\201p\323\201q\310\305\313\201r& \210\315\201s\317\320\201tDD\201u\323\364\310\305\313\201v& \210\315\201w\317\320\201xDD\201y\323\201z\310\305\313\201{& \210\315\201|\317\320\201}DD\201~\323\201\310\305\313\201\200& \210\315\201\201\317\320\201\202DD\201\203\323\201\204\310\305\313\201\205& \210\315\201\206\317\320\201\207DD\201\210\323\364\310\305\313\201\211& \210\315\201\212\317\320\201\213DD\201\214\323\364\310\305\313\201\215& \210\201\216\201\217!\207" [require lsp-mode ht dash custom-declare-group lsp-rust nil "LSP support for Rust, using Rust Language Server or rust-analyzer." :group :link (url-link "https://github.com/rust-lang/rls") :package-version (lsp-mode . "6.1") custom-declare-variable lsp-rust-server funcall function #[0 "\300\207" [rust-analyzer] 1] "Choose LSP server." :type (choice (const :tag "rls" rls) (const :tag "rust-analyzer" rust-analyzer)) (lsp-mode . "6.2") lsp-rust-rls-server-command #[0 "\300\207" [("rls")] 1] "Command to start RLS." (repeat string) (lsp-mode . "6.1") lsp-rust-library-directories #[0 "\300\207" [("~/.cargo/registry/src" "~/.rustup/toolchains")] 1] "List of directories which will be considered to be libraries." :risky t (repeat string) (lsp-mode . "6.1") lsp-rust-sysroot #[0 "\300\207" [nil] 1] "If non-nil, use the given path as the sysroot for all rustc invocations instead of trying\nto detect the sysroot automatically." (choice (const :tag "None" nil) (string :tag "Sysroot")) (lsp-mode . "6.1") lsp-rust-target #[0 "\300\207" [nil] 1] "If non-nil, use the given target triple for all rustc invocations." (choice (const :tag "None" nil) (string :tag "Target")) (lsp-mode . "6.1") lsp-rust-rustflags #[0 "\300\207" [nil] 1] "Flags added to RUSTFLAGS." (choice (const :tag "None" nil) (string :tag "Flags")) (lsp-mode . "6.1") lsp-rust-clear-env-rust-log #[0 "\300\207" [t] 1] "Clear the RUST_LOG environment variable before running rustc or cargo." boolean (lsp-mode . "6.1") lsp-rust-build-lib #[0 "\300\207" [nil] 1] "If non-nil, checks the project as if you passed the `--lib' argument to cargo.\nMutually exclusive with, and preferred over, `lsp-rust-build-bin'. (Unstable)" (lsp-mode . "6.1") lsp-rust-build-bin #[0 "\300\207" [nil] 1] "If non-nil, checks the project as if you passed `-- bin ' argument to cargo.\nMutually exclusive with `lsp-rust-build-lib'. (Unstable)" (choice (const :tag "None" nil) (string :tag "Binary")) (lsp-mode . "6.1") lsp-rust-cfg-test #[0 "\300\207" [nil] 1] "If non-nil, checks the project as if you were running `cargo test' rather than cargo build.\nI.e., compiles (but does not run) test code." (lsp-mode . "6.1") lsp-rust-unstable-features #[0 "\300\207" [nil] 1] "Enable unstable features." (lsp-mode . "6.1") lsp-rust-wait-to-build #[0 "\300\207" [nil] 1] "Time in milliseconds between receiving a change notification\nand starting build. If not specified, automatically inferred by\nthe latest build duration." (choice (const :tag "Auto" nil) (number :tag "Time")) (lsp-mode . "6.1") lsp-rust-show-warnings #[0 "\300\207" [t] 1] "Show warnings." (lsp-mode . "6.1") lsp-rust-crate-blacklist #[0 "\300\207" [["cocoa" "gleam" "glium" "idna" "libc" "openssl" "rustc_serialize" "serde" "serde_json" "typenum" "unicode_normalization" "unicode_segmentation" "winapi"]] 1] "A list of Cargo crates to blacklist." lsp-string-vector (lsp-mode . "6.1") lsp-rust-build-on-save #[0 "\300\207" [nil] 1] "Only index the project when a file is saved and not on\nchange." (lsp-mode . "6.1") lsp-rust-features #[0 "\300\207" [[]] 1] "List of Cargo features to enable." (lsp-mode . "6.1") lsp-rust-all-features #[0 "\300\207" [nil] 1] "Enable all Cargo features." (lsp-mode . "6.1") lsp-rust-no-default-features #[0 "\300\207" [nil] 1] "Do not enable default Cargo features." (lsp-mode . "6.1") lsp-rust-racer-completion #[0 "\300\207" [t] 1] "Enables code completion using racer." (lsp-mode . "6.1") lsp-rust-clippy-preference #[0 "\300\207" [#1="opt-in"] 1 #1#] "Controls eagerness of clippy diagnostics when available. Valid\n values are (case-insensitive):\n - \"off\": Disable clippy\n lints.\n - \"opt-in\": Clippy lints are shown when crates\n specify `#![warn(clippy)]`.\n - \"on\": Clippy lints enabled\n for all crates in workspace.\nYou need to install clippy via\n rustup if you haven't already." (choice (const "on") (const "opt-in") (const "off")) (lsp-mode . "6.1") lsp-rust-jobs #[0 "\300\207" [nil] 1] "Number of Cargo jobs to be run in parallel." (choice (const :tag "Auto" nil) (number :tag "Jobs")) (lsp-mode . "6.1") lsp-rust-all-targets #[0 "\300\207" [t] 1] "Checks the project as if you were running cargo check --all-targets.\nI.e., check all targets and integration tests too." (lsp-mode . "6.1") lsp-rust-target-dir #[0 "\300\207" [nil] 1] "When specified, it places the generated analysis files at the\nspecified target directory. By default it is placed target/rls\ndirectory." (choice (const :tag "Default" nil) (string :tag "Directory")) (lsp-mode . "6.1") lsp-rust-rustfmt-path #[0 "\300\207" [nil] 1] "When specified, RLS will use the Rustfmt pointed at the path\ninstead of the bundled one" (choice (const :tag "Bundled" nil) (string :tag "Path")) (lsp-mode . "6.1") lsp-rust-build-command #[0 "\300\207" [nil] 1] "EXPERIMENTAL (requires `unstable_features`)\nIf set, executes\na given program responsible for rebuilding save-analysis to be\nloaded by the RLS. The program given should output a list of\nresulting .json files on stdout. \nImplies `rust.build_on_save`:\ntrue." (choice (const :tag "None" nil) (string :tag "Command")) (lsp-mode . "6.1") lsp-rust-full-docs #[0 "\300\207" [nil] 1] "Instructs cargo to enable full documentation extraction during\nsave-analysis while building the crate." (lsp-mode . "6.1") lsp-rust-show-hover-context #[0 "\300\207" [t] 1] "Show additional context in hover tooltips when available. This\nis often the type local variable declaration." (lsp-mode . "6.1") lsp-register-custom-settings (("rust.show_hover_context" lsp-rust-show-hover-context t) ("rust.full_docs" lsp-rust-full-docs t) ("rust.build_command" lsp-rust-build-command) ("rust.rustfmt_path" lsp-rust-rustfmt-path) ("rust.target_dir" lsp-rust-target-dir) ("rust.all_targets" lsp-rust-all-targets t) ("rust.jobs" lsp-rust-jobs) ("rust.clippy_preference" lsp-rust-clippy-preference) ("rust.racer_completion" lsp-rust-racer-completion t) ("rust.no_default_features" lsp-rust-no-default-features t) ("rust.all_features" lsp-rust-all-features t) ("rust.features" lsp-rust-features) ("rust.build_on_save" lsp-rust-build-on-save t) ("rust.crate_blacklist" lsp-rust-crate-blacklist) ("rust.show_warnings" lsp-rust-show-warnings t) ("rust.wait_to_build" lsp-rust-wait-to-build) ("rust.unstable_features" lsp-rust-unstable-features t) ("rust.cfg_test" lsp-rust-cfg-test t) ("rust.build_bin" lsp-rust-build-bin) ("rust.build_lib" lsp-rust-build-lib t) ("rust.clear_env_rust_log" lsp-rust-clear-env-rust-log t) ("rust.rustflags" lsp-rust-rustflags) ("rust.target" lsp-rust-target) ("rust.sysroot" lsp-rust-sysroot))] 12) #@92 Progress report handling. PARAMS progress report notification data. (fn WORKSPACE PARAMS) (defalias 'lsp-clients--rust-window-progress #[514 "\300\301\"\300\302\"\300\303\"\204\304!\203\305\306\"\207\305\307\310\206%\311#\"\207" [gethash "done" "message" "title" s-blank-str\? lsp-workspace-status nil format "%s - %s" ""] 10 (#$ . 8517)]) (byte-code "\301\302\303\304\303\305%\210\306\307\310\311\312!\313\314\315\316=\203\317\202\320\321\322\323\324\325\326\"\327\330\331#\210\211\262\332\324\325\326\"\327\333\334#\210\211\262\335\336\337\340\341\316&!\210\342\343\344\345\346DD\347\350\351\352\353\354\355& \210\342\356\344\345\357DD\360\350\361\352\353\354\362& \210\342\363\344\345\364DD\365\350\366\352\353\354\367& \210\342\370\344\345\371DD\372\350\361\352\353\354\373& \210\342\374\344\345\375DD\376\350\361\352\353\354\377& \210\342\201@\344\345\201ADD\201B\350\366\352\353\354\201C& \210\342\201D\344\345\201EDD\201F\350\361\352\353\354\201G& \210\342\201H\344\345\201IDD\201J\350\201K\352\353\354\201L& \210\342\201M\344\345\201NDD\201O\350\201P\352\353\354\201Q& \210\342\201R\344\345\201SDD\201T\350\201P\352\353\354\201U& \210\342\201V\344\345\201WDD\201X\350\361\352\353\354\201Y& \210\342\201Z\344\345\201[DD\201\\\350\361\352\353\354\201]& \210\342\201^\344\345\201_DD\201`\350\201P\352\353\354\201a& \210\342\201b\344\345\201cDD\201d\350\345\352\353\354\201e& \210\342\201f\344\345\201gDD\201h\350\361\352\353\354\201i& \210\342\201j\344\345\201kDD\201l\350\361\352\353\354\201m& \210\342\201n\344\345\201oDD\201p\350\201P\352\353\354\201q& \210\342\201r\344\345\201sDD\201t\350\201P\352\353\354\201u& \210\342\201v\344\345\201wDD\201x\350\361\352\353\354\201y& \210\342\201z\344\345\201{DD\201|\350\361\352\353\354\201}& \210\342\201~\344\345\201DD\201\200\350\361\352\353\354\201\201& \210\342\201\202\344\345\201\203DD\201\204\350\361\352\353\354\201\205& \210\342\201\206\344\345\201\207DD\201\210\350\361\352\353\354\201\211& \210\342\201\212\344\345\201\213DD\201\214\350\201\215\352\353\354\201\216& \207" [lsp-rust-server cl-generic-define-method lsp-execute-command nil (_server (_command (eql rls\.run)) params) #[771 "\301!\302\303\"\302\304\"\302\305\"\302\306\"\211\206\307 \206\310\311\312\313\314\315\316\n\"\"\313\314\"$!)\207" [default-directory lsp-seq-first gethash "env" "binary" "args" "cwd" lsp-workspace-root compile format "%s %s %s" s-join " " ht-map #[514 "\300\301#\207" [format "%s=%s"] 6 "\n\n(fn KEY VALUE)"]] 16 "\n\n(fn SERVER COMMAND PARAMS)"] lsp-register-client make-lsp-client :new-connection lsp-stdio-connection #[0 "\207" [lsp-rust-rls-server-command] 1] :major-modes (rust-mode rustic-mode) :priority rls 1 -1 :initialization-options ((omitInitBuild . t) (cmdRun . t)) :notification-handlers make-hash-table :test equal puthash "window/progress" lsp-clients--rust-window-progress :action-handlers "rls.run" lsp-rust--rls-run :library-folders-fn #[257 "\207" [lsp-rust-library-directories] 2 "\n\n(fn WORKSPACE)"] :initialized-fn #[257 "\211\301\302\303!!)\207" [lsp--cur-workspace lsp--set-configuration lsp-configuration-section "rust"] 4 "\n\n(fn WORKSPACE)"] :server-id custom-declare-variable lsp-rust-analyzer-server-command funcall function #[0 "\300\207" [("rust-analyzer")] 1] "Command to start rust-analyzer." :type (repeat string) :group lsp-rust :package-version (lsp-mode . "6.2") lsp-rust-analyzer-server-display-inlay-hints #[0 "\300\207" [nil] 1] "Show inlay hints." boolean (lsp-mode . "6.2") lsp-rust-analyzer-max-inlay-hint-length #[0 "\300\207" [nil] 1] "Max inlay hint length." integer (lsp-mode . "6.2.2") lsp-rust-analyzer-display-parameter-hints #[0 "\300\207" [nil] 1] "Whether to show function parameter name inlay hints at the call site." (lsp-mode . "6.2.2") lsp-rust-analyzer-display-chaining-hints #[0 "\300\207" [nil] 1] "Whether to show inlay type hints for method chains." (lsp-mode . "6.2.2") lsp-rust-analyzer-lru-capacity #[0 "\300\207" [nil] 1] "Number of syntax trees rust-analyzer keeps in memory." (lsp-mode . "6.2.2") lsp-rust-analyzer-cargo-watch-enable #[0 "\300\207" [t] 1] "Enable Cargo watch." (lsp-mode . "6.2.2") lsp-rust-analyzer-cargo-watch-command #[0 "\300\207" [#1="check"] 1 #1#] "Cargo watch command." string (lsp-mode . "6.2.2") lsp-rust-analyzer-cargo-watch-args #[0 "\300\207" [#2=[]] 1] "Cargo watch args." lsp-string-vector (lsp-mode . "6.2.2") lsp-rust-analyzer-cargo-override-command #[0 "\300\207" [#2#] 1] "Advanced option, fully override the command rust-analyzer uses for checking.\nThe command should include `--message=format=json` or similar option." (lsp-mode . "6.2.2") lsp-rust-analyzer-cargo-all-targets #[0 "\300\207" [nil] 1] "Cargo watch all targets or not." (lsp-mode . "6.2.2") lsp-rust-analyzer-use-client-watching #[0 "\300\207" [t] 1] "Use client watching" (lsp-mode . "6.2.2") lsp-rust-analyzer-exclude-globs #[0 "\300\207" [#2#] 1] "Exclude globs" (lsp-mode . "6.2.2") lsp-rust-analyzer-macro-expansion-method #[0 "\300\207" [lsp-rust-analyzer-macro-expansion-default] 1] "Use a different function if you want formatted macro expansion results and syntax highlighting." (lsp-mode . "6.2.2") lsp-rust-analyzer-diagnostics-enable #[0 "\300\207" [t] 1] "Whether to show native rust-analyzer diagnostics." (lsp-mode . "6.3.2") lsp-rust-analyzer-cargo-load-out-dirs-from-check #[0 "\300\207" [nil] 1] "Whether to run `cargo check` on startup to get the correct value for package OUT_DIRs." (lsp-mode . "6.3.2") lsp-rust-analyzer-rustfmt-extra-args #[0 "\300\207" [#2#] 1] "Additional arguments to rustfmt." (lsp-mode . "6.3.2") lsp-rust-analyzer-rustfmt-override-command #[0 "\300\207" [#2#] 1] "Advanced option, fully override the command rust-analyzer uses for formatting." (lsp-mode . "6.3.2") lsp-rust-analyzer-completion-add-call-parenthesis #[0 "\300\207" [t] 1] "Whether to add parenthesis when completing functions." (lsp-mode . "6.3.2") lsp-rust-analyzer-completion-add-call-argument-snippets #[0 "\300\207" [t] 1] "Whether to add argument snippets when completing functions." (lsp-mode . "6.3.2") lsp-rust-analyzer-completion-postfix-enable #[0 "\300\207" [t] 1] "Whether to show postfix snippets like `dbg`, `if`, `not`, etc." (lsp-mode . "6.3.2") lsp-rust-analyzer-call-info-full #[0 "\300\207" [t] 1] "Whether to show function name and docs in parameter hints." (lsp-mode . "6.3.2") lsp-rust-analyzer-proc-macro-enable #[0 "\300\207" [nil] 1] "Enable Proc macro support; lsp-rust-analyzer-cargo-load-out-dirs-from-check must be enabled." (lsp-mode . "6.3.2") lsp-rust-analyzer-inlay-face #[0 "\300\207" [font-lock-comment-face] 1] "The face to use for the Rust Analyzer inlays." face (lsp-mode . "7.0")] 20) #@32 Init options for rust-analyzer (defalias 'lsp-rust-analyzer--make-init-options #[0 "\306\307\310!D\311 \312\307\310\n!\313 \314\f\315\310 !\316&\257\n\317\320'\321\310(\203)\322\202*\323!F\324\325\310)!\326\310*!\327+\330\310,!\257\331\314-\316.F\332\333\310/!\334\3100!\335\3101!\3362\257\337\340\3103!\341\3104!\342\307\3105!D\257\343\344\3106!D\345\307\3107!D\257\207" [lsp-rust-analyzer-diagnostics-enable lsp-rust-analyzer-lru-capacity lsp-rust-analyzer-cargo-watch-enable lsp-rust-analyzer-cargo-watch-command lsp-rust-analyzer-cargo-watch-args lsp-rust-analyzer-cargo-all-targets :diagnostics :enable lsp-json-bool :lruCapacity :checkOnSave :command :extraArgs :allTargets :overrideCommand :files :exclude :watcher "client" "notify" :cargo :allFeatures :noDefaultFeatures :features :loadOutDirsFromCheck :rustfmt :inlayHints :typeHints :chainingHints :parameterHints :maxLength :completion :addCallParenthesis :addCallArgumentSnippets :postfix :callInfo :full :procMacro lsp-rust-analyzer-cargo-override-command lsp-rust-analyzer-exclude-globs lsp-rust-analyzer-use-client-watching lsp-rust-all-features lsp-rust-no-default-features lsp-rust-features lsp-rust-analyzer-cargo-load-out-dirs-from-check lsp-rust-analyzer-rustfmt-extra-args lsp-rust-analyzer-rustfmt-override-command lsp-rust-analyzer-server-display-inlay-hints lsp-rust-analyzer-display-chaining-hints lsp-rust-analyzer-display-parameter-hints lsp-rust-analyzer-max-inlay-hint-length lsp-rust-analyzer-completion-add-call-parenthesis lsp-rust-analyzer-completion-add-call-argument-snippets lsp-rust-analyzer-completion-postfix-enable lsp-rust-analyzer-call-info-full lsp-rust-analyzer-proc-macro-enable] 23 (#$ . 15313)]) (defconst lsp-rust-notification-handlers '(("rust-analyzer/publishDecorations" lambda (_w _p)))) (defconst lsp-rust-action-handlers nil) (defvar lsp-rust-analyzer-syntax-tree-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-rust-analyzer-syntax-tree-mode-hook variable-documentation put "Hook run after entering Rust-Analyzer-Syntax-Tree 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-rust-analyzer-syntax-tree-mode-map definition-name lsp-rust-analyzer-syntax-tree-mode] 4) (defvar lsp-rust-analyzer-syntax-tree-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-rust-analyzer-syntax-tree-mode-abbrev-table lsp-rust-analyzer-syntax-tree-mode-map variable-documentation put purecopy "Keymap for `lsp-rust-analyzer-syntax-tree-mode'." boundp lsp-rust-analyzer-syntax-tree-mode-syntax-table definition-name lsp-rust-analyzer-syntax-tree-mode (lambda (#1=#:def-tmp-var) (defvar lsp-rust-analyzer-syntax-tree-mode-syntax-table #1#)) make-syntax-table "Syntax table for `lsp-rust-analyzer-syntax-tree-mode'." (lambda (#1#) (defvar lsp-rust-analyzer-syntax-tree-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `lsp-rust-analyzer-syntax-tree-mode'." derived-mode-parent special-mode] 5) #@287 Mode for the rust-analyzer syntax tree buffer. In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `lsp-rust-analyzer-syntax-tree-mode-hook', as the final or penultimate step during initialization. \{lsp-rust-analyzer-syntax-tree-mode-map} (defalias 'lsp-rust-analyzer-syntax-tree-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-rust-analyzer-syntax-tree-mode-map lsp-rust-analyzer-syntax-tree-mode-syntax-table lsp-rust-analyzer-syntax-tree-mode-abbrev-table make-local-variable t special-mode lsp-rust-analyzer-syntax-tree-mode "Rust-Analyzer-Syntax-Tree" 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-rust-analyzer-syntax-tree-mode-hook local-abbrev-table] 5 (#$ . 18657) nil]) #@41 Display syntax tree for current buffer. (defalias 'lsp-rust-analyzer-syntax-tree #[0 "\303\304!\211\203a\305!\211\203]\306\307\310 \311\312 \203!\313\314 \315 \"\202%\313ed\"$\211\203Y\316\317\320\"!)\211\203U\321\322\323\"!\324r\211q\210\325 \210\326 \210c\210eb\210)\327!)\207\330\331!\207\330\331!\207\330\331!\207\330\331!\207" [default-directory lsp--cur-workspace inhibit-read-only lsp-find-workspace rust-analyzer lsp-workspace-root lsp-make-rust-analyzer-syntax-tree-params :text-document lsp--text-document-identifier :range\? use-region-p lsp--region-to-range region-beginning region-end lsp-send-request lsp-make-request "rust-analyzer/syntaxTree" get-buffer-create format "*rust-analyzer syntax tree %s*" t lsp-rust-analyzer-syntax-tree-mode erase-buffer pop-to-buffer message "rust-analyzer not running."] 9 (#$ . 19826) nil]) (defvar lsp-rust-analyzer-status-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-rust-analyzer-status-mode-hook variable-documentation put "Hook run after entering Rust-Analyzer-Status 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-rust-analyzer-status-mode-map definition-name lsp-rust-analyzer-status-mode] 4) (defvar lsp-rust-analyzer-status-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-rust-analyzer-status-mode-abbrev-table lsp-rust-analyzer-status-mode-map variable-documentation put purecopy "Keymap for `lsp-rust-analyzer-status-mode'." boundp lsp-rust-analyzer-status-mode-syntax-table definition-name lsp-rust-analyzer-status-mode (lambda (#1=#:def-tmp-var) (defvar lsp-rust-analyzer-status-mode-syntax-table #1#)) make-syntax-table "Syntax table for `lsp-rust-analyzer-status-mode'." (lambda (#1#) (defvar lsp-rust-analyzer-status-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `lsp-rust-analyzer-status-mode'." derived-mode-parent special-mode] 5) #@272 Mode for the rust-analyzer status buffer. In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `lsp-rust-analyzer-status-mode-hook', as the final or penultimate step during initialization. \{lsp-rust-analyzer-status-mode-map} (defalias 'lsp-rust-analyzer-status-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-rust-analyzer-status-mode-map lsp-rust-analyzer-status-mode-syntax-table lsp-rust-analyzer-status-mode-abbrev-table make-local-variable t special-mode lsp-rust-analyzer-status-mode "Rust-Analyzer-Status" 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-rust-analyzer-status-mode-hook local-abbrev-table] 5 (#$ . 22094) nil]) #@48 Displays status information for rust-analyzer. (defalias 'lsp-rust-analyzer-status #[0 "\303\304!\211\203<\305!\211\2038\306\307\310!!)\211\2034\311\312\313\"!\314r\211q\210\315 \210\316 \210c\210\317!*\207\320\321!\207\320\321!\207\320\321!\207" [default-directory lsp--cur-workspace inhibit-read-only lsp-find-workspace rust-analyzer lsp-workspace-root lsp-send-request lsp-make-request "rust-analyzer/analyzerStatus" get-buffer-create format "*rust-analyzer status %s*" t lsp-rust-analyzer-status-mode erase-buffer pop-to-buffer message "rust-analyzer not running."] 7 (#$ . 23213) nil]) #@81 Join selected lines into one, smartly fixing up whitespace and trailing commas. (defalias 'lsp-rust-analyzer-join-lines #[0 "\300\301\302 \303\304\305 \203\306\307 \310 \"\202\306``\"!$\311\312\313\"!\314!\207" [lsp-make-rust-analyzer-join-lines-params :text-document lsp--text-document-identifier :ranges vector use-region-p lsp--region-to-range region-beginning region-end lsp-send-request lsp-make-request "experimental/joinLines" lsp--apply-text-edits] 8 (#$ . 23820) nil]) (byte-code "\304\305\306\307\310!\311\312\313\314=\203\315\202\316\317\320\321\322 !\323\322\n!\324\325\326\327\330\331\332\314\333\334\335 BDC&!\207" [lsp-rust-server lsp-rust-notification-handlers lsp-rust-action-handlers lsp-enable-snippet lsp-register-client make-lsp-client :new-connection lsp-stdio-connection #[0 "\207" [lsp-rust-analyzer-server-command] 1] :major-modes (rust-mode rustic-mode) :priority rust-analyzer 1 -1 :initialization-options lsp-rust-analyzer--make-init-options :notification-handlers ht<-alist :action-handlers :library-folders-fn #[257 "\207" [lsp-rust-library-directories] 2 "\n\n(fn WORKSPACE)"] :after-open-fn #[0 "\205\301 \207" [lsp-rust-analyzer-server-display-inlay-hints lsp-rust-analyzer-inlay-hints-mode] 1] :ignore-messages nil :server-id :custom-capabilities experimental snippetTextEdit] 26) #@99 Switch priorities of lsp servers, unless LSP-SERVER is already active. (fn &optional LSP-SERVER) (defalias 'lsp-rust-switch-server #[256 "\301\302\"\303H\304V\203\302\202\305=?\205D\306\211\205B\211@\307\301\"\211\303\301\"\303H\310_I\262!\203;\311\312\313\"!\210A\266\202\202\262\207" [lsp-clients gethash rls 14 0 rust-analyzer (rls rust-analyzer) natnump -1 message format "Switched to server %s."] 11 (#$ . 25158) nil]) (defvar lsp-rust-analyzer-inlay-hints-timer nil nil) (make-variable-buffer-local 'lsp-rust-analyzer-inlay-hints-timer) #@15 (fn BUFFER) (defalias 'lsp-rust-analyzer-update-inlay-hints #[257 "\300 \203\211p=\203\301\302\303\304\305 \"\306\307\310%\210\311\207" [lsp-rust-analyzer-initialized\? lsp-request-async "rust-analyzer/inlayHints" lsp-make-rust-analyzer-inlay-hints-params :text-document lsp--text-document-identifier #[257 "\304ed\305\306$\210\211\211\205\203\211@\307\310\"\307\311\"\307\312\"\313\314\315\"!\313\314\316\"!\317\320\321\322%\323\305\306#\210\323\324\306#\210\232\203P\323\325\326\327 P\330 ##\266\202|\n\232\203g\323\331\326\327P\330 ##\266\202| \232\203z\323\325\326\327 P\330 ##\210\266A\266\202\202\207" [lsp/rust-analyzer-inlay-hint-kind-type-hint lsp-rust-analyzer-inlay-face lsp/rust-analyzer-inlay-hint-kind-param-hint lsp/rust-analyzer-inlay-hint-kind-chaining-hint remove-overlays lsp-rust-analyzer-inlay-hint t gethash "range" "label" "kind" lsp--position-to-point lsp-get :start :end make-overlay nil front-advance end-advance overlay-put evaporate after-string propertize ": " font-lock-face before-string] 16 "\n\n(fn RES)"] :mode tick nil] 7 (#$ . 25728)]) (defalias 'lsp-rust-analyzer-initialized\? #[0 "\300\301!\211\205\f\211\302H\303=\207" [lsp-find-workspace rust-analyzer 13 initialized] 3]) #@19 (fn &rest REST) (defalias 'lsp-rust-analyzer-inlay-hints-change-handler #[128 "\203\301!\210\302\303\304\305p$\211\207" [lsp-rust-analyzer-inlay-hints-timer cancel-timer run-with-idle-timer 0.1 nil lsp-rust-analyzer-update-inlay-hints] 6 (#$ . 26986)]) #@137 Non-nil if Lsp-Rust-Analyzer-Inlay-Hints mode is enabled. Use the command `lsp-rust-analyzer-inlay-hints-mode' to change this variable. (defvar lsp-rust-analyzer-inlay-hints-mode nil (#$ . 27253)) (make-variable-buffer-local 'lsp-rust-analyzer-inlay-hints-mode) #@626 Mode for displaying inlay hints. This is a minor mode. If called interactively, toggle the `Lsp-Rust-Analyzer-Inlay-Hints 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-rust-analyzer-inlay-hints-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'lsp-rust-analyzer-inlay-hints-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\203C\311p!\210\312\313\314\305\306$\210\202P\315ed\316\306$\210\317\313\314\306#\210\320\321\203Z\322\202[\323\"\210\324\325!\203}\302 \203o\211\302 \232\203}\326\327\203y\330\202z\331\332#\210\210\333 \210\207" [lsp-rust-analyzer-inlay-hints-mode local-minor-modes current-message toggle 1 nil t boundp delq lsp-rust-analyzer-update-inlay-hints add-hook lsp-on-change-hook lsp-rust-analyzer-inlay-hints-change-handler remove-overlays lsp-rust-analyzer-inlay-hint remove-hook run-hooks lsp-rust-analyzer-inlay-hints-mode-hook lsp-rust-analyzer-inlay-hints-mode-on-hook lsp-rust-analyzer-inlay-hints-mode-off-hook called-interactively-p any message "Lsp-Rust-Analyzer-Inlay-Hints mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 27522) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-rust-analyzer-inlay-hints-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-rust-analyzer-inlay-hints-mode-map lsp-rust-analyzer-inlay-hints-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-rust-analyzer-inlay-hints-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-rust-analyzer-inlay-hints-mode boundp] 6) #@46 Expands the macro call at point recursively. (defalias 'lsp-rust-analyzer-expand-macro #[0 "\302\303!\211\2038\304\305\306 \307\310 $\211\2034\311\312\313\"!)\211\2030\314\315\"\211\203, !\207\316\317!\207\316\317!\207\316\317!\207\316\320!\207" [lsp--cur-workspace lsp-rust-analyzer-macro-expansion-method lsp-find-workspace rust-analyzer lsp-make-rust-analyzer-expand-macro-params :text-document lsp--text-document-identifier :position lsp--cur-position lsp-send-request lsp-make-request "rust-analyzer/expandMacro" gethash "expansion" message "No macro found at point, or it could not be expanded." "rust-analyzer not running."] 6 (#$ . 29781) nil]) #@61 Default method for displaying macro expansion. (fn RESULT) (defalias 'lsp-rust-analyzer-macro-expansion-default #[257 "\302!\303\211\304\305\"!!r\211q\210\306\307 \210c\210\310 \210*\311!\207" [default-directory inhibit-read-only lsp-workspace-root get-buffer-create format "*rust-analyzer macro expansion %s*" t erase-buffer special-mode display-buffer] 7 (#$ . 30449)]) (defvar lsp-rust-analyzer--last-runnable nil) (defalias 'lsp-rust-analyzer--runnables #[0 "\300\301\302\303\304\305 \306\307 $\"!\207" [lsp-send-request lsp-make-request "experimental/runnables" lsp-make-rust-analyzer-runnables-params :text-document lsp--text-document-identifier :position\? lsp--cur-position] 8]) (defalias 'lsp-rust-analyzer--select-runnable #[0 "\301\302\203\303\304\305 \"B\202\305 \306#\207" [lsp-rust-analyzer--last-runnable lsp--completing-read "Select runnable:" -remove #[257 "\301\302\"\211\303\304\"\232\207" [lsp-rust-analyzer--last-runnable gethash "label" lsp-get :label] 6 "\n\n(fn INPUT0)"] lsp-rust-analyzer--runnables #[257 "\300\301\"\207" [gethash "label"] 4 "\n\n(fn INPUT0)"]] 6]) #@50 Select and run a runnable action. (fn RUNNABLE) (defalias 'lsp-rust-analyzer-run #[257 "\302\303\"\302\304\"\302\305\"\302\306\"\302\307\"\302\310\"\211\206\311\230\204,\312\313\"\202T\314\315\311C\2056\316\317%\320\321\322#\266\202\323\324!\205I\324\325\326 \"#\210\211)\207" [default-directory lsp-rust-analyzer--last-runnable gethash "kind" "label" "args" "cargoArgs" "executableArgs" "workspaceRoot" "cargo" lsp--error "'%s' runnable is not supported" compilation-start append ("--") nil " " mapconcat identity functionp cargo-process-mode make-closure #[257 "\301\300\301Q\207" [V0 "*"] 4 "\n\n(fn _)"]] 14 (#$ . 31562) (byte-code "\300 C\207" [lsp-rust-analyzer--select-runnable] 1)]) #@27 (fn &optional RUNNABLE) (defalias 'lsp-rust-analyzer-rerun #[256 "\301\206!\207" [lsp-rust-analyzer--last-runnable lsp-rust-analyzer-run] 3 (#$ . 32287) (byte-code "\206\301 C\207" [lsp-rust-analyzer--last-runnable lsp-rust-analyzer--select-runnable] 1)]) #@65 Find parent module of current module. (fn &key DISPLAY-ACTION) (defalias 'lsp-rust-find-parent-module #[128 "\300\301\"A@\302\303\304\301$\207" [plist-member :display-action lsp-find-locations "experimental/parentModule" nil] 7 (#$ . 32558) nil]) (provide 'lsp-rust)