{
	"print": {
		"prefix": "print",
		"body": "print(\"$1\")\n$0",
		"description": "print(\"...\")"
	},
	"print value": {
		"prefix": "printv",
		"body": "print(\"\\($1)\")\n$0",
		"description": "print(\"\\(...)\")"
	},
	"while": {
		"prefix": "while",
		"body": [
			"while ${1:condition} {",
			"\t$0",
			"}"
		],
		"description": "while statement"
	},
	"repeat-while": {
		"prefix": "repeat",
		"body": [
			"repeat {",
			"\t$0",
			"} while ${1:condition}"
		],
		"description": "repeat-while statement"
	},
	"for": {
		"prefix": "for",
		"body": [
			"for ${1:item} in ${2:collection} {",
			"\t$0",
			"}"
		],
		"description": "for-in statement"
	},
	"if": {
		"prefix": "if",
		"body": [
			"if ${1:condition} {",
			"\t$0",
			"}"
		],
		"description": "if statement"
	},
	"else if": {
		"prefix": "elif",
		"body": [
			"else if ${1:condition} {",
			"\t$0",
			"}"
		],
		"description": "else clause with a nested if statement"
	},
	"else": {
		"prefix": "else",
		"body": [
			"else {",
			"\t$0",
			"}"
		],
		"description": "else clause"
	},
	"if let": {
		"prefix": "iflet",
		"body": [
			"if let ${1:value} = ${2:optional} {",
			"\t$0",
			"}"
		],
		"description": "if statement with optional binding"
	},
	"guard": {
		"prefix": "guard",
		"body": [
			"guard ${1:condition} else {",
			"\t$0",
			"}"
		],
		"description": "guard statement"
	},
	"guard let": {
		"prefix": "guardlet",
		"body": [
			"guard let ${1:value} = ${2:optional} else {",
			"\t$0",
			"}"
		],
		"description": "guard statement with optional binding"
	},
	"switch": {
		"prefix": "switch",
		"body": [
			"switch ${1:value} {",
			"case ${2:pattern}:",
			"\t$0",
			"default:",
			"\t",
			"}"
		],
		"description": "switch statement"
	},
	"do": {
		"prefix": "do",
		"body": [
			"do {",
			"\t$0",
			"} catch ${1:error} {",
			"\t$2",
			"}"
		],
		"description": "do statement"
	},
	"func": {
		"prefix": "func",
		"body": [
			"func ${1:name}(${2:parameters}) -> ${3:Type} {",
			"\t$0",
			"}"
		],
		"description": "function declaration"
	},
	"struct": {
		"prefix": "struct",
		"body": [
			"struct ${1:Name} {",
			"",
			"\t$0",
			"}"
		],
		"description": "struct declaration"
	},
	"enum": {
		"prefix": "enum",
		"body": [
			"enum ${1:Name} {",
			"",
			"\tcase $0",
			"}"
		],
		"description": "enum declaration"
	},
	"class": {
		"prefix": "class",
		"body": [
			"class ${1:Name} {",
			"",
			"\t$0",
			"}"
		],
		"description": "class declaration"
	},
	"protocol": {
		"prefix": "protocol",
		"body": [
			"protocol ${1:Name} {",
			"",
			"\t$0",
			"}"
		],
		"description": "protocol declaration"
	},
	"extension": {
		"prefix": "extension",
		"body": [
			"extension ${1:Type} {",
			"",
			"\t$0",
			"}"
		],
		"description": "extension declaration"
	}
}
