{
  "EFTL Block": {
    "prefix": "eftl",
    "body": [
      "[EFTL][HEADER name=\"trimDocument\" value=\"true\" type=\"boolean\" /]",
      "$0",
      "[/EFTL]"
    ],
    "description": "Create an EFTL block with header"
  },
  "Variable Declaration": {
    "prefix": "var",
    "body": [
      "[VAR name=\"${1:varName}\" type=\"${2|string,number,boolean,date,object,iterable|}\"][% ${1:varName} = ${3:value}; %][/VAR]"
    ],
    "description": "Declare a variable"
  },
  "Variable with Unique": {
    "prefix": "varunique",
    "body": [
      "[VAR name=\"${1:varName}\" type=\"${2|string,number,boolean,date,object,iterable|}\" unique=\"${3|true,false|}\"][% ${1:varName} = ${4:value}; %][/VAR]"
    ],
    "description": "Declare a unique variable"
  },
  "Variable from TAG": {
    "prefix": "vartag",
    "body": [
      "[VAR name=\"${1:varName}\" type=\"${2|string,number,boolean,date,object,iterable|}\"][TAG]GETVALUEBYTAG,${3:TAG_NAME},REQUEST,IUQOID[/TAG][/VAR]"
    ],
    "description": "Declare a variable from a TAG"
  },
  "Variable from SCHEMAID": {
    "prefix": "varschema",
    "body": [
      "[VAR name=\"${1:varName}\" type=\"${2|string,number,boolean,date,object,iterable|}\"][TAG]SCHEMAID,${3:schemaId},${4:COL0001},IUQOID, , [/TAG][/VAR]"
    ],
    "description": "Declare a variable from a SCHEMAID"
  },
  "If Statement": {
    "prefix": "if",
    "body": [
      "[IF]",
      "    [CONDITION][% ${1:condition} %][/CONDITION]",
      "    [THEN]${2:// then block}[/THEN]",
      "[/IF]"
    ],
    "description": "Create an IF statement"
  },
  "If-Else Statement": {
    "prefix": "ifelse",
    "body": [
      "[IF]",
      "    [CONDITION][% ${1:condition} %][/CONDITION]",
      "    [THEN]${2:// then block}[/THEN]",
      "    [ELSE]${3:// else block}[/ELSE]",
      "[/IF]"
    ],
    "description": "Create an IF-ELSE statement"
  },
  "Else If": {
    "prefix": "elseif",
    "body": [
      "[ELSE IF]",
      "    [CONDITION][% ${1:condition} %][/CONDITION]",
      "[THEN]${2:// then block}[/THEN]",
      "[/ELSE IF]"
    ],
    "description": "Add an ELSE IF clause"
  },
  "While Loop": {
    "prefix": "while",
    "body": [
      "[WHILE]",
      "    [CONDITION][% ${1:condition} %][/CONDITION]",
      "    [DO]",
      "        $0",
      "    [/DO]",
      "[/WHILE]"
    ],
    "description": "Create a WHILE loop"
  },
  "Split": {
    "prefix": "split",
    "body": [
      "[SPLIT regex=\"${1:\\\\n}\"]${2:content}[/SPLIT]"
    ],
    "description": "Split a string by regex"
  },
  "Trim": {
    "prefix": "trim",
    "body": [
      "[TRIM]${1:content}[/TRIM]"
    ],
    "description": "Trim whitespace"
  },
  "Value Of": {
    "prefix": "valueof",
    "body": [
      "[VALUE_OF varname=\"${1:varName}\" index=\"${2:0}\" /]"
    ],
    "description": "Get value from iterable at index"
  },
  "Size Of": {
    "prefix": "sizeof",
    "body": [
      "[SIZE_OF varname=\"${1:varName}\" /]"
    ],
    "description": "Get size of iterable"
  },
  "Contains": {
    "prefix": "contains",
    "body": [
      "[CONTAINS varname=\"${1:varName}\"][VALUE_OF varname=\"${2:searchVar}\" /][/CONTAINS]"
    ],
    "description": "Check if variable contains value"
  },
  "Format Number": {
    "prefix": "formatnum",
    "body": [
      "[FORMAT type=\"number\" pattern=\"${1:#,##0.00}\"][% ${2:varName} %][/FORMAT]"
    ],
    "description": "Format a number"
  },
  "TAG GETVALUEBYTAG": {
    "prefix": "tag",
    "body": [
      "[TAG]GETVALUEBYTAG,${1:TAG_NAME},REQUEST,IUQOID[/TAG]"
    ],
    "description": "Get value by tag name"
  },
  "TAG SCHEMAID": {
    "prefix": "schema",
    "body": [
      "[TAG]SCHEMAID,${1:schemaId},${2:COL0001},IUQOID, , [/TAG]"
    ],
    "description": "Get value from schema field"
  },
  "Output Expression": {
    "prefix": "out",
    "body": [
      "[%= ${1:varName} %]"
    ],
    "description": "Output a variable value"
  },
  "Comment": {
    "prefix": "comment",
    "body": [
      "[!-- ${1:comment} --]"
    ],
    "description": "Insert a comment"
  }
}
