Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
96 lines
2.3 KiB
Plaintext
96 lines
2.3 KiB
Plaintext
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 #! "#!/usr/bin/env (!env)" b
|
|
`!p snip.rv = '#!/usr/bin/env ' + getShell() + "\n" `
|
|
endsnippet
|
|
|
|
snippet sbash "safe bash options" b
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
`!p snip.rv ='\n\n' `
|
|
endsnippet
|
|
|
|
snippet temp "Tempfile" b
|
|
${1:TMPFILE}="$(mktemp -t ${3:--suffix=${4:.SUFFIX}} ${2:`!p
|
|
snip.rv = re.sub(r'[^a-zA-Z]', '_', snip.fn) or "untitled"
|
|
`}.XXXXXX)"
|
|
${5:${6/(.+)/trap "/}${6:rm -f '$${1/.*\s//}'}${6/(.+)/" 0 # EXIT\n/}${7/(.+)/trap "/}${7:rm -f '$${1/.*\s//}'; exit 1}${7/(.+)/" 2 # INT\n/}${8/(.+)/trap "/}${8:rm -f '$${1/.*\s//}'; exit 1}${8/(.+)/" 1 15 # HUP TERM\n/}}
|
|
|
|
endsnippet
|
|
|
|
snippet /case|sw(itch)?/ "case .. esac (case)" rb
|
|
case ${1:word} in
|
|
${2:pattern} )
|
|
${0:${VISUAL}};;
|
|
esac
|
|
endsnippet
|
|
|
|
snippet elif "elif .. (elif)" b
|
|
elif ${2:[[ ${1:condition} ]]}; then
|
|
${0:${VISUAL}}
|
|
endsnippet
|
|
|
|
snippet for "for ... done (for)" b
|
|
for (( i = 0; i < ${1:10}; i++ )); do
|
|
${0:${VISUAL}}
|
|
done
|
|
endsnippet
|
|
|
|
snippet forin "for ... in ... done (forin)" b
|
|
for ${1:i}${2/.+/ in /}${2:words}; do
|
|
${0:${VISUAL}}
|
|
done
|
|
endsnippet
|
|
|
|
snippet here "here document (here)"
|
|
<<-${2:'${1:TOKEN}'}
|
|
$0
|
|
${1/['"`](.+)['"`]/$1/}
|
|
endsnippet
|
|
|
|
snippet if "if ... then (if)" b
|
|
if ${2:[[ ${1:condition} ]]}; then
|
|
${0:${VISUAL}}
|
|
fi
|
|
endsnippet
|
|
|
|
snippet until "until ... (done)" b
|
|
until ${2:[[ ${1:condition} ]]}; do
|
|
${0:${VISUAL}}
|
|
done
|
|
endsnippet
|
|
|
|
snippet /wh(ile)?/ "while ... (done)" rb
|
|
while ${2:[[ ${1:condition} ]]}; do
|
|
${0:${VISUAL}}
|
|
done
|
|
endsnippet
|
|
|
|
# vim:ft=snippets:
|