--- 
name: Smarty
fileTypes: []

scopeName: source.smarty
uuid: 4D6BBA54-E3FC-4296-9CA1-662B2AD537C6
foldingStartMarker: (<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\b.*?>|\{\{?(if|foreach|capture|literal|foreach|php|section|strip)|\{\s*$)
patterns: 
- name: comment.block.smarty
  captures: 
    "0": 
      name: punctuation.definition.comment.smarty
  begin: (?<=\{)\*
  end: \*(?=\})
- name: keyword.control.smarty
  match: \b(if|else|elseif|foreach|foreachelse|section)\b
- name: support.function.built-in.smarty
  match: \b(capture|config_load|counter|cycle|debug|eval|fetch|include_php|include|insert|literal|math|strip|rdelim|ldelim|assign|html_[a-z_]*)\b
- name: keyword.operator.smarty
  match: \b(and|or)\b
- name: keyword.operator.other.smarty
  match: \b(eq|neq|gt|lt|gte|lte|is|not|even|odd|not|mod|div|by)\b
- name: support.function.variable-modifier.smarty
  match: \|(capitalize|cat|count_characters|count_paragraphs|count_sentences|count_words|date_format|default|escape|indent|lower|nl2br|regex_replace|replace|spacify|string_format|strip_tags|strip|truncate|upper|wordwrap)
- name: meta.attribute.smarty
  match: \b[a-zA-Z]+=
- name: string.quoted.single.smarty
  endCaptures: 
    "0": 
      name: punctuation.definition.string.end.smarty
  begin: "'"
  beginCaptures: 
    "0": 
      name: punctuation.definition.string.begin.smarty
  end: "'"
  patterns: 
  - name: constant.character.escape.smarty
    match: \\.
- name: string.quoted.double.smarty
  endCaptures: 
    "0": 
      name: punctuation.definition.string.end.smarty
  begin: "\""
  beginCaptures: 
    "0": 
      name: punctuation.definition.string.begin.smarty
  end: "\""
  patterns: 
  - name: constant.character.escape.smarty
    match: \\.
- name: variable.other.global.smarty
  captures: 
    "1": 
      name: punctuation.definition.variable.smarty
  match: \b(\$)Smarty\.
- name: variable.other.smarty
  captures: 
    "1": 
      name: punctuation.definition.variable.smarty
  match: (\$)[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*?\b
- name: constant.language.smarty
  match: \b(TRUE|FALSE|true|false)\b
foldingStopMarker: (</(?i:(head|table|tr|div|style|script|ul|ol|form|dl))>|\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)|(^|\s)\})
