From 8e18b402ce916f595f24964682e19064175cb833 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 10 Apr 2019 18:51:37 -0400 Subject: [PATCH] lang/rust: run cargo commands from Cargo.toml dir Instead of the current directory, which breaks file links in the compilation buffer. --- modules/lang/rust/autoload.el | 6 ++++++ modules/lang/rust/config.el | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) 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