[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."