diff --git a/modules/lang/rust/autoload.el b/modules/lang/rust/autoload.el index 71f98665e..b52ddae2b 100644 --- a/modules/lang/rust/autoload.el +++ b/modules/lang/rust/autoload.el @@ -6,3 +6,9 @@ (defun +rust-cargo-project-p () "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))) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 502b0232e..1b8fceb9a 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -10,10 +10,10 @@ (map! :map rust-mode-map :localleader :prefix "b" - :desc "cargo build" "b" (λ! (compile "cargo build --color always")) - :desc "cargo check" "c" (λ! (compile "cargo check --color always")) - :desc "cargo run" "r" (λ! (compile "cargo run --color always")) - :desc "cargo test" "t" (λ! (compile "cargo test --color always")))) + :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")))) (def-package! racer