X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/d1c17b57ec52c6e81c4ac97dfdf49e6cbdc5f766..f5f39bf6d1b33a2ec77cd6f79c1d38ae116ff076:/vim/ultisnips/sh.snippets?ds=inline diff --git a/vim/ultisnips/sh.snippets b/vim/ultisnips/sh.snippets index ff10449..45d5f81 100644 --- a/vim/ultisnips/sh.snippets +++ b/vim/ultisnips/sh.snippets @@ -12,6 +12,22 @@ 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 +42,7 @@ function usage () # Parse arguments declare -a args -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="\$1" case $opt in @@ -36,7 +52,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