Function: sh-case
sh-case is an interactive and byte-compiled function defined in
sh-script.el.gz.
Signature
(sh-case &optional STR ARG)
Documentation
Insert a case/switch statement. See sh-feature.
This is a skeleton command (see skeleton-insert).
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.
A prefix argument ARG says to wrap the skeleton around the next ARG words. A prefix argument of -1 says to wrap around region, even if not highlighted. A prefix argument of zero says to wrap around zero words---that is, nothing. This is a way of overriding the use of a highlighted region.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/sh-script.el.gz
(define-skeleton sh-case
"Insert a case/switch statement. See `sh-feature'."
(csh "expression: "
"switch( " str " )" \n
> "case " (read-string "pattern: ") ?: \n
> _ \n
"breaksw" \n
( "other pattern, %s: "
< "case " str ?: \n
> _ \n
"breaksw" \n)
< "default:" \n
> _ \n
resume:
< < "endsw" \n)
(es)
(rc "expression: "
> "switch( " str " ) {" \n
> "case " (read-string "pattern: ") \n
> _ \n
( "other pattern, %s: "
"case " str > \n
> _ \n)
"case *" > \n
> _ \n
resume:
?\} > \n)
(sh "expression: "
> "case " str " in" \n
( "pattern, %s: "
> str sh-non-closing-paren \n
> _ \n
";;" \n)
> "*" sh-non-closing-paren \n
> _ \n
resume:
"esac" > \n))