use keybindings from cargo mode

This commit is contained in:
chrunchyjesus 2019-07-04 20:58:44 +02:00
parent fbf58aac8c
commit 9f37363764
No known key found for this signature in database
GPG key ID: B08FE1F00D141D19
4 changed files with 29 additions and 16 deletions

View file

@ -27,6 +27,7 @@ Add support to Rust language and cargo commands inside emacs.
** Plugins ** Plugins
+ [[https://github.com/rust-lang/rust-mode][Rust-mode]] + [[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][Racer-mode]]
+ [[https://github.com/racer-rust/emacs-racer][Cargo-mode]]
** Hacks ** Hacks
{A list of internal modifications to included packages} {A list of internal modifications to included packages}
@ -46,11 +47,19 @@ This module also supports LSP, it requires installation of Rust Language Server
Keybindings Keybindings
| Binding | Description | | Binding | Description |
|---------------------+---------------| |-----------------------+--------------------------|
| ~<localleader> b a~ | ~cargo add~ |
| ~<localleader> b b~ | ~cargo build~ | | ~<localleader> b b~ | ~cargo build~ |
| ~<localleader> b B~ | ~cargo bench~ |
| ~<localleader> b c~ | ~cargo check~ | | ~<localleader> b c~ | ~cargo check~ |
| ~<localleader> b C~ | ~cargo clippy~ |
| ~<localleader> b d~ | ~cargo doc~ |
| ~<localleader> b r~ | ~cargo run~ | | ~<localleader> b r~ | ~cargo run~ |
| ~<localleader> b t~ | ~cargo test~ | | ~<localleader> b s~ | ~cargo search~ |
| ~<localleader> b u~ | ~cargo update~ |
| ~<localleader> b t a~ | ~cargo test~ |
| ~<localleader> b t f~ | ~run tests current file~ |
| ~<localleader> b t t~ | ~run current test~ |
* TODO Configuration * TODO Configuration
How to configure this module, including common problems and how to address them. How to configure this module, including common problems and how to address them.

View file

@ -7,12 +7,6 @@
"Return t if this is a cargo project." "Return t if this is a cargo project."
(locate-dominating-file buffer-file-name "Cargo.toml")) (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 ;;;###autoload
(defun +rust-racer-lookup-documentation (identifier) (defun +rust-racer-lookup-documentation (identifier)
"A `+lookup/documentation' handler for Rust + Racer." "A `+lookup/documentation' handler for Rust + Racer."

View file

@ -10,10 +10,19 @@
(map! :map rust-mode-map (map! :map rust-mode-map
:localleader :localleader
:prefix "b" :prefix "b"
:desc "cargo build" "b" (λ! (+rust-cargo-compile "cargo build --color always")) :desc "cargo add" "a" #'cargo-process-add
:desc "cargo check" "c" (λ! (+rust-cargo-compile "cargo check --color always")) :desc "cargo build" "b" #'cargo-process-build
:desc "cargo run" "r" (λ! (+rust-cargo-compile "cargo run --color always")) :desc "cargo build" "B" #'cargo-process-bench
:desc "cargo test" "t" (λ! (+rust-cargo-compile "cargo test --color always")))) :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 (def-package! racer

View file

@ -2,6 +2,7 @@
;;; lang/rust/packages.el ;;; lang/rust/packages.el
(package! rust-mode) (package! rust-mode)
(package! cargo)
(when (featurep! :tools flycheck) (when (featurep! :tools flycheck)
(package! flycheck-rust)) (package! flycheck-rust))