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.
This commit is contained in:
parent
3010794753
commit
2c26eb1115
4 changed files with 101 additions and 137 deletions
|
@ -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+\\)*\\)?"
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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 ?\]) (?\])
|
||||
(?{ _ ?}) (?\}))
|
||||
|
|
Loading…
Add table
Reference in a new issue