Function: sh-if

sh-if is an interactive and byte-compiled function defined in sh-script.el.gz.

Signature

(sh-if &optional STR ARG)

Documentation

Insert an if 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-if
  "Insert an if statement.  See `sh-feature'."
  (csh "condition: "
       "if( " str " ) then" \n
       > _ \n
       ( "other condition, %s: "
	 < "else if( " str " ) then" \n
	 > _ \n)
       < "else" \n
       > _ \n
       resume:
       < "endif" \n)
  (es "condition: "
      > "if { " str " } {" \n
      > _ \n
      ( "other condition, %s: "
	"} { " str " } {" > \n
	> _ \n)
      "} {" > \n
      > _ \n
      resume:
      ?\} > \n)
  (rc "condition: "
      > "if( " str " ) {" \n
      > _ \n
      ( "other condition, %s: "
	"} else if( " str " ) {"  > \n
	> _ \n)
      "} else {" > \n
      > _ \n
      resume:
      ?\} > \n)
  (sh "condition: "
      '(setq input (sh-feature sh-test))
      > "if " str "; then" \n
      > _ \n
      ( "other condition, %s: "
	>  "elif " str "; then" > \n
	> \n)
      "else" > \n
      > \n
      resume:
      "fi" > \n))