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

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

[elpa] master 8e7295b 108/177: Closes #403: more uniform behaviour for `


From: João Távora
Subject: [elpa] master 8e7295b 108/177: Closes #403: more uniform behaviour for `yas-use-menu'
Date: Sat, 28 Mar 2015 15:41:16 +0000

branch: master
commit 8e7295b93460b7d389ecb65969fcedbee6495de8
Author: Joao Tavora <address@hidden>
Commit: Joao Tavora <address@hidden>

    Closes #403: more uniform behaviour for `yas-use-menu'
    
    Suggested by Noam Postavsky, this uses the :visible arg to
    `easy-menu-define' to hide the whole "YASnippet" menu according to the
    run-time value of `yas-use-menu'. Previously, only the load-time value
    was considered and some functions we're noops when `yas-use-menu' was
    nil.
    
    The per-mode snippet submenus are now always updated even if
    `yas-use-menu' is nil, although they won't be shown until it becomes
    non-nil.
    
    * yasnippet.el (yas--minor-mode-menu): Use :visible arg and eval 
`yas-use-menu'
    (yas--update-template): Always update the menu.
    (yas--show-menu-p): Always return t if `yas-use-menu' is non-nil and not 
`abbreviate'
    (yas-define-menu): Always define a menu.
    (yas-use-menu): Update docstring.
---
 yasnippet.el |   45 ++++++++++++++++++++-------------------------
 1 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/yasnippet.el b/yasnippet.el
index 50a6e4b..252083a 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -313,6 +313,8 @@ menu and the modes set in `yas--extra-modes' are listed.
 
 - If set to `full', every submenu is listed
 
+- If set to `nil', hide the menu.
+
 Any other non-nil value, every submenu is listed."
   :type '(choice (const :tag "Full"  full)
                  (const :tag "Abbreviate" abbreviate)
@@ -546,7 +548,7 @@ snippet itself contains a condition that returns the symbol
 (easy-menu-define yas--minor-mode-menu
       yas-minor-mode-map
       "Menu used when `yas-minor-mode' is active."
-  '("YASnippet"
+  '("YASnippet" :visible yas-use-menu
     "----"
     ["Expand trigger" yas-expand
      :help "Possibly expand tab trigger before point"]
@@ -1063,8 +1065,7 @@ Also takes care of adding and updating to the associated 
menu."
   (yas--add-template table template)
   ;; Take care of the menu
   ;;
-  (when yas-use-menu
-    (yas--update-template-menu table template)))
+  (yas--update-template-menu table template))
 
 (defun yas--update-template-menu (table template)
   "Update every menu-related for TEMPLATE."
@@ -1976,10 +1977,7 @@ static in the menu."
                (mapcar #'(lambda (table)
                            (yas--table-mode table))
                        (yas--get-snippet-tables))))
-        ((eq yas-use-menu 'full)
-         t)
-        ((eq yas-use-menu t)
-         t)))
+        (yas-use-menu t)))
 
 (defun yas--delete-from-keymap (keymap uuid)
   "Recursively delete items with UUID from KEYMAP and its submenus."
@@ -2022,24 +2020,21 @@ MENU is a list, its elements can be:
   list of groups of the snippets defined thereafter.
 
 OMIT-ITEMS is a list of snippet uuid's that will always be
-omitted from MODE's menu, even if they're manually loaded.
-
-This function does nothing if `yas-use-menu' is nil."
-  (when yas-use-menu
-    (let* ((table (yas--table-get-create mode))
-           (hash (yas--table-uuidhash table)))
-      (yas--define-menu-1 table
-                          (yas--menu-keymap-get-create mode)
-                          menu
-                          hash)
-      (dolist (uuid omit-items)
-        (let ((template (or (gethash uuid hash)
-                            (yas--populate-template (puthash uuid
-                                                             
(yas--make-blank-template)
-                                                             hash)
-                                                    :table table
-                                                    :uuid uuid))))
-          (setf (yas--template-menu-binding-pair template) (cons nil 
:none)))))))
+omitted from MODE's menu, even if they're manually loaded."
+  (let* ((table (yas--table-get-create mode))
+         (hash (yas--table-uuidhash table)))
+    (yas--define-menu-1 table
+                        (yas--menu-keymap-get-create mode)
+                        menu
+                        hash)
+    (dolist (uuid omit-items)
+      (let ((template (or (gethash uuid hash)
+                          (yas--populate-template (puthash uuid
+                                                           
(yas--make-blank-template)
+                                                           hash)
+                                                  :table table
+                                                  :uuid uuid))))
+        (setf (yas--template-menu-binding-pair template) (cons nil :none))))))
 
 (defun yas--define-menu-1 (table menu-keymap menu uuidhash &optional 
group-list)
   "Helper for `yas-define-menu'."



reply via email to

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