summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--custom/jao-custom-programming.el8
-rw-r--r--lib/prog/jao-rust.el13
2 files changed, 19 insertions, 2 deletions
diff --git a/custom/jao-custom-programming.el b/custom/jao-custom-programming.el
index c26fa45..f60dbc9 100644
--- a/custom/jao-custom-programming.el
+++ b/custom/jao-custom-programming.el
@@ -305,7 +305,8 @@
;;;; Rust
-(use-package jao-rust :demand t)
+(use-package jao-rust :demand t
+ :hook (rust-mode . jao-rust-show-module-mode))
(use-package rust-mode
:ensure t
@@ -370,7 +371,10 @@
(rustic-cargo-use-last-stored-arguments nil)
(rustic-cargo-test-runner 'nextest)
(rustic-cargo-nextest-exec-command '("nextest" "run" "--color=never" "--show-progress=none"))
- :bind (:map rustic-mode-map (("s-r" . jao-transient-rustic))))
+ :bind (:map rustic-mode-map (("C-R" . isearch-backward)
+ ("C-r" . jao-transient-rustic)
+ ("C-c c" . jao-transient-rustic)
+ ("C-c C-c" . jao-transient-rustic))))
(jao-attach-below-eldoc "\\*\\(cargo-.+\\|rustic-compilation\\)\\*" 0.5)
diff --git a/lib/prog/jao-rust.el b/lib/prog/jao-rust.el
index 53b0058..ddb3307 100644
--- a/lib/prog/jao-rust.el
+++ b/lib/prog/jao-rust.el
@@ -49,6 +49,12 @@
(replace-regexp-in-string "\\(^\\|/\\)\\(mod\\|lib\\|main\\)$" "")
(string-replace "/" "::")))))
+;;;###autoload
+(define-minor-mode jao-rust-show-module-mode
+ "Show the current file's module in the mode line lighter"
+ :lighter (:eval (if-let* ((m (jao-rust-current-module-name)))
+ (format " ::%s" m))))
+
(defun jao-rust--tests-prefix ()
(let ((m (jao-rust-current-module-name)))
(cond ((not (stringp m)) "")
@@ -72,6 +78,7 @@
(defconst jao-rust--tests-mod-rx "^\\(pub\\)? *mod tests {")
+;;;###autoload
(defun jao-rust-goto-tests ()
(interactive)
(or (re-search-forward jao-rust--tests-mod-rx nil t)
@@ -84,6 +91,7 @@
(insert "\n#[cfg(test)]\nmod tests {\n\n}")
(forward-line -1))))
+;;;###autoload
(defun jao-rust-test-current ()
(interactive)
(if-let* ((m (jao-rust--tests-prefix))
@@ -102,6 +110,7 @@
(when-let* ((name (jao-rust-test-at-point))) (push name res)))
res)))
+;;;###autoload
(defun jao-rust-test-module ()
(interactive)
(let ((tests (jao-rust-buffer-tests)))
@@ -114,6 +123,7 @@
(rustic-cargo-use-last-stored-arguments t))
(rustic-cargo-test)))))
+;;;###autoload
(defun jao-rust-test-doctests (&optional all)
(interactive "P")
(let* ((m (if all "" (jao-rust-current-module-name)))
@@ -122,18 +132,21 @@
(rustic-cargo-use-last-stored-arguments t))
(rustic-cargo-test)))
+;;;###autoload
(defun jao-rust-retest ()
(interactive)
(let* ((rustic-test-arguments "-R latest")
(rustic-cargo-use-last-stored-arguments t))
(rustic-cargo-test)))
+;;;###autoload
(defun jao-rust-test-workspace ()
(interactive)
(let ((rustic-test-arguments rustic-default-test-arguments))
(rustic-cargo-test)))
+;;;###autoload
(defun jao-rust-build-doc (deps)
(interactive "P")
(rustic-run-cargo-command `(,(rustic-cargo-bin) "doc" ,@(unless deps '("--no-deps")))))