aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/snippets/sh.snippets
blob: e470a2ab88ae80ff987f85ca707e6640f6eef860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Shebang. Executing bash via /usr/bin/env makes scripts more portable.
snippet #!
	#!/usr/bin/env sh
	
snippet bash
	#!/usr/bin/env bash

snippet sbash
	#!/usr/bin/env bash
	set -euo pipefail
	IFS=$'\n\t'

snippet if
	if [[ ${1:condition} ]]; then
		${0:#statements}
	fi
snippet elif
	elif [[ ${1:condition} ]]; then
		${0:#statements}
snippet for
	for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do
		${0:#statements}
	done
snippet fori
	for ${1:needle} in ${2:haystack} ; do
		${0:#statements}
	done
snippet wh
	while [[ ${1:condition} ]]; do
		${0:#statements}
	done
snippet until
	until [[ ${1:condition} ]]; do
		${0:#statements}
	done
snippet case
	case ${1:word} in
		${2:pattern})
			${0};;
	esac
snippet go
	while getopts '${1:o}' ${2:opts}
	do
		case $$2 in
		${3:o0})
			${0:#staments};;
		esac
	done
# Set SCRIPT_DIR variable to directory script is located.
snippet sdir
	SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# getopt
snippet getopt
	__ScriptVersion="${1:version}"

	#===  FUNCTION  ================================================================
	#         NAME:  usage
	#  DESCRIPTION:  Display usage information.
	#===============================================================================
	function usage ()
	{
		echo "Usage :  $${0:0} [options] [--]

	    Options:
	    -h|help       Display this message
	    -v|version    Display script version"

	}    # ----------  end of function usage  ----------

	#-----------------------------------------------------------------------
	#  Handle command line arguments
	#-----------------------------------------------------------------------

	while getopts ":hv" opt
	do
	  case $opt in

		h|help     )  usage; exit 0   ;;

		v|version  )  echo "$${0:0} -- Version $__ScriptVersion"; exit 0   ;;

		* )  echo -e "\n  Option does not exist : $OPTARG\n"
			  usage; exit 1   ;;

	  esac    # --- end of case ---
	done
	shift $(($OPTIND-1))
snippet root
	if [ \$(id -u) -ne 0 ]; then exec sudo \$0; fi

snippet fun-sh
	${1:function_name}() {
		${0:#function_body}
	}

snippet fun
	function ${1:function_name}() {
		${0:#function_body}
	}