extends html # Freemarker version snippet ver "${.version}" \${.version} # Interpolation snippet int "${interpolation}" \${${0:interpolation${VISUAL}}\} # Interpolation with default string snippet intd "${interpolation!"default_string"}" \${${0:interpolation${VISUAL}}!"${1:default_string}"\} # Comment snippet com "<#-- comment -->" <#-- ${0:comment${VISUAL}} --> # Variable assignment on a single line snippet ass "<#assign variable_name = value />" <#assign ${1:variable_name} = ${0:value${VISUAL}} /> # Variable assignments on multiple lines snippet assm "<#assign <#-- multiple lines --> />" <#assign ${1:variable_name} = ${0:value${VISUAL}} /> # Local variable assignment on a single snippet loc "<#local variable_name = value />" <#local ${1:variable_name} = ${0:value${VISUAL}} /> # Local variable assignments on multiple lines snippet locm "<#local <#-- multiple lines --> />" <#local ${1:variable_name} = ${0:value${VISUAL}} /> # Include Freemarker file snippet inc "<#include \"file.ftl\" />" <#include "${0:file.ftl${VISUAL}}" /> # If statement snippet if "<#if condition>..." <#if ${1:true}> ${0:${VISUAL}} # If/else statement snippet ife "<#if condition>...<#else>..." <#if ${1:true}> ${0:${VISUAL}} <#else> ${2} # Iteration over a sequence snippet lis "<#list sequence as element>..." <#list ${1:sequence} as ${2:element}> ${0:${VISUAL}} # Iteration over an hashmap snippet lish "<#list hashmap?keys as element>..." <#list ${1:hashmap}?keys as ${2:key}> \${$2\}: \${$1[$2]\}${0:${VISUAL}} # Macro statement snippet mac "<#macro macro_name param1>..." <#macro ${1:macro_name} ${2:param1}> ${0:${VISUAL}} # Function statement snippet fun "<#function function_name param1>..." <#function ${1:function_name} ${2:param1}> ${0:${VISUAL}} # Attempt statement (try-catch to prevent runtime exceptions) snippet att "<#attempt>...<#recover>" <#attempt> ${0:${VISUAL}} <#recover> # Then built-in for booleans snippet ?th "?then(true, false)" ?then(${1:true}, ${0:false${VISUAL}})