diff options
| author | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 | 
|---|---|---|
| committer | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 | 
| commit | e573b3020c032400eed60b649a2cbf55266e6bb0 (patch) | |
| tree | 8f572394ac8433529c7a8e70d160a2fbe8268b4e /vim/bundle/vim-snippets/UltiSnips/sh.snippets | |
| parent | b8c667bd64b3edd38d56c63c5bd1db53a23b4499 (diff) | |
| download | myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.gz myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.bz2 myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.zip  | |
Add current configurations from old repository
Diffstat (limited to 'vim/bundle/vim-snippets/UltiSnips/sh.snippets')
| -rw-r--r-- | vim/bundle/vim-snippets/UltiSnips/sh.snippets | 99 | 
1 files changed, 99 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/UltiSnips/sh.snippets b/vim/bundle/vim-snippets/UltiSnips/sh.snippets new file mode 100644 index 0000000..7018184 --- /dev/null +++ b/vim/bundle/vim-snippets/UltiSnips/sh.snippets @@ -0,0 +1,99 @@ +priority -50 + +global !p +import vim + +# Tests for the existence of a variable declared by Vim's filetype detection +# suggesting the type of shell script of the current file +def testShell(scope, shell): +	return vim.eval("exists('" + scope + ":is_" + shell + "')") + +# Loops over the possible variables, checking for global variables +# first since they indicate an override by the user. +def getShell(): +	for scope in ["g", "b"]: +		for shell in ["bash", "posix", "sh", "kornshell"]: +			if testShell(scope, shell) == "1": +				if shell == "kornshell": +					return "ksh" +				if shell == "posix": +					return "sh" +				return shell +	return "sh" +endglobal + +########################################################################### +#                            TextMate Snippets                            # +########################################################################### +snippet #! +`!p snip.rv = '#!/bin/' + getShell() + "\n\n" ` +endsnippet + +snippet !env "#!/usr/bin/env (!env)" +`!p snip.rv = '#!/usr/bin/env ' + getShell() + "\n\n" ` +endsnippet + +snippet sbash "safe bash options" +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +`!p snip.rv ='\n\n' ` +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:  | 
