Skip to content
Jerry Peng edited this page Jan 16, 2020 · 16 revisions

Table of Contents

LSP support for Rust

  • lsp-rust-server Choose LSP server (default is RLS)

  • lsp-rust-switch-server Switch priorities of lsp servers



This is an incomplete list of the available options

  • lsp-rust-rls-server-command change command to start RLS

  • lsp-rust-show-hover-context turn off hover tooltips



lsp-rust-analyzer-server-command change command to start rust-analyzer

lsp-rust-analyzer-server-display-inlay-hints toggle inlay hints

lsp-rust-analyzer-max-inlay-hint-length max inlay hint length

lsp-rust-analyzer-cargo-watch-enable toggle cargo watch

lsp-rust-analyzer-cargo-watch-command cargo watch command, e.g. check or clippy

lsp-rust-analyzer-cargo-watch-args extra args passed to cargo watch command, should be specified as a vector of strings

lsp-rust-analyzer-use-client-watching toggle client side watching

lsp-rust-analyzer-cargo-all-targets should run cargo watch for all targets or not

lsp-rust-analyzer-exclude-globs a list of glob patterns for Cargo package exclusion

lsp-rust-analyzer-enabled-feature-flags a list of feature flags that should be enabled



Display syntax tree for current buffer


Display status information for rust-analyzer


Join selected lines into one, smartly fixing up whitespace and trailing commas




lsp-rust-analyzer-inlay-hints-mode enables displaying of inlay hints

NOTE: the inlay hints interact badly with the lsp-ui sideline, because it doesn't seem to consider the overlays in its width calculation, which often leads to lines wrapping around.

Macro expansion

lsp-rust-analyzer-expand-macro expand macro call at point recursively

Use your own function for displaying macro expansion by customizing lsp-rust-analyzer-macro-expansion-method

Formatted and highlighted result with the default function of rustic.

You can’t perform that action at this time.