{
  "augroup": {
    "body": [
      "augroup ${1:augroup_name}",
      "\tautocmd!",
      "\tautocmd ${0:event}",
      "augroup END"
    ],
    "description": "augroup",
    "prefix": "augroup",
    "scope": "vim"
  },
  "autocmd": {
    "body": [
      "\tautocmd ${0:event}"
    ],
    "description": "autocmd",
    "prefix": "autocmd",
    "scope": "vim"
  },
  "command": {
    "body": [
      "command! ${1:cmd_name} call ${0:func_name}"
    ],
    "description": "Make command",
    "prefix": "cmd",
    "scope": "vim"
  },
  "echomsg": {
    "body": [
      "echomsg '${0:target}'"
    ],
    "description": "leave in log",
    "prefix": "log",
    "scope": "vim"
  },
  "for": {
    "body": [
      "for ${2:var} in ${1:list}",
      "\t${0:target}",
      "endfor"
    ],
    "description": "for in endfor",
    "prefix": "for",
    "scope": "vim"
  },
  "function": {
    "body": [
      "function! ${1:func_name}(${2:arg}) abort",
      "\t${0:target}",
      "endfunction"
    ],
    "description": "function endfunctioin",
    "prefix": "func",
    "scope": "vim"
  },
  "if": {
    "body": [
      "if ${1:condition}",
      "\t${0:target}",
      "endif"
    ],
    "description": "if ~ endif",
    "prefix": "if",
    "scope": "vim"
  },
  "if else": {
    "body": [
      "if ${1:condition}",
      "\t${2:target}",
      "else",
      "\t${0:target}",
      "endif"
    ],
    "description": "if ~ else ~ endif",
    "prefix": "if else",
    "scope": "vim"
  },
  "if elseif": {
    "body": [
      "if ${1:condition}",
      "\t${2:target}",
      "elseif ${3:condition}",
      "\t${4:target}",
      "else",
      "\t${0:target}",
      "endif"
    ],
    "description": "if ~ elseif ~ else ~ endif",
    "prefix": "if elseif",
    "scope": "vim"
  },
  "lua": {
    "body": [
      "lua <<EOF",
      "${0:lua_lang}",
      "EOF"
    ],
    "description": "lua inline code",
    "prefix": "lua",
    "scope": "vim"
  },
  "try": {
    "body": [
      "try",
      "\t${1:target}",
      "catch /${2:pattern}/",
      "\t${0:handling}",
      "endtry"
    ],
    "description": "try catch endtry",
    "prefix": "try",
    "scope": "vim"
  },
  "tryfinally": {
    "body": [
      "try",
      "\t${1:target}",
      "finally",
      "\t${0:handling}",
      "endtry"
    ],
    "description": "try finally endtry",
    "prefix": "tryf",
    "scope": "vim"
  },
  "while": {
    "body": [
      "while ${1:condition}",
      "\t${0:target}",
      "endwhile"
    ],
    "description": "while ~ endwhile",
    "prefix": "while",
    "scope": "vim"
  }
}