From b771425f45f279a87e042ec9cf96f55f5bc6ff17 Mon Sep 17 00:00:00 2001 From: Colin Woodbury Date: Mon, 17 May 2021 07:24:55 -0700 Subject: [PATCH 1/3] [:lang rust] Expand `Prerequisites` And fix some minor spelling/grammar issues. --- modules/lang/rust/README.org | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/modules/lang/rust/README.org b/modules/lang/rust/README.org index 63a0bec2c..be0bfb388 100644 --- a/modules/lang/rust/README.org +++ b/modules/lang/rust/README.org @@ -9,13 +9,17 @@ - [[#plugins][Plugins]] - [[#hacks][Hacks]] - [[#prerequisites][Prerequisites]] + - [[#install][Install]] + - [[#arch-linux][Arch Linux]] + - [[#general][General]] + - [[#other-requirements][Other Requirements]] - [[#features][Features]] - [[#lsp-support-rls-or-rust-analyzer][LSP support (rls or rust-analyzer)]] - [[#format-on-save][Format on save]] - [[#keybinds][Keybinds]] - [[#configuration][Configuration]] - [[#enable-rls-by-default][Enable RLS by default]] - - [[#enabling-elgot-support-for-rust][Enabling elgot support for Rust]] + - [[#enabling-eglot-support-for-rust][Enabling eglot support for Rust]] - [[#troubleshooting][Troubleshooting]] - [[#errore0670-async-fn-is-not-permitted-in-the-2015-edition][error[E0670]: `async fn` is not permitted in the 2015 edition]] @@ -42,9 +46,33 @@ e.g. ~cargo~. yourself. * Prerequisites -This module requires ~rust~, which can be acquired through =rustup=: -~curl https://sh.rustup.rs -sSf | sh~ +** Install + +This module requires ~rust~, which can be acquired through =rustup=. + +*** Arch Linux + +#+begin_src sh +sudo pacman -S rustup +#+end_src + +See also the Rust article [[https://wiki.archlinux.org/title/Rust#Rustup][on the Arch Wiki]]. + +Note that when the Rust /language/ has updates, you are to run =rustup= such that +it doesn't upgrade itself: + +#+begin_src sh +rustup update --no-self-update +#+end_src + +*** General + +#+begin_src sh +curl https://sh.rustup.rs -sSf | sh +#+end_src + +** Other Requirements Additional requirements depend on the module's configuration: @@ -54,7 +82,7 @@ Additional requirements depend on the module's configuration: (with requires rust nightly edition). + Users with =+lsp= enabled will need: + =rust-analyzer= or =rls= -+ To use The following commands require: ++ Using the following commands requires: + ~cargo-process-check~: ~cargo install cargo-check~ + ~cargo-process-clippy~: ~rustup component add clippy-preview~ From e05dd2651ffc755b1838f6c276910f2086437722 Mon Sep 17 00:00:00 2001 From: Colin Woodbury Date: Mon, 17 May 2021 07:25:23 -0700 Subject: [PATCH 2/3] [:completion ivy] Call `pacman` in the normal way `--needed` and `--noconfirm` are fine, but are usual to use when installing a single package. --- modules/completion/ivy/README.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/completion/ivy/README.org b/modules/completion/ivy/README.org index af5acd16c..7c83c57fe 100644 --- a/modules/completion/ivy/README.org +++ b/modules/completion/ivy/README.org @@ -28,7 +28,7 @@ * Description This module provides Ivy integration for a variety of Emacs commands, as well as -a unified interface for project search and replace, powered by ripgrep. +a unified interface for project search and replace, powered by [[https://github.com/BurntSushi/ripgrep/][ripgrep]]. #+begin_quote I prefer ivy over ido for its flexibility. I prefer ivy over helm because it's @@ -76,7 +76,7 @@ brew install ripgrep *** Arch Linux #+BEGIN_SRC sh :dir /sudo:: -sudo pacman --needed --noconfirm -S ripgrep +sudo pacman -S ripgrep #+END_SRC *** openSUSE From 04b5dee6159719ebdf3ac4b6b34fec4224c8899b Mon Sep 17 00:00:00 2001 From: Colin Woodbury Date: Mon, 17 May 2021 07:32:49 -0700 Subject: [PATCH 3/3] [rust] Correct references to "elgot" It's a typo. --- modules/lang/rust/README.org | 2 +- modules/lang/rust/config.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/lang/rust/README.org b/modules/lang/rust/README.org index be0bfb388..f88d15f51 100644 --- a/modules/lang/rust/README.org +++ b/modules/lang/rust/README.org @@ -41,7 +41,7 @@ e.g. ~cargo~. + [[https://github.com/racer-rust/emacs-racer][racer]]* (unless =+lsp=) ** Hacks -+ rustic has been modified /not/ to automatically install lsp-mode or elgot if ++ rustic has been modified /not/ to automatically install lsp-mode or eglot if they're missing. Doom expects you to have enabled the =:tools lsp= module yourself. diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index be7d08f14..27a619dcf 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -58,7 +58,7 @@ :desc "all" "a" #'rustic-cargo-test :desc "current test" "t" #'rustic-cargo-current-test)) - ;; If lsp/elgot isn't available, it attempts to install lsp-mode via + ;; If lsp/eglot isn't available, it attempts to install lsp-mode via ;; package.el. Doom manages its own dependencies through straight so disable ;; this behavior to avoid package-not-initialized errors. (defadvice! +rust--dont-install-packages-a (&rest _)