branch: elpa/rust-mode
commit 494d59f92cbe12533eb89b202fc4f5342afcd543
Author: Jonas Bernoulli <[email protected]>
Commit: brotzeit <[email protected]>

    Make most additional libraries optional
---
 rust-mode.el | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/rust-mode.el b/rust-mode.el
index 94604e1..2b9490b 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -17,6 +17,16 @@
 
 (eval-when-compile (require 'rx))
 
+(defvar rust-load-optional-libraries t
+  "Whether loading `rust-mode' also loads optional libraries.
+This variable might soon be remove again.")
+
+(when rust-load-optional-libraries
+  (require 'rust-cargo)
+  (require 'rust-compile)
+  (require 'rust-playpen)
+  (require 'rust-rustfmt))
+
 (defvar electric-pair-inhibit-predicate)
 (defvar electric-pair-skip-self)
 (defvar electric-indent-chars)
@@ -188,9 +198,10 @@ Use idomenu (imenu with `ido-mode') for best mileage.")
 
 (defvar rust-mode-map
   (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "C-c C-f") 'rust-format-buffer)
     (define-key map (kbd "C-c C-d") 'rust-dbg-wrap-or-unwrap)
-    (define-key map (kbd "C-c C-n") 'rust-goto-format-problem)
+    (when rust-load-optional-libraries
+      (define-key map (kbd "C-c C-f") 'rust-format-buffer)
+      (define-key map (kbd "C-c C-n") 'rust-goto-format-problem))
     map)
   "Keymap for Rust major mode.")
 

Reply via email to