--- 
name: Haml
fileTypes: 
- haml
- sass
scopeName: text.haml
repository: 
  continuation: 
    captures: 
      "1": 
        name: punctuation.separator.continuation.haml
    match: (\|)\s*\n
  rubyline: 
    name: meta.line.ruby.haml
    endCaptures: 
      "1": 
        name: source.ruby.embedded.html
      "2": 
        name: keyword.control.ruby.start-block
    begin: =|-|~
    contentName: source.ruby.embedded.haml
    end: ((do|\{)( \|[^|]+\|)?)$|$|^(?!.*\|\s*$)
    patterns: 
    - name: comment.line.number-sign.ruby
      match: "#.*$"
      comment: Hack to let ruby comments work in this context properly
    - include: source.ruby.rails
    - include: "#continuation"
uuid: 3D727049-DD05-45DF-92A5-D50EA36FD035
foldingStartMarker: ^\s*([-%#\:\.\w\=].*)\s$
patterns: 
- name: meta.prolog.haml
  captures: 
    "1": 
      name: punctuation.definition.prolog.haml
  match: ^(!!!)($|\s.*)
- name: comment.line.slash.haml
  captures: 
    "1": 
      name: punctuation.section.comment.haml
  match: ^ *(/)\s*\S.*$\n?
- name: comment.block.haml
  begin: ^( *)(/)\s*$
  beginCaptures: 
    "2": 
      name: punctuation.section.comment.haml
  end: ^(?!\1  )
  patterns: 
  - include: text.haml
- captures: 
    "1": 
      name: meta.tag.haml
    "2": 
      name: punctuation.definition.tag.haml
    "3": 
      name: entity.name.tag.haml
  begin: ^\s*(?:((%)([\w:]+))|(?=\.|#))
  end: $|(?!\.|#|\{|\[|=|-|~|/)
  patterns: 
  - name: entity.name.tag.class.haml
    match: \.[\w-]+
  - name: entity.name.tag.id.haml
    match: "#[\\w-]+"
  - name: meta.section.attributes.haml
    begin: \{(?=.*\}|.*\|\s*$)
    end: \}|$|^(?!.*\|\s*$)
    patterns: 
    - include: source.ruby.rails
    - include: "#continuation"
  - name: meta.section.object.haml
    begin: \[(?=.*\]|.*\|\s*$)
    end: \]|$|^(?!.*\|\s*$)
    patterns: 
    - include: source.ruby.rails
    - include: "#continuation"
  - include: "#rubyline"
  - name: punctuation.terminator.tag.haml
    match: /
- captures: 
    "1": 
      name: meta.escape.haml
  match: ^\s*(\\.)
- begin: ^\s*(?==|-|~)
  end: $
  patterns: 
  - include: "#rubyline"
foldingStopMarker: ^\s*$
keyEquivalent: ^~H
