diff --git a/modules/lang/rust/README.org b/modules/lang/rust/README.org index 32f18b69d..43cd48e48 100644 --- a/modules/lang/rust/README.org +++ b/modules/lang/rust/README.org @@ -27,6 +27,7 @@ Add support to Rust language and cargo commands inside emacs. ** Plugins + [[https://github.com/rust-lang/rust-mode][Rust-mode]] + [[https://github.com/racer-rust/emacs-racer][Racer-mode]] ++ [[https://github.com/racer-rust/emacs-racer][Cargo-mode]] ** Hacks {A list of internal modifications to included packages} @@ -45,12 +46,20 @@ This module also supports LSP, it requires installation of Rust Language Server Keybindings -| Binding | Description | -|---------------------+---------------| -| ~ b b~ | ~cargo build~ | -| ~ b c~ | ~cargo check~ | -| ~ b r~ | ~cargo run~ | -| ~ b t~ | ~cargo test~ | +| Binding | Description | +|-----------------------+--------------------------| +| ~ b a~ | ~cargo add~ | +| ~ b b~ | ~cargo build~ | +| ~ b B~ | ~cargo bench~ | +| ~ b c~ | ~cargo check~ | +| ~ b C~ | ~cargo clippy~ | +| ~ b d~ | ~cargo doc~ | +| ~ b r~ | ~cargo run~ | +| ~ b s~ | ~cargo search~ | +| ~ b u~ | ~cargo update~ | +| ~ b t a~ | ~cargo test~ | +| ~ b t f~ | ~run tests current file~ | +| ~ b t t~ | ~run current test~ | * TODO Configuration How to configure this module, including common problems and how to address them. diff --git a/modules/lang/rust/autoload.el b/modules/lang/rust/autoload.el index 5d2333220..9f584cb44 100644 --- a/modules/lang/rust/autoload.el +++ b/modules/lang/rust/autoload.el @@ -7,12 +7,6 @@ "Return t if this is a cargo project." (locate-dominating-file buffer-file-name "Cargo.toml")) -;;;###autoload -(defun +rust-cargo-compile (command) - "TODO" - (let ((default-directory (+rust-cargo-project-p))) - (compile command))) - ;;;###autoload (defun +rust-racer-lookup-documentation (identifier) "A `+lookup/documentation' handler for Rust + Racer." diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index c199d2c4c..de13febeb 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -10,10 +10,19 @@ (map! :map rust-mode-map :localleader :prefix "b" - :desc "cargo build" "b" (λ! (+rust-cargo-compile "cargo build --color always")) - :desc "cargo check" "c" (λ! (+rust-cargo-compile "cargo check --color always")) - :desc "cargo run" "r" (λ! (+rust-cargo-compile "cargo run --color always")) - :desc "cargo test" "t" (λ! (+rust-cargo-compile "cargo test --color always")))) + :desc "cargo add" "a" #'cargo-process-add + :desc "cargo build" "b" #'cargo-process-build + :desc "cargo build" "B" #'cargo-process-bench + :desc "cargo check" "c" #'cargo-process-check + :desc "cargo clippy" "C" #'cargo-process-clippy + :desc "cargo doc" "d" #'cargo-process-doc + :desc "cargo run" "r" #'cargo-process-run + :desc "cargo search" "s" #'cargo-process-search + :desc "cargo update" "u" #'cargo-process-update + (:prefix-map ("t" . "cargo test") + :desc "all" "a" #'cargo-process-test + :desc "current file" "f" #'cargo-process-current-file-tests + :desc "current test" "t" #'cargo-process-current-test))) (def-package! racer diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index 3f5efb252..caec95715 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -2,6 +2,7 @@ ;;; lang/rust/packages.el (package! rust-mode) +(package! cargo) (when (featurep! :tools flycheck) (package! flycheck-rust))