emacs-diffs
[Top][All Lists]
Advanced

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

emacs-27 55803cc: Move shell-related menu items to "Shell Commands" subm


From: Juri Linkov
Subject: emacs-27 55803cc: Move shell-related menu items to "Shell Commands" submenu (bug#37594)
Date: Wed, 15 Jan 2020 18:30:41 -0500 (EST)

branch: emacs-27
commit 55803cc189a89031bbf2b37e5ac00a04ef1ad8aa
Author: Juri Linkov <address@hidden>
Commit: Juri Linkov <address@hidden>

    Move shell-related menu items to "Shell Commands" submenu (bug#37594)
    
    * lisp/menu-bar.el (menu-bar-shell-commands-menu): New variable.
    (menu-bar-tools-menu): Move shell-related menu items to
    'menu-bar-shell-commands-menu' and add menu items for
    'async-shell-command' and 'shell'.
---
 lisp/menu-bar.el | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 90f9ef7..8f825a1 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1649,6 +1649,27 @@ mail status in mode line"))
 
     menu))
 
+(defvar menu-bar-shell-commands-menu
+  (let ((menu (make-sparse-keymap "Shell Commands")))
+    (bindings--define-key menu [interactive-shell]
+      '(menu-item "Run Shell Interactively" shell
+                  :help "Run a subshell interactively"))
+
+    (bindings--define-key menu [async-shell-command]
+      '(menu-item "Async Shell Command..." async-shell-command
+                  :help "Invoke a shell command asynchronously in background"))
+
+    (bindings--define-key menu [shell-on-region]
+      '(menu-item "Shell Command on Region..." shell-command-on-region
+                  :enable mark-active
+                  :help "Pass marked region to a shell command"))
+
+    (bindings--define-key menu [shell]
+      '(menu-item "Shell Command..." shell-command
+                  :help "Invoke a shell command and catch its output"))
+
+    menu))
+
 (defun menu-bar-read-mail ()
   "Read mail using `read-mail-command'."
   (interactive)
@@ -1740,16 +1761,14 @@ mail status in mode line"))
     (bindings--define-key menu [gdb]
       '(menu-item "Debugger (GDB)..." gdb
                   :help "Debug a program from within Emacs with GDB"))
-    (bindings--define-key menu [shell-on-region]
-      '(menu-item "Shell Command on Region..." shell-command-on-region
-                  :enable mark-active
-                  :help "Pass marked region to a shell command"))
-    (bindings--define-key menu [shell]
-      '(menu-item "Shell Command..." shell-command
-                  :help "Invoke a shell command and catch its output"))
     (bindings--define-key menu [compile]
       '(menu-item "Compile..." compile
                   :help "Invoke compiler or Make, view compilation errors"))
+
+    (bindings--define-key menu [shell-commands]
+      `(menu-item "Shell Commands"
+                  ,menu-bar-shell-commands-menu))
+
     (bindings--define-key menu [rgrep]
       '(menu-item "Recursive Grep..." rgrep
                   :help "Interactively ask for parameters and search 
recursively"))



reply via email to

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