;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\201d\310\305\313\201e& \210\315\201f\317\320\201gDD\201h\323\364\310\305\313\201i& \210\315\201j\317\320\201kDD\201l\323\364\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\201v\310\305\313\201w& \210\315\201x\317\320\201yDD\201z\323\364\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\201\211\310\305\313\201\212& \210\315\201\213\317\320\201\214DD\201\215\323\364\310\305\313\201\216& \210\315\201\217\317\320\201\220DD\201\221\323\364\310\305\313\201\222& \210\201\223\201\224!\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\ninstead of trying to 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\ncargo.\n\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 '\nargument to cargo.\n\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\nthan cargo build.\n\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 change." (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-analyzer-cargo-target #[0 "\300\207" [nil] 1] "Compilation target (target triple)." string (lsp-mode . "7.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.\nValid values are (case-insensitive):\n - \"off\": Disable clippy lints.\n - \"opt-in\": Clippy lints are shown when crates specify `#![warn(clippy)]'.\n - \"on\": Clippy lints enabled for all crates in workspace.\n\nYou need to install clippy via 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 `rust.unstable_features')\nIf set, executes a given program responsible for rebuilding save-analysis to be\nloaded by the RLS. The program given should output a list of resulting .json\nfiles on stdout.\n\nImplies `rust.build_on_save': true." (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 (#$ . 8717)]) #@15 (fn INPUT0) (defalias 'lsp-rust--rls-run #[257 "\301\302\"\303!\301\304\"\301\305\"\301\306\"\301\307\"\211\206!\310 \206!\311\312\313\314\315\316\317\n\"\"\314\315\"$!)\207" [default-directory gethash "arguments" lsp-seq-first "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)"]] 15 (#$ . 9080)]) (byte-code "\301\302\303\304\305!\306\307\310\311=\203\312\202\313\314\315\316\317\320\321\"\322\323\324#\210\211\262\325\317\320\321\"\322\326\327#\210\211\262\330\331\332\333\334\311&!\210\335\336\337\340\341DD\342\343\344\345\346\347\350& \210\335\351\337\340\352DD\353\343\354\345\346\347\355& \210\335\356\337\340\357DD\360\343\361\345\346\347\362& \210\335\363\337\340\364DD\365\343\354\345\346\347\366& \210\335\367\337\340\370DD\371\343\354\345\346\347\372& \210\335\373\337\340\374DD\375\343\361\345\346\347\376& \210\335\377\337\340\201@DD\201A\343\354\345\346\347\201B& \210\335\201C\337\340\201DDD\201E\343\201F\345\346\347\201G& \210\335\201H\337\340\201IDD\201J\343\201K\345\346\347\201L& \210\335\201M\337\340\201NDD\201O\343\201K\345\346\347\201P& \210\335\201Q\337\340\201RDD\201S\343\354\345\346\347\201T& \210\335\201U\337\340\201VDD\201W\343\354\345\346\347\201X& \210\335\201Y\337\340\201ZDD\201[\343\201K\345\346\347\201\\& \210\335\201]\337\340\201^DD\201_\343\201K\345\346\347\201`& \210\335\201a\337\340\201bDD\201c\343\340\345\346\347\201d& \210\335\201e\337\340\201fDD\201g\343\354\345\346\347\201h& \210\335\201i\337\340\201jDD\201k\343\354\345\346\347\201l& \210\335\201m\337\340\201nDD\201o\343\201K\345\346\347\201p& \210\335\201q\337\340\201rDD\201s\343\201K\345\346\347\201t& \210\335\201u\337\340\201vDD\201w\343\201K\345\346\347\201x& \210\201y\201z\201{\201|#\210\201}\211\203J\211@\201zN\203C\201{N\204C\201~\201{\201zN#\210A\266\202\202\210\201\201z\201{\201\200#\210\335\201{\337\340\201\201DD\201\202\343\354\345\346\347\201\203& \210\335\201\204\337\340\201\205DD\201\206\343\201K\345\346\347\201\207& \210\335\201\210\337\340\201\211DD\201\212\343\201K\345\346\347\201\213& \210\335\201\214\337\340\201\215DD\201\216\343\354\345\346\347\201\217& \210\335\201\220\337\340\201\221DD\201\222\343\354\345\346\347\201\223& \210\335\201\224\337\340\201\225DD\201\226\343\354\345\346\347\201\227& \210\335\201\230\337\340\201\231DD\201\232\343\354\345\346\347\201\233& \210\335\201\234\337\340\201\235DD\201\236\343\354\345\346\347\201\237& \210\335\201\240\337\340\201\241DD\201\242\343\201\243\345\346\347\201\244& \210\335\201\245\337\340\201\246DD\201\247\343\201\250\345\346\347\201\251& \210\335\201\252\337\340\201\253DD\201\254\343\201\255\345\346\347\201\256& \210\335\201\257\337\340\201\260DD\201\261\343\354\345\346\347\201\262& \210\335\201\263\337\340\201\264DD\201\265\343\354\345\346\347\201\266& \210\335\201\267\337\340\201\270DD\201\271\343\354\345\346\347\201\272& \210\335\201\273\337\340\201\274DD\201\275\343\354\345\346\347\201\276& \210\335\201\277\337\340\201\300DD\201\301\343\354\345\346\347\201\302& \210\335\201\303\337\340\201\304DD\201\305\343\354\345\346\347\201\306& \210\335\201\307\337\340\201\310DD\201\311\343\354\345\346\347\201\312& \210\335\201\313\337\340\201\314DD\201\315\343\201F\345\346\347\201\316& \207" [lsp-rust-server 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" [t] 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-exclude-dirs #[0 "\300\207" [#2#] 1] "These directories will be ignored by rust-analyzer." (lsp-mode . "7.1.0") 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\nsyntax 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-diagnostics-enable-experimental #[0 "\300\207" [t] 1] "Whether to show native rust-analyzer diagnostics that are still experimental\n(might have more false positives than usual)." (lsp-mode . "7.1.0") lsp-rust-analyzer-diagnostics-disabled #[0 "\300\207" [#2#] 1] "List of native rust-analyzer diagnostics to disable." (lsp-mode . "7.1.0") lsp-rust-analyzer-diagnostics-warnings-as-hint #[0 "\300\207" [#2#] 1] "List of warnings that should be displayed with hint severity." (lsp-mode . "7.1.0") lsp-rust-analyzer-diagnostics-warnings-as-info #[0 "\300\207" [#2#] 1] "List of warnings that should be displayed with info severity." (lsp-mode . "7.1.0") defvaralias lsp-rust-analyzer-cargo-load-out-dirs-from-check lsp-rust-analyzer-cargo-run-build-scripts nil (saved-value saved-variable-comment) put make-obsolete-variable "7.1.0" #[0 "\300\207" [t] 1] "Whether to run build scripts (`build.rs`) for more precise code analysis." (lsp-mode . "7.1.0") 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\nfor 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.\nImplies `lsp-rust-analyzer-cargo-run-build-scripts'" (lsp-mode . "6.3.2") lsp-rust-analyzer-import-merge-behaviour #[0 "\300\207" [#3="full"] 1 #3#] "The strategy to use when inserting new imports or merging imports.\nValid values are:\n - \"none\": No merging\n - \"full\": Merge all layers of the import trees\n - \"last\": Only merge the last layer of the import trees" (choice (const "none") (const "full") (const "last")) (lsp-mode . "7.1.0") lsp-rust-analyzer-import-prefix #[0 "\300\207" [#4="plain"] 1 #4#] "The path structure for newly inserted paths to use.\nValid values are:\n - \"plain\": Insert import paths relative to the current module, using up to\none `super' prefix if the parent module contains the requested item.\n - \"by_self\": Prefix all import paths with `self' if they don't begin with\n`self', `super', `crate' or a crate name.\n - \"by_crate\": Force import paths to be absolute by always starting\nthem with `crate' or the crate name they refer to." (choice (const "plain") (const "by_self") (const "by_crate")) (lsp-mode . "7.1.0") lsp-rust-analyzer-import-granularity #[0 "\300\207" [#5="crate"] 1 #5#] "How imports should be grouped into use statements." (choice (const "crate" :doc "Merge imports from the same crate into a single use statement. This kind of nesting is only supported in Rust versions later than 1.24.") (const "module" :doc "Merge imports from the same module into a single use statement.") (const "item" :doc "Don’t merge imports at all, creating one import per item.") (const "preserve" :doc "Do not change the granularity of any imports. For auto-import this has the same effect as `\"item\"'")) (lsp-mode . "7.1.0") lsp-rust-analyzer-cargo-auto-reload #[0 "\300\207" [t] 1] "Automatically refresh project info via `cargo metadata' on `Cargo.toml' changes." (lsp-mode . "7.1.0") lsp-rust-analyzer-use-rustc-wrapper-for-build-scripts #[0 "\300\207" [t] 1] "Use `RUSTC_WRAPPER=rust-analyzer' when running build scripts to avoid\ncompiling unnecessary things." (lsp-mode . "7.1.0") lsp-rust-analyzer-completion-auto-import-enable #[0 "\300\207" [t] 1] "Toggles the additional completions that automatically add imports when\ncompleted. `lsp-completion-enable-additional-text-edit' must be non-nil\n for this feature to be fully enabled." (lsp-mode . "7.1.0") lsp-rust-analyzer-completion-auto-self-enable #[0 "\300\207" [t] 1] "Toggles the additional completions that automatically show method calls\nand field accesses with self prefixed to them when inside a method." (lsp-mode . "7.1.0") lsp-rust-analyzer-import-enforce-granularity #[0 "\300\207" [nil] 1] "Whether to enforce the import granularity setting for all files.\n If set to nil rust-analyzer will try to keep import styles consistent per file." (lsp-mode . "7.1.0") lsp-rust-analyzer-import-group #[0 "\300\207" [t] 1] "Group inserted imports by the following order:\nhttps://rust-analyzer.github.io/manual.html#auto-import.\n Groups are separated by newlines." (lsp-mode . "7.1.0") lsp-rust-analyzer-highlighting-strings #[0 "\300\207" [t] 1] "Use semantic tokens for strings." (lsp-mode . "7.1.0") lsp-rust-analyzer-rustc-source #[0 "\300\207" [nil] 1] "Path to the Cargo.toml of the rust compiler workspace." (lsp-mode . "7.1.0")] 20) #@32 Init options for rust-analyzer (defalias 'lsp-rust-analyzer--make-init-options #[0 "\306\307\310!\311\310 !\312\n\313 \314\f\257\n\315\316 \317:\320;\321\310\324\307\310?!\325@\326A\327\310B!\330C\257\n\331\332D\333\310E\203N\334\202O\335!\336F\257\337\340\310G!\341\310H!\342I\343J\344\310K!\345\310K!\346\310L!\347\310M!\257\350\326N\330OF\351\352\310P!\353\310Q!\354\310R!\355S\257\356\357\310T!\360\310U!\361\307\310V!D\362\307\310W!D\363\307\310X!D\257\n\364\365\310Y!D\366\307\310Z!D\367[\370\371\310\\!D\257\207" [lsp-rust-analyzer-diagnostics-enable lsp-rust-analyzer-diagnostics-enable-experimental lsp-rust-analyzer-diagnostics-disabled lsp-rust-analyzer-diagnostics-warnings-as-hint lsp-rust-analyzer-diagnostics-warnings-as-info lsp-rust-analyzer-import-merge-behaviour :diagnostics :enable lsp-json-bool :enableExperimental :disabled :warningsAsHint :warningsAsInfo :assist :importMergeBehaviour :importPrefix :importGranularity :importEnforceGranularity :importGroup :lruCapacity :checkOnSave :command :extraArgs :allTargets :overrideCommand :files :exclude :watcher "client" "notify" :excludeDirs :cargo :allFeatures :noDefaultFeatures :features :target :runBuildScripts :loadOutDirsFromCheck :autoreload :useRustcWrapperForBuildScripts :rustfmt :inlayHints :typeHints :chainingHints :parameterHints :maxLength :completion :addCallParenthesis :addCallArgumentSnippets :postfix :autoimport :autoself :callInfo :full :procMacro :rustcSource :highlighting :strings lsp-rust-analyzer-import-prefix lsp-rust-analyzer-import-granularity lsp-rust-analyzer-import-enforce-granularity lsp-rust-analyzer-import-group 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 lsp-rust-analyzer-cargo-override-command lsp-rust-analyzer-exclude-globs lsp-rust-analyzer-use-client-watching lsp-rust-analyzer-exclude-dirs lsp-rust-all-features lsp-rust-no-default-features lsp-rust-features lsp-rust-analyzer-cargo-target lsp-rust-analyzer-cargo-run-build-scripts lsp-rust-analyzer-cargo-auto-reload lsp-rust-analyzer-use-rustc-wrapper-for-build-scripts 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-completion-auto-import-enable lsp-rust-analyzer-completion-auto-self-enable lsp-rust-analyzer-call-info-full lsp-rust-analyzer-proc-macro-enable lsp-rust-analyzer-rustc-source lsp-rust-analyzer-highlighting-strings] 29 (#$ . 20689)]) (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 (#$ . 25204) nil]) #@41 Display syntax tree for current buffer. (defalias 'lsp-rust-analyzer-syntax-tree #[0 "\302!\303\304\305 \306\307 \203\310\311 \312 \"\202\310ed\"$\313\314\315\"!\316\317\320\"!\321r\211q\210\322 \210\323 \210c\210eb\210)\324!)\207" [default-directory inhibit-read-only 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] 8 (#$ . 26373) 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 (#$ . 28448) nil]) #@48 Displays status information for rust-analyzer. (defalias 'lsp-rust-analyzer-status #[0 "\302!\303\304\305 \"\306\307\310\"!\311\312\313\"!\314r\211q\210\315 \210\316 \210c\210\317!*\207" [default-directory inhibit-read-only lsp-workspace-root lsp-make-rust-analyzer-analyzer-status-params :text-document lsp--text-document-identifier 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] 7 (#$ . 29567) 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\315\"\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 code-action] 8 (#$ . 30112) nil]) #@54 Reload workspace, picking up changes from Cargo.toml (defalias 'lsp-rust-analyzer-reload-workspace #[0 "\300 \210\301\302\303!!\207" [lsp--cur-workspace-check lsp-send-request lsp-make-request "rust-analyzer/reloadWorkspace"] 3 (#$ . 30619) nil]) (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& \210\321\322\323\324#\207" [custom-declare-variable lsp-rust-analyzer-download-url funcall function #[0 "\301\302\303\267\202\304\202\305\202\306\202\307\"\207" [system-type format "https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/%s" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (gnu/linux 8 darwin 12 windows-nt 16)) "rust-analyzer-x86_64-unknown-linux-gnu.gz" "rust-analyzer-x86_64-apple-darwin.gz" "rust-analyzer-x86_64-pc-windows-msvc.gz" nil] 4] "Automatic download url for Rust Analyzer" :type string :group lsp-rust :package-version (lsp-mode . "7.1") lsp-rust-analyzer-store-path #[0 "\302\303 \304=\203 \305\202\306#\207" [lsp-server-install-dir system-type f-join "rust" windows-nt "rust-analyzer.exe" "rust-analyzer"] 5] "The path to the file in which `rust-analyzer' will be stored." file (lsp-mode . "7.1") lsp-dependency rust-analyzer (:download :url lsp-rust-analyzer-download-url :decompress :gzip :store-path lsp-rust-analyzer-store-path :set-executable\? t) (:system "rust-analyzer")] 10) #@15 (fn INPUT0) (defalias 'lsp-rust--analyzer-run-single #[257 "\300\301\"\302\303!!\207" [gethash "arguments" lsp-rust-analyzer-run lsp-seq-first] 5 (#$ . 32076)]) #@15 (fn INPUT0) (defalias 'lsp-rust--analyzer-show-references #[257 "\300\301\"\300\302\"\303H\304\305!\306\307\310\"#\207" [gethash "title" "arguments" 2 lsp-show-xrefs lsp--locations-to-xref-items nil s-contains-p "reference"] 9 (#$ . 32247)]) #@15 (fn INPUT0) (defalias 'lsp-rust--analyzer-debug-lens #[257 "\300\301\"\302H\303!\207" [gethash "arguments" 0 lsp-rust-analyzer-debug] 4 (#$ . 32502)]) (byte-code "\303\304\305\306\307!\310\311\312\313=\203\314\202\315\316\317\320\321 !\322\323\324\325\"\326\327\330#\210\326\331\332#\210\326\333\334#\210\211\262\335\336\337\340\341\342\343\313\344\345\346\n\205F\347\350!BDC\351\352&!\207" [lsp-rust-server lsp-rust-notification-handlers lsp-enable-snippet lsp-register-client make-lsp-client :new-connection lsp-stdio-connection #[0 "\301@!\206\302\303!\206\304AB\207" [lsp-rust-analyzer-server-command executable-find lsp-package-path rust-analyzer "rust-analyzer"] 2] :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 make-hash-table :test equal puthash "rust-analyzer.runSingle" lsp-rust--analyzer-run-single "rust-analyzer.debugSingle" lsp-rust--analyzer-debug-lens "rust-analyzer.showReferences" lsp-rust--analyzer-show-references :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 featurep yasnippet :download-server-fn #[1028 "\300\301#\207" [lsp-package-ensure rust-analyzer] 8 "\n\n(fn CLIENT CALLBACK ERROR-CALLBACK UPDATE\\=\\?)"]] 27) #@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 (#$ . 34050) nil]) (defvar lsp-rust-analyzer-inlay-hints-timer nil nil) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\302\312\313\314\306\307\310\315&\210\316\317\320\321\322DD\323\324\325\306\307\310\326& \210\316\327\320\321\330DD\331\324\332\306\307\310\333& \210\302\334\335\336\306\307\310\337&\210\316\340\320\321\341DD\342\324\343\306\307\310\344& \210\316\345\320\321\346DD\347\324\350\306\307\310\351& \210\302\352\353\354\306\307\310\355&\210\316\356\320\321\357DD\360\324\361\306\307\310\362& \210\316\363\320\321\364DD\365\324\366\306\307\310\367& \207" [make-variable-buffer-local lsp-rust-analyzer-inlay-hints-timer custom-declare-face lsp-rust-analyzer-inlay-face ((t :inherit font-lock-comment-face)) "The face to use for the Rust Analyzer inlays." :group lsp-rust :package-version (lsp-mode . "7.0") lsp-rust-analyzer-inlay-type-face ((t :inherit lsp-rust-analyzer-inlay-face)) "Face for inlay type hints (e.g. inferred variable types)." (lsp-mode . "7.1") custom-declare-variable lsp-rust-analyzer-inlay-type-space-format funcall function #[0 "\300\207" [#1="%s"] 1 #1#] "Format string for spacing around variable inlays\n(not part of the inlay face)." :type (string :tag "String") (lsp-mode . "7.1") lsp-rust-analyzer-inlay-type-format #[0 "\300\207" [#2=": %s"] 1 #2#] "Format string for variable inlays (part of the inlay face)." (string :tag "String") (lsp-mode . "7.1") lsp-rust-analyzer-inlay-param-face ((t :inherit lsp-rust-analyzer-inlay-face)) "Face for inlay parameter hints (e.g. function parameter names at call-site)." (lsp-mode . "7.1") lsp-rust-analyzer-inlay-param-space-format #[0 "\300\207" [#3="%s "] 1 #3#] "Format string for spacing around parameter inlays\n(not part of the inlay face)." (string :tag "String") (lsp-mode . "7.1") lsp-rust-analyzer-inlay-param-format #[0 "\300\207" [#4="%s:"] 1 #4#] "Format string for parameter inlays (part of the inlay face)." (string :tag "String") (lsp-mode . "7.1") lsp-rust-analyzer-inlay-chain-face ((t :inherit lsp-rust-analyzer-inlay-face)) "Face for inlay chaining hints (e.g. inferred chain intermediate types)." (lsp-mode . "7.1") lsp-rust-analyzer-inlay-chain-space-format #[0 "\300\207" [#5="%s"] 1 #5#] "Format string for spacing around chain inlays (not part of the inlay face)." (string :tag "String") (lsp-mode . "7.1") lsp-rust-analyzer-inlay-chain-format #[0 "\300\207" [#6=": %s"] 1 #6#] "Format string for chain inlays (part of the inlay face)." (string :tag "String") (lsp-mode . "7.1")] 10) #@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 "\306ed\307\310$\210\211\211\205\222\211@\311\312\"\311\313\"\311\314\"\315\316\317\"!\315\316\320\"!\321\322\323\324%\325\307\310#\210\325\326\310#\210\232\203T\325\327\330 \331\330\n\f\"\332\333#\"#\266\202\213 \232\203o\325\334\330\f\331\330 \f\"\332\335#\"#\266\202\213\232\203\211\325\327\330 \331\330!\f\"\332\336#\"#\210\266A\266\202\202\207" [lsp/rust-analyzer-inlay-hint-kind-type-hint lsp-rust-analyzer-inlay-type-space-format lsp-rust-analyzer-inlay-type-format lsp/rust-analyzer-inlay-hint-kind-param-hint lsp-rust-analyzer-inlay-param-space-format lsp-rust-analyzer-inlay-param-format 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 format propertize font-lock-face lsp-rust-analyzer-inlay-type-face before-string lsp-rust-analyzer-inlay-param-face lsp-rust-analyzer-inlay-chain-face lsp/rust-analyzer-inlay-hint-kind-chaining-hint lsp-rust-analyzer-inlay-chain-space-format lsp-rust-analyzer-inlay-chain-format] 18 "\n\n(fn RES)"] :mode tick nil] 7 (#$ . 36993)]) (defalias 'lsp-rust-analyzer-initialized\? #[0 "\300\301\302 \"\211\205\211\303H\304=\207" [lsp-find-workspace rust-analyzer buffer-file-name 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 (#$ . 38640)]) #@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 (#$ . 38907)) (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 (#$ . 39176) (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 "\301\302\303 \304\305 $\211\203*\306\307\310\"!\211\203&\311\312\"\211\203\"!\207\313\314!\207\313\314!\207\313\314!\207" [lsp-rust-analyzer-macro-expansion-method 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."] 5 (#$ . 41435) 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 (#$ . 41988)]) (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]) #@144 Execute a given RUNNABLE. Extract the arguments, prepare the minor mode (cargo-process-mode if possible) and run a compilation (fn RUNNABLE) (defalias 'lsp-rust-analyzer--common-runner #[257 "\301\302\"\301\303\"\301\304\"\301\305\"\301\306\"\301\307\"\211\206\310\230\204,\311\312\"\202O\313\314\310C\2056\315\316%\317\320\321#\266\202\322\323!\205I\323\324\325 \"#)\207" [default-directory 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 (#$ . 43102)]) #@50 Select and run a RUNNABLE action. (fn RUNNABLE) (defalias 'lsp-rust-analyzer-run #[257 "\301!\205 \211\211\207" [lsp-rust-analyzer--last-runnable lsp-rust-analyzer--common-runner] 3 (#$ . 43824) (byte-code "\300 C\207" [lsp-rust-analyzer--select-runnable] 1)]) #@52 Select and debug a RUNNABLE action. (fn RUNNABLE) (defalias 'lsp-rust-analyzer-debug #[257 "\300\301!\204\n\302\303!\210\211\304\305\"\304\306\"\304\307\"\304\310\"\304\311\"\312H\211\313\267\210\202J\312\314I\266\202J\315\316\317\"\320\"\203I\316\320C\"\262\210\202J\210\321\322\323\324\325\326\327 \330\f\331\332\333\334\335\336\337\340\341\316\342\343!C\344C#\"!!\"\211\204y\302\345!\202\232\211:\203\227\211\242\243\211\204\217\211\262\266\202\202\232\302\346!\266\202\202\232\302\346!\262\257!\207" [featurep dap-cpptools user-error "You must require `dap-cpptools'" gethash "args" "cargoArgs" "workspaceRoot" "executableArgs" "label" 0 #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("run" 42 "test" 51)) "build" -contains\? append nil "--no-run" dap-debug :type "cppdbg" :request "launch" :name :args :cwd :sourceLanguages ["rust"] :program -keep #[257 "\3011!\302\303!\304\305\"\304\306\"\211\205\307\230\205\211)\266\2030\207\210\310\207" [json-object-type (error) plist json-read-from-string plist-get :reason :executable "compiler-artifact" nil] 6 "\n\n(fn S)"] s-lines shell-command-to-string s-join " " executable-find "cargo" "--message-format=json" "No compilation artifacts or obtaining the runnable artifacts failed" "Multiple compilation artifacts are not supported"] 31 (#$ . 44095) (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 (#$ . 45554) (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 (#$ . 45825) nil]) #@336 Open the closest Cargo.toml from the current file. Rust-Analyzer LSP protocol documented here and added in November 2020 https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/lsp-extensions.md#open-cargotoml If NEW-WINDOW (interactively the prefix argument) is non-nil, open in a new window. (fn &optional NEW-WINDOW) (defalias 'lsp-rust-analyzer-open-cargo-toml #[256 "\301\302!\211\203B\211\303\304\305\306\307\310 \"\"!)\211\203>\311\312\"\211\203:\311\313\"\211\2036\2030\314\2021\315\316!!\207\317\320!\207\317\320!\207\317\320!\207\321\322!\207" [lsp--cur-workspace lsp-find-workspace rust-analyzer lsp-send-request lsp-make-request "experimental/openCargoToml" lsp-make-rust-analyzer-open-cargo-toml-params :text-document lsp--text-document-identifier gethash "uri" "range" find-file-other-window find-file lsp--uri-to-path lsp--warn "Couldn't find a Cargo.toml file or your version of rust-analyzer doesn't support this extension" lsp--error "OpenCargoToml is an extension available only with rust-analyzer"] 8 (#$ . 46082) "P"]) #@154 Get runnable test items related to the current TextDocumentPosition. Calls a rust-analyzer LSP extension endpoint that returns a wrapper over Runnable[] (defalias 'lsp-rust-analyzer--related-tests #[0 "\300\301\302\303 \"!\207" [lsp-send-request lsp-make-request "rust-analyzer/relatedTests" lsp--text-document-position-params] 4 (#$ . 47155)]) #@312 Call the endpoint and ask for user selection. Cannot reuse `lsp-rust-analyzer--select-runnable' because the runnables endpoint responds with Runnable[], while relatedTests responds with TestInfo[], which is a wrapper over runnable. Also, this method doesn't set the `lsp-rust-analyzer--last-runnable' variable (defalias 'lsp-rust-analyzer--select-related-test #[0 "\300 \211\205\301\302\"\211\205\303\304\305#\262\207" [lsp-rust-analyzer--related-tests seq-map lsp:rust-analyzer-related-tests-runnable lsp--completing-read "Select test: " lsp:rust-analyzer-runnable-label] 6 (#$ . 47507)]) #@220 Execute a RUNNABLE test related to the current document position. Rust-Analyzer LSP protocol extension https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/lsp-extensions.md#related-tests (fn RUNNABLE) (defalias 'lsp-rust-analyzer-related-tests #[257 "\211\203\300!\207\301\302!\207" [lsp-rust-analyzer--common-runner lsp--info "There are no tests related to the symbol at point"] 3 (#$ . 48112) (byte-code "\300 C\207" [lsp-rust-analyzer--select-related-test] 1)]) (defconst lsp-rust-plist-value-when-compiled nil) (provide 'lsp-rust)