X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/d1c17b57ec52c6e81c4ac97dfdf49e6cbdc5f766..refs/heads/lazyvim:/vim/ultisnips/sh.snippets?ds=sidebyside diff --git a/vim/ultisnips/sh.snippets b/vim/ultisnips/sh.snippets index ff10449..13c1419 100644 --- a/vim/ultisnips/sh.snippets +++ b/vim/ultisnips/sh.snippets @@ -8,10 +8,31 @@ snippet !env "#!/usr/bin/env (!env)" b endsnippet +snippet script_dir "Get dir of current script" b +${1:script_dir}="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +$0 +endsnippet + snippet ar "${array[@]}" w \${${1:array}[${2:@}]}$0 endsnippet +snippet choice "Read a choice from stdin" b +read -r -p "${1:Question?} [Yn] " choice +case "$choice" in + Y|y) echo "yes" ;; + '') echo "yes" ;; + N|n) echo "no" ;; + *) echo "invalid" +esac +endsnippet + +snippet readline "Read a file line by line" b +while ${1:IFS='' }read -r ${2:line} || [[ -n "$$2" ]]; do + ${0:echo "Text read from file: $$2"} +done < "\$${3:file}" +endsnippet + snippet getopt version="${1:0.1}" @@ -26,7 +47,7 @@ function usage () # Parse arguments declare -a args -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="\$1" case $opt in @@ -36,7 +57,7 @@ while [[ $# > 0 ]]; do echo -e "\n Option does not exist : $opt\n" usage; exit 1 ;; - *) args+=($opt); shift ;; + *) args+=("$opt"); shift ;; esac done endsnippet