emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/javaimp 0975abf615 1/3: javaimp-minor-mode: New minor m


From: Filipp Gunbin
Subject: [elpa] externals/javaimp 0975abf615 1/3: javaimp-minor-mode: New minor mode
Date: Thu, 5 May 2022 12:42:15 -0400 (EDT)

branch: externals/javaimp
commit 0975abf6153f7a58985de825361163464f844d84
Author: Filipp Gunbin <fgunbin@fastmail.fm>
Commit: Filipp Gunbin <fgunbin@fastmail.fm>

    javaimp-minor-mode: New minor mode
---
 javaimp.el | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/javaimp.el b/javaimp.el
index 1809dd426d..ad7097e402 100644
--- a/javaimp.el
+++ b/javaimp.el
@@ -1049,7 +1049,51 @@ after this group of defuns."
 
 
 
-;; Misc
+;; Main
+
+(defvar-keymap javaimp-basic-map
+  "i" #'javaimp-add-import
+  "o" #'javaimp-organize-imports
+  "s" #'javaimp-show-scopes)
+
+(defvar-keymap javaimp-minor-mode-map
+  "C-c j" javaimp-basic-map
+  ;; Override functions from java-mode
+  "C-M-a" #'beginning-of-defun
+  "C-M-e" #'end-of-defun)
+
+;;;###autoload
+(define-minor-mode javaimp-minor-mode
+  "Javaimp minor mode.
+When enabled, provides Imenu support and navigation functions
+using Javaimp facilities.
+
+\\{javaimp-minor-mode-map}"
+  :lighter " JavaImp"
+  :interactive (java-mode)
+  (if javaimp-minor-mode
+      (progn
+        (add-function :override (local 'imenu-create-index-function)
+                      #'javaimp-imenu-create-index)
+        (add-function :override (local 'beginning-of-defun-function)
+                      #'javaimp-beginning-of-defun)
+        (add-function :override (local 'end-of-defun-function)
+                      #'javaimp-end-of-defun)
+        (add-function :override (local 'add-log-current-defun-function)
+                      #'javaimp-add-log-current-defun))
+    (remove-function (local 'imenu-create-index-function)
+                     #'javaimp-imenu-create-index)
+    (remove-function (local 'beginning-of-defun-function)
+                     #'javaimp-beginning-of-defun)
+    (remove-function (local 'end-of-defun-function)
+                     #'javaimp-end-of-defun)
+    (remove-function (local 'add-log-current-defun-function)
+                     #'javaimp-add-log-current-defun)))
+
+(defun javaimp-forget-visited-projects ()
+  "Forget all visited projects."
+  (interactive)
+  (setq javaimp-project-forest nil))
 
 (defun javaimp-flush-cache ()
   "Flush all caches."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]