From: Stefan Kangas Date: Sun, 21 Feb 2021 07:24:44 +0000 (+0100) Subject: Convert some progmodes menus to easy-menu-define X-Git-Tag: emacs-28.0.90~3625 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2c26eb11159b0acc2e3e74f9d1a96e615e86a40b;p=emacs.git Convert some progmodes menus to easy-menu-define * lisp/progmodes/asm-mode.el (asm-mode-map): * lisp/progmodes/grep.el (grep-mode-map): * lisp/progmodes/m4-mode.el (m4-mode-map): * lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here... * lisp/progmodes/asm-mode.el (asm-mode-menu): * lisp/progmodes/grep.el (grep-menu-map): * lisp/progmodes/m4-mode.el (m4-mode-menu): * lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite using easy-menu-define. --- diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el index 99b2ec6d87e..2f7d7bf7966 100644 --- a/lisp/progmodes/asm-mode.el +++ b/lisp/progmodes/asm-mode.el @@ -73,19 +73,19 @@ ;; Note that the comment character isn't set up until asm-mode is called. (define-key map ":" 'asm-colon) (define-key map "\C-c;" 'comment-region) - (define-key map [menu-bar asm-mode] (cons "Asm" (make-sparse-keymap))) - (define-key map [menu-bar asm-mode comment-region] - '(menu-item "Comment Region" comment-region - :help "Comment or uncomment each line in the region")) - (define-key map [menu-bar asm-mode newline-and-indent] - '(menu-item "Insert Newline and Indent" newline-and-indent - :help "Insert a newline, then indent according to major mode")) - (define-key map [menu-bar asm-mode asm-colon] - '(menu-item "Insert Colon" asm-colon - :help "Insert a colon; if it follows a label, delete the label's indentation")) map) "Keymap for Asm mode.") +(easy-menu-define asm-mode-menu asm-mode-map + "Menu for Asm mode." + '("Asm" + ["Insert Colon" asm-colon + :help "Insert a colon; if it follows a label, delete the label's indentation"] + ["Insert Newline and Indent" newline-and-indent + :help "Insert a newline, then indent according to major mode"] + ["Comment Region" comment-region + :help "Comment or uncomment each line in the region"])) + (defconst asm-font-lock-keywords (append '(("^\\(\\(\\sw\\|\\s_\\)+\\)\\>:?[ \t]*\\(\\sw+\\(\\.\\sw+\\)*\\)?" diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index d6ee8bb4236..3e92c699132 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -279,57 +279,39 @@ See `compilation-error-screen-columns'." (define-key map "}" 'compilation-next-file) (define-key map "\t" 'compilation-next-error) (define-key map [backtab] 'compilation-previous-error) - - ;; Set up the menu-bar - (define-key map [menu-bar grep] - (cons "Grep" (make-sparse-keymap "Grep"))) - - (define-key map [menu-bar grep grep-find-toggle-abbreviation] - '(menu-item "Toggle command abbreviation" - grep-find-toggle-abbreviation - :help "Toggle showing verbose command options")) - (define-key map [menu-bar grep compilation-separator3] '("----")) - (define-key map [menu-bar grep compilation-kill-compilation] - '(menu-item "Kill Grep" kill-compilation - :help "Kill the currently running grep process")) - (define-key map [menu-bar grep compilation-separator2] '("----")) - (define-key map [menu-bar grep compilation-compile] - '(menu-item - "Compile..." compile - :help - "Compile the program including the current buffer. Default: run `make'")) - (define-key map [menu-bar grep compilation-rgrep] - '(menu-item "Recursive grep..." rgrep - :help "User-friendly recursive grep in directory tree")) - (define-key map [menu-bar grep compilation-lgrep] - '(menu-item "Local grep..." lgrep - :help "User-friendly grep in a directory")) - (define-key map [menu-bar grep compilation-grep-find] - '(menu-item "Grep via Find..." grep-find - :help "Run grep via find, with user-specified args")) - (define-key map [menu-bar grep compilation-grep] - '(menu-item - "Another grep..." grep - :help - "Run grep, with user-specified args, and collect output in a buffer.")) - (define-key map [menu-bar grep compilation-recompile] - '(menu-item "Repeat grep" recompile - :help "Run grep again")) - (define-key map [menu-bar grep compilation-separator1] '("----")) - (define-key map [menu-bar grep compilation-first-error] - '(menu-item - "First Match" first-error - :help "Restart at the first match, visit corresponding location")) - (define-key map [menu-bar grep compilation-previous-error] - '(menu-item "Previous Match" previous-error - :help "Visit the previous match and corresponding location")) - (define-key map [menu-bar grep compilation-next-error] - '(menu-item "Next Match" next-error - :help "Visit the next match and corresponding location")) map) "Keymap for grep buffers. `compilation-minor-mode-map' is a cdr of this.") +(easy-menu-define grep-menu-map grep-mode-map + "Menu for grep buffers." + '("Grep" + ["Next Match" next-error + :help "Visit the next match and corresponding location"] + ["Previous Match" previous-error + :help "Visit the previous match and corresponding location"] + ["First Match" first-error + :help "Restart at the first match, visit corresponding location"] + "----" + ["Repeat grep" recompile + :help "Run grep again"] + ["Another grep..." grep + :help "Run grep, with user-specified args, and collect output in a buffer."] + ["Grep via Find..." grep-find + :help "Run grep via find, with user-specified args"] + ["Local grep..." lgrep + :help "User-friendly grep in a directory"] + ["Recursive grep..." rgrep + :help "User-friendly recursive grep in directory tree"] + ["Compile..." compile + :help "Compile the program including the current buffer. Default: run `make'"] + "----" + ["Kill Grep" kill-compilation + :help "Kill the currently running grep process"] + "----" + ["Toggle command abbreviation" grep-find-toggle-abbreviation + :help "Toggle showing verbose command options"])) + (defvar grep-mode-tool-bar-map ;; When bootstrapping, tool-bar-map is not properly initialized yet, ;; so don't do anything. diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el index 7dfaed44282..d9c09f6fe6b 100644 --- a/lisp/progmodes/m4-mode.el +++ b/lisp/progmodes/m4-mode.el @@ -122,22 +122,22 @@ If m4 is not in your PATH, set this to an absolute file name." (string-to-syntax ".")))))) (defvar m4-mode-map - (let ((map (make-sparse-keymap)) - (menu-map (make-sparse-keymap))) + (let ((map (make-sparse-keymap))) (define-key map "\C-c\C-b" 'm4-m4-buffer) (define-key map "\C-c\C-r" 'm4-m4-region) (define-key map "\C-c\C-c" 'comment-region) - (define-key map [menu-bar m4-mode] (cons "M4" menu-map)) - (define-key menu-map [m4c] - '(menu-item "Comment Region" comment-region - :help "Comment Region")) - (define-key menu-map [m4b] - '(menu-item "M4 Buffer" m4-m4-buffer - :help "Send contents of the current buffer to m4")) - (define-key menu-map [m4r] - '(menu-item "M4 Region" m4-m4-region - :help "Send contents of the current region to m4")) - map)) + map) + "Keymap for M4 Mode.") + +(easy-menu-define m4-mode-menu m4-mode-map + "Menu for M4 Mode." + '("M4" + ["M4 Region" m4-m4-region + :help "Send contents of the current region to m4"] + ["M4 Buffer" m4-m4-buffer + :help "Send contents of the current buffer to m4"] + ["Comment Region" comment-region + :help "Comment Region"])) (defun m4-m4-buffer () "Send contents of the current buffer to m4." diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index f588ad99c9d..ba59f9c6616 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -403,8 +403,7 @@ This is buffer-local in every such buffer.") "Syntax-table used in Shell-Script mode. See `sh-feature'.") (defvar sh-mode-map - (let ((map (make-sparse-keymap)) - (menu-map (make-sparse-keymap))) + (let ((map (make-sparse-keymap))) (define-key map "\C-c(" 'sh-function) (define-key map "\C-c\C-w" 'sh-while) (define-key map "\C-c\C-u" 'sh-until) @@ -434,74 +433,57 @@ This is buffer-local in every such buffer.") (define-key map "\C-c:" 'sh-set-shell) (define-key map [remap backward-sentence] 'sh-beginning-of-command) (define-key map [remap forward-sentence] 'sh-end-of-command) - (define-key map [menu-bar sh-script] (cons "Sh-Script" menu-map)) - (define-key menu-map [smie-config-guess] - '(menu-item "Learn buffer indentation" smie-config-guess - :help "Learn how to indent the buffer the way it currently is.")) - (define-key menu-map [smie-config-show-indent] - '(menu-item "Show indentation" smie-config-show-indent - :help "Show the how the current line would be indented")) - (define-key menu-map [smie-config-set-indent] - '(menu-item "Set indentation" smie-config-set-indent - :help "Set the indentation for the current line")) - - (define-key menu-map [sh-pair] - '(menu-item "Insert braces and quotes in pairs" - electric-pair-mode - :button (:toggle . (bound-and-true-p electric-pair-mode)) - :help "Inserting a brace or quote automatically inserts the matching pair")) - - (define-key menu-map [sh-s0] '("--")) - ;; Insert - (define-key menu-map [sh-function] - '(menu-item "Function..." sh-function - :help "Insert a function definition")) - (define-key menu-map [sh-add] - '(menu-item "Addition..." sh-add - :help "Insert an addition of VAR and prefix DELTA for Bourne (type) shell")) - (define-key menu-map [sh-until] - '(menu-item "Until Loop" sh-until - :help "Insert an until loop")) - (define-key menu-map [sh-repeat] - '(menu-item "Repeat Loop" sh-repeat - :help "Insert a repeat loop definition")) - (define-key menu-map [sh-while] - '(menu-item "While Loop" sh-while - :help "Insert a while loop")) - (define-key menu-map [sh-getopts] - '(menu-item "Options Loop" sh-while-getopts - :help "Insert a while getopts loop.")) - (define-key menu-map [sh-indexed-loop] - '(menu-item "Indexed Loop" sh-indexed-loop - :help "Insert an indexed loop from 1 to n.")) - (define-key menu-map [sh-select] - '(menu-item "Select Statement" sh-select - :help "Insert a select statement ")) - (define-key menu-map [sh-if] - '(menu-item "If Statement" sh-if - :help "Insert an if statement")) - (define-key menu-map [sh-for] - '(menu-item "For Loop" sh-for - :help "Insert a for loop")) - (define-key menu-map [sh-case] - '(menu-item "Case Statement" sh-case - :help "Insert a case/switch statement")) - (define-key menu-map [sh-s1] '("--")) - (define-key menu-map [sh-exec] - '(menu-item "Execute region" sh-execute-region - :help "Pass optional header and region to a subshell for noninteractive execution")) - (define-key menu-map [sh-exec-interpret] - '(menu-item "Execute script..." executable-interpret - :help "Run script with user-specified args, and collect output in a buffer")) - (define-key menu-map [sh-set-shell] - '(menu-item "Set shell type..." sh-set-shell - :help "Set this buffer's shell to SHELL (a string)")) - (define-key menu-map [sh-backslash-region] - '(menu-item "Backslash region" sh-backslash-region - :help "Insert, align, or delete end-of-line backslashes on the lines in the region.")) map) "Keymap used in Shell-Script mode.") +(easy-menu-define sh-mode-menu sh-mode-map + "Menu for Shell-Script mode." + '("Sh-Script" + ["Backslash region" sh-backslash-region + :help "Insert, align, or delete end-of-line backslashes on the lines in the region."] + ["Set shell type..." sh-set-shell + :help "Set this buffer's shell to SHELL (a string)"] + ["Execute script..." executable-interpret + :help "Run script with user-specified args, and collect output in a buffer"] + ["Execute region" sh-execute-region + :help "Pass optional header and region to a subshell for noninteractive execution"] + "---" + ;; Insert + ["Case Statement" sh-case + :help "Insert a case/switch statement"] + ["For Loop" sh-for + :help "Insert a for loop"] + ["If Statement" sh-if + :help "Insert an if statement"] + ["Select Statement" sh-select + :help "Insert a select statement "] + ["Indexed Loop" sh-indexed-loop + :help "Insert an indexed loop from 1 to n."] + ["Options Loop" sh-while-getopts + :help "Insert a while getopts loop."] + ["While Loop" sh-while + :help "Insert a while loop"] + ["Repeat Loop" sh-repeat + :help "Insert a repeat loop definition"] + ["Until Loop" sh-until + :help "Insert an until loop"] + ["Addition..." sh-add + :help "Insert an addition of VAR and prefix DELTA for Bourne (type) shell"] + ["Function..." sh-function + :help "Insert a function definition"] + "---" + ;; Other + ["Insert braces and quotes in pairs" electric-pair-mode + :style toggle + :selected (bound-and-true-p electric-pair-mode) + :help "Inserting a brace or quote automatically inserts the matching pair"] + ["Set indentation" smie-config-set-indent + :help "Set the indentation for the current line"] + ["Show indentation" smie-config-show-indent + :help "Show the how the current line would be indented"] + ["Learn buffer indentation" smie-config-guess + :help "Learn how to indent the buffer the way it currently is."])) + (defvar sh-skeleton-pair-default-alist '((?\( _ ?\)) (?\)) (?\[ ?\s _ ?\s ?\]) (?\]) (?{ _ ?}) (?\}))