lang/rust: replace cargo.el w/ rustic-cargo #2108

This commit is contained in:
Henrik Lissner 2019-11-23 16:00:14 -05:00
parent ebe1da4282
commit c86d400518
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
5 changed files with 31 additions and 116 deletions

View file

@ -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

View file

@ -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}

View file

@ -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"))

View file

@ -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)))

View file

@ -4,6 +4,3 @@
(package! rustic)
(unless (featurep! +lsp)
(package! racer))
;;
(package! cargo)