########################################################################### # TextMate Snippets # ########################################################################### snippet #! #!/bin/sh endsnippet snippet !env "#!/usr/bin/env (!env)" #!/usr/bin/env bash endsnippet snippet temp "Tempfile" ${1:TMPFILE}="$(mktemp -t ${2:`!p snip.rv = re.sub(r'[^a-zA-Z]', '_', snip.fn) or "untitled" `})" ${3:${4/(.+)/trap "/}${4:rm -f '$${1/.*\s//}'}${4/(.+)/" 0 # EXIT\n/}${5/(.+)/trap "/}${5:rm -f '$${1/.*\s//}'; exit 1}${5/(.+)/" 2 # INT\n/}${6/(.+)/trap "/}${6:rm -f '$${1/.*\s//}'; exit 1}${6/(.+)/" 1 15 # HUP TERM\n/}} endsnippet snippet case "case .. esac (case)" case ${1:word} in ${2:pattern} ) $0;; esac endsnippet snippet elif "elif .. (elif)" elif ${2:[[ ${1:condition} ]]}; then ${0:#statements} endsnippet snippet for "for ... done (for)" for (( i = 0; i < ${1:10}; i++ )); do ${0:#statements} done endsnippet snippet forin "for ... in ... done (forin)" for ${1:i}${2/.+/ in /}${2:words}; do ${0:#statements} done endsnippet snippet here "here document (here)" <<-${2:'${1:TOKEN}'} $0 ${1/['"`](.+)['"`]/$1/} endsnippet snippet if "if ... then (if)" if ${2:[[ ${1:condition} ]]}; then ${0:#statements} fi endsnippet snippet until "until … (done)" until ${2:[[ ${1:condition} ]]}; do ${0:#statements} done endsnippet snippet while "while … (done)" while ${2:[[ ${1:condition} ]]}; do ${0:#statements} done endsnippet # vim:ft=snippets: # #!/bin/bash snippet #! #!/bin/bash endsnippet snippet elif elif [[ ${1:condition} ]]; then ${2:#statements} endsnippet snippet for for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do ${3:#statements} done endsnippet snippet wh while [[ ${1:condition} ]]; do ${2:#statements} done endsnippet snippet until until [[ ${1:condition} ]]; do ${2:#statements} done endsnippet snippet case case ${1:word} in ${2:pattern}) ${3};; esac endsnippet snippet dump echo "${1:val}=$$1" endsnippet snippet vim # vim: tabstop=4 shiftwidth=4 noexpandtab endsnippet