[[
   "start",
  ["keyword.function","<#ftl"],
  ["text"," "],
  ["entity.other.attribute-name","encoding"],
  ["keyword.operator","="],
  ["string","\"utf-8\""],
  ["text"," "],
  ["keyword","/>"]
],[
   "start",
  ["keyword.function","<#setting"],
  ["text"," "],
  ["entity.other.attribute-name","locale"],
  ["keyword.operator","="],
  ["string","\"en_US\""],
  ["text"," "],
  ["keyword","/>"]
],[
   "start",
  ["keyword.function","<#import"],
  ["text"," "],
  ["string","\"library\""],
  ["text"," "],
  ["keyword.operator","as"],
  ["text"," "],
  ["variable","lib"],
  ["text"," "],
  ["keyword","/>"]
],[
   "ftl-dcomment",
  ["comment","<#--"]
],[
   "ftl-dcomment",
  ["comment","    FreeMarker comment"]
],[
   "ftl-dcomment",
  ["comment","    ${abc} <#assign a=12 />"]
],[
   "start",
  ["comment","-->"]
],[
   "start"
],[
   "start",
  ["punctuation.doctype.begin","<!"],
  ["meta.tag.doctype","DOCTYPE"],
  ["text"," "],
  ["xml-pe","html"],
  ["punctuation.doctype.end",">"]
],[
   "start",
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","html"],
  ["text"," "],
  ["entity.other.attribute-name","lang"],
  ["keyword.operator.separator","="],
  ["string","\"en-us\""],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","    "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","head"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","meta"],
  ["text"," "],
  ["entity.other.attribute-name","charset"],
  ["keyword.operator.separator","="],
  ["string","\"utf-8\""],
  ["text"," "],
  ["meta.tag.punctuation.end","/>"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","title"],
  ["meta.tag.punctuation.end",">"],
  ["string.interpolated","${"],
  ["variable","title"],
  ["keyword.operator","!"],
  ["string","\"FreeMarker\""],
  ["string.interpolated","}"],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","title"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","    "],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","head"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","    "]
],[
   "start",
  ["text","    "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","body"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","    "]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","h1"],
  ["meta.tag.punctuation.end",">"],
  ["text","Hello "],
  ["string.interpolated","${"],
  ["variable","name"],
  ["keyword.operator","!"],
  ["string","\"\""],
  ["string.interpolated","}"],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","h1"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","p"],
  ["meta.tag.punctuation.end",">"],
  ["text","Today is: "],
  ["string.interpolated","${"],
  ["language.variable",".now"],
  ["support.function","?date"],
  ["string.interpolated","}"],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","p"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["keyword.function","<#assign"],
  ["text"," "],
  ["variable","x"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["constant.numeric","13"],
  ["keyword",">"]
],[
   "start",
  ["text","        "],
  ["keyword.function","<#if"],
  ["text"," "],
  ["variable","x"],
  ["text"," "],
  ["constant.character.entity","&gt;"],
  ["text"," "],
  ["constant.numeric","12"],
  ["text"," "],
  ["keyword.operator","&&"],
  ["text"," "],
  ["variable","x"],
  ["text"," "],
  ["keyword.operator","lt"],
  ["text"," "],
  ["constant.numeric","14"],
  ["keyword",">"],
  ["text","x equals 13: "],
  ["string.interpolated","${"],
  ["variable","x"],
  ["string.interpolated","}"],
  ["keyword.function","</#if"],
  ["keyword",">"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","ul"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","            "],
  ["keyword.function","<#list"],
  ["text"," "],
  ["variable","items"],
  ["text"," "],
  ["keyword.operator","as"],
  ["text"," "],
  ["variable","item"],
  ["keyword",">"]
],[
   "start",
  ["text","                "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name","li"],
  ["meta.tag.punctuation.end",">"],
  ["string.interpolated","${"],
  ["variable","item_index"],
  ["string.interpolated","}"],
  ["text",": "],
  ["string.interpolated","${"],
  ["variable","item.name"],
  ["keyword.operator","!"],
  ["support.function","?split"],
  ["paren.lparen","("],
  ["string","\""],
  ["constant.character.escape","\\n"],
  ["string","\""],
  ["paren.rparen",")"],
  ["paren.lparen","["],
  ["constant.numeric","0"],
  ["paren.rparen","]"],
  ["string.interpolated","}"],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","li"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","            "],
  ["keyword.function","</#list"],
  ["keyword",">"]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","ul"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        User directive: "],
  ["keyword.other","<@lib.function"],
  ["text"," "],
  ["variable","attr1"],
  ["keyword.operator","="],
  ["constant.language","true"],
  ["text"," "],
  ["variable","attr2"],
  ["keyword.operator","="],
  ["string","'value'"],
  ["text"," "],
  ["variable","attr3"],
  ["keyword.operator","="],
  ["constant.numeric","-42.12"],
  ["keyword",">"],
  ["text","Test"],
  ["keyword.other","</@lib.function"],
  ["keyword",">"]
],[
   "start",
  ["text","        "],
  ["keyword.other","<@anotherOne"],
  ["text"," "],
  ["keyword","/>"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["keyword.function","<#if"],
  ["text"," "],
  ["variable","variable"],
  ["support.function.deprecated","?exists"],
  ["keyword",">"]
],[
   "start",
  ["text","            Deprecated"]
],[
   "start",
  ["text","        "],
  ["keyword.function","<#elseif"],
  ["text"," "],
  ["variable","variable"],
  ["support.function","??"],
  ["keyword",">"]
],[
   "start",
  ["text","            Better"]
],[
   "start",
  ["text","        "],
  ["keyword.function","<#else"],
  ["keyword",">"]
],[
   "start",
  ["text","            Default"]
],[
   "start",
  ["text","        "],
  ["keyword.function","</#if"],
  ["keyword",">"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","        "],
  ["meta.tag.punctuation.begin","<"],
  ["meta.tag.name.image","img"],
  ["text"," "],
  ["entity.other.attribute-name","src"],
  ["keyword.operator.separator","="],
  ["string","\"images/"],
  ["string.interpolated","${"],
  ["variable","user.id"],
  ["string.interpolated","}"],
  ["string",".png\""],
  ["text"," "],
  ["meta.tag.punctuation.end","/>"]
],[
   "start",
  ["text","        "]
],[
   "start",
  ["text","    "],
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","body"],
  ["meta.tag.punctuation.end",">"]
],[
   "start",
  ["meta.tag.punctuation.begin","</"],
  ["meta.tag.name","html"],
  ["meta.tag.punctuation.end",">"]
],[
   "start"
]]