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

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

[elpa] externals/org-remark 2e14b95d65 147/173: feat: minor-mode menu &


From: ELPA Syncer
Subject: [elpa] externals/org-remark 2e14b95d65 147/173: feat: minor-mode menu & mouse context-menu (>= Emacs 28)
Date: Fri, 28 Jan 2022 16:58:10 -0500 (EST)

branch: externals/org-remark
commit 2e14b95d653a4a18044de1b4dbcdeaa9186d7300
Author: Noboru Ota <me@nobiot.com>
Commit: Noboru Ota <me@nobiot.com>

    feat: minor-mode menu & mouse context-menu (>= Emacs 28)
    
    Menu-bar entry added.  For custom pens, the macro adds them in in the create
    macro.  If Emacs is version 28 or onwards, you can turn on context-menu-mode
    on. The minor-mode menu is autoamtically available when minor-mode function 
is
    enabled for the context menu (default)
---
 org-remark.el | 64 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 46 insertions(+), 18 deletions(-)

diff --git a/org-remark.el b/org-remark.el
index c819811209..0aeeebdd46 100644
--- a/org-remark.el
+++ b/org-remark.el
@@ -6,7 +6,7 @@
 ;; URL: https://github.com/nobiot/org-remark
 ;; Version: 0.1.0
 ;; Created: 22 December 2020
-;; Last modified: 17 January 2022
+;; Last modified: 19 January 2022
 ;; Package-Requires: ((emacs "27.1") (org "9.4"))
 ;; Keywords: org-mode, annotation, writing, note-taking, marginal-notes
 
@@ -139,8 +139,7 @@ property drawer from the highlighter pen.  To do this, 
prefix
 property names with \"org-remark-\" or use \"CATEGORY\"."
   (if (not label) `(user-error "org-remark-create: Label is missing")
     `(progn
-       (add-to-list 'org-remark-available-pens
-                    (intern (format "org-remark-mark-%s" ,label)))
+       ;; Define custom pen function
        (defun ,(intern (format "org-remark-mark-%s" label))
            (beg end &optional id)
          ,(format "Apply the following face to the region selected by BEG and 
END.
@@ -163,22 +162,16 @@ highlight.  In this case, no new ID gets generated."
                   (or face "`org-remark-highlighter'") properties)
          (interactive (org-remark-region-or-word))
          (org-remark-single-highlight-mark
-          beg end id ,label ,face ,properties)))))
+          beg end id ,label ,face ,properties))
 
-;; Don't use category (symbol) as a property -- it's a special one of text
-;; properties. If you use it, the value also need to be a symbol; otherwise, 
you
-;; will get an error. You can use CATEGORY (symbol and all uppercase).
-(when org-remark-create-default-pen-set
-  ;; Create default pen set.
-  ;; They are rather meant to be a starter pack and examples
-  ;; They can be overridden, or set `org-remark-create-default-pen-set' to nil
-  ;; so that Org-remark will not create them.
-  (org-remark-create "red-line"
-                     '(:underline (:color "dark red" :style wave))
-                     '(CATEGORY "review" help-echo "Review this"))
-  (org-remark-create "yellow"
-                     '(:underline "gold" :background "lemon chiffon")
-                     '(CATEGORY "important")))
+       ;; Register to `org-remark-available-pens'
+       (add-to-list 'org-remark-available-pens
+                    (intern (format "org-remark-mark-%s" ,label)))
+
+       ;; Add custom pens to the minor-mode menu
+       (define-key-after org-remark-mode-map
+         [menu-bar org-remark Highlight ,(format "mark-%s" label)]
+         '(,(format "%s pen" label) . ,(intern (format "org-remark-mark-%s" 
label)))))))
 
 
 ;;;; Commands
@@ -238,6 +231,32 @@ recommended to turn it on as part of Emacs initialization.
       (remove-hook 'after-save-hook #'org-remark-save t)
       (remove-hook 'kill-buffer-hook #'org-remark-tracking-save t))))
 
+
+;;;; Org-remark Menu
+(easy-menu-define org-remark-menu org-remark-mode-map "Org-remark menu."
+  `("Org-remark"
+    ("Highlight"
+     ["default pen" org-remark-mark])))
+
+(define-key-after org-remark-mode-map
+  [menu-bar org-remark open]
+  '("Open" . org-remark-open))
+
+(define-key-after org-remark-mode-map
+  [menu-bar org-remark view]
+  '("View" . org-remark-view))
+
+(define-key-after org-remark-mode-map
+  [menu-bar org-remark change]
+  '("Change" . org-remark-change))
+
+(define-key-after org-remark-mode-map
+  [menu-bar org-remark remove]
+  '("Remove" . org-remark-remove))
+
+
+;;;; Other Commands
+
 (add-to-list 'org-remark-available-pens #'org-remark-mark)
 ;;;###autoload
 (defun org-remark-mark (beg end &optional id)
@@ -266,6 +285,15 @@ to the database."
   (org-remark-single-highlight-mark beg end id nil nil
                                     (list "org-remark-label" "nil")))
 
+(when org-remark-create-default-pen-set
+  ;; Create default pen set.
+  (org-remark-create "red-line"
+                     '(:underline (:color "dark red" :style wave))
+                     '(CATEGORY "review" help-echo "Review this"))
+  (org-remark-create "yellow"
+                     '(:underline "gold" :background "lemon chiffon")
+                     '(CATEGORY "important")))
+
 (defun org-remark-load ()
   "Visit `org-remark-notes-file' & load the saved highlights onto current 
buffer.
 If there is no highlights or annotations for current buffer,



reply via email to

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