diff options
author | Visuwesh <visuweshm@gmail.com> | 2022-06-11 13:05:17 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-06-11 13:05:17 +0200 |
commit | 4881ce7a746d95e702d7328689949b2ae4931692 (patch) | |
tree | 59c155920bb62f20323ded4299ab26dc8bb29c53 /lisp/progmodes/sh-script.el | |
parent | a6b8bcad58246ed8dcf4674f9df4a6a6859212f3 (diff) | |
download | emacs-4881ce7a746d95e702d7328689949b2ae4931692.tar.gz emacs-4881ce7a746d95e702d7328689949b2ae4931692.tar.bz2 emacs-4881ce7a746d95e702d7328689949b2ae4931692.zip |
Support mksh-specific function names in imenu
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Add
mksh-specific function names to imenu-generic-expression
(bug#55889).
Diffstat (limited to 'lisp/progmodes/sh-script.el')
-rw-r--r-- | lisp/progmodes/sh-script.el | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 4d2554c0870..04f65b8dcad 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -286,7 +286,7 @@ naming the shell." :group 'sh-script) (defcustom sh-imenu-generic-expression - '((sh + `((sh . ((nil ;; function FOO ;; function FOO() @@ -295,8 +295,21 @@ naming the shell." ;; FOO() (nil "^\\s-*\\([[:alpha:]_][[:alnum:]_]*\\)\\s-*()" - 1) - ))) + 1))) + (mksh + . ((nil + ;; function FOO + ;; function FOO() + ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) + (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) + (* (syntax whitespace)) (? "()")) + 1) + (nil + ;; FOO() + ,(rx bol (* (syntax whitespace)) + (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) + (* (syntax whitespace)) "()") + 1)))) "Alist of regular expressions for recognizing shell function definitions. See `sh-feature' and `imenu-generic-expression'." :type '(alist :key-type (symbol :tag "Shell") |