diff options
| -rw-r--r-- | custom/jao-custom-programming.el | 8 | ||||
| -rw-r--r-- | lib/prog/jao-rust.el | 13 |
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"))))) |
