From c86d4005181c42ea1447cbaf2aaacdb2e7723c9d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 23 Nov 2019 16:00:14 -0500 Subject: [PATCH] lang/rust: replace cargo.el w/ rustic-cargo #2108 --- Makefile | 85 ----------------------------------- modules/lang/rust/README.org | 5 +-- modules/lang/rust/autoload.el | 10 +++++ modules/lang/rust/config.el | 44 ++++++++---------- modules/lang/rust/packages.el | 3 -- 5 files changed, 31 insertions(+), 116 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index 5bc6eb0f5..000000000 --- a/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -DOOM = "bin/doom" -MODULES = $(patsubst modules/%/, %, $(sort $(dir $(wildcard modules/*/ modules/*/*/)))) - -all: deprecated - @$(DOOM) refresh - -deprecated: - @echo "Using make to manage your Doom config is deprecated" - @echo - @echo "Use the 'bin/doom' script instead. The equivalent of 'make' is 'doom refresh'." - @echo - @echo "See 'doom help' for a list of commands" - @echo - @read -p "Press enter to continue" - -## Shortcuts -a: autoloads -i: install -u: update -U: upgrade -r: autoremove -c: compile -cc: compile-core -cp: compile-plugins -re: recompile -d: doctor - -quickstart: install - - -## Package management -install: deprecated - @$(DOOM) install -update: deprecated - @$(DOOM) update -autoremove: deprecated - @$(DOOM) autoremove -autoloads: deprecated - @$(DOOM) autoloads -upgrade: deprecated - @$(DOOM) upgrade - -## Byte compilation -compile: deprecated - @$(DOOM) compile -compile-core: deprecated - @$(DOOM) compile :core -compile-private: deprecated - @$(DOOM) compile :private -compile-plugins: deprecated - @$(DOOM) build -recompile: deprecated - @$(DOOM) recompile -clean: deprecated - @$(DOOM) clean -# compile-module -# compile-module/submodule -$(patsubst %, compile-%, $(MODULES)): | .local/autoloads.el - @$(DOOM) $@ $(subst compile-, , $@) - - -## Unit tests -test: - @$(DOOM) test -test-core: - @$(DOOM) test :core -# test-module -# test-module/submodule -$(patsubst %, test-%, $(MODULES)): - @$(DOOM) test $(subst test-, , $@) - - -## Utility tasks -# Runs Emacs from a different folder than ~/.emacs.d; only use this for testing! -run: - @$(DOOM) run $(ARGS) -# Prints debug info about your current setup -info: - @$(DOOM) info - -# Diagnoses potential OS/environment issues -doctor: - @$(DOOM) doctor - -.PHONY: all compile test testi clean diff --git a/modules/lang/rust/README.org b/modules/lang/rust/README.org index 2a93bd352..068a2bab7 100644 --- a/modules/lang/rust/README.org +++ b/modules/lang/rust/README.org @@ -25,9 +25,8 @@ Add support to Rust language and cargo commands inside emacs. + ~+lsp~ to add support Language server protocol. ** 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]] ++ [[https://github.com/brotzeit/rustic][rustic]] ++ [[https://github.com/racer-rust/emacs-racer][racer]]* (unless =+lsp=) ** Hacks {A list of internal modifications to included packages} diff --git a/modules/lang/rust/autoload.el b/modules/lang/rust/autoload.el index 9f584cb44..dab7e68e4 100644 --- a/modules/lang/rust/autoload.el +++ b/modules/lang/rust/autoload.el @@ -14,3 +14,13 @@ (when buf (pop-to-buffer buf) t))) + + +;; +;;; Custom Cargo commands + +;;;###autoload +(defun +rust/cargo-audit () + "Run 'cargo audit' for the current project." + (interactive) + (rustic-run-cargo-command "cargo audit -f")) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 87f8bb602..b11bab2ee 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -9,6 +9,7 @@ (use-package! rustic :mode ("\\.rs$" . rustic-mode) + :commands rustic-run-cargo-command rustic-cargo-outdated :preface (setq rustic-rls-pkg (if (featurep! +lsp) 'lsp-mode)) :config @@ -32,7 +33,24 @@ (add-hook 'rustic-mode-hook #'rainbow-delimiters-mode) (when (featurep! +lsp) - (add-hook 'rustic-mode-local-vars-hook #'lsp!))) + (add-hook 'rustic-mode-local-vars-hook #'lsp!)) + + (map! :map rustic-mode-map + :localleader + (:prefix ("b" . "build") + :desc "cargo audit" "a" #'+rust/cargo-audit + :desc "cargo build" "b" #'rustic-cargo-build + :desc "cargo bench" "B" #'rustic-cargo-bench + :desc "cargo check" "c" #'rustic-cargo-check + :desc "cargo clippy" "C" #'rustic-cargo-clippy + :desc "cargo doc" "d" #'rustic-cargo-doc + :desc "cargo fmt" "f" #'rustic-cargo-fmt + :desc "cargo new" "n" #'rustic-cargo-new + :desc "cargo outdated" "o" #'rustic-cargo-outdated + :desc "cargo run" "r" #'rustic-cargo-run) + (:prefix ("t" . "cargo test") + :desc "all" "a" #'rustic-cargo-test + :desc "current test" "t" #'rustic-cargo-current-test))) (use-package! racer @@ -42,27 +60,3 @@ (set-lookup-handlers! 'rustic-mode :definition '(racer-find-definition :async t) :documentation '+rust-racer-lookup-documentation)) - - -;; -;;; Tools - -(use-package! cargo - :after rustic-mode - :config - (map! :map rustic-mode-map - :localleader - (:prefix ("b" . "build") - :desc "cargo add" "a" #'cargo-process-add - :desc "cargo build" "b" #'cargo-process-build - :desc "cargo bench" "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 ("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))) diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index 05fab0577..8744139fd 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -4,6 +4,3 @@ (package! rustic) (unless (featurep! +lsp) (package! racer)) - -;; -(package! cargo)