--- 
name: TSV
fileTypes: 
- tsv
scopeName: text.tabular.tsv
repository: 
  row: 
    name: meta.tabular.row.tsv
    begin: ^(?!$)
    end: $
    patterns: 
    - include: "#field"
  field: 
    patterns: 
    - endCaptures: 
        "1": 
          name: punctuation.separator.tabular.field.tsv
      begin: (:^|(?<=\t))(?!$|\t)
      contentName: meta.tabular.field.tsv
      end: $|(\t)
    - name: punctuation.separator.tabular.field.tsv
      match: \t
  header: 
    name: meta.tabular.row.header.tsv
    begin: ^(?!$)
    end: $
    patterns: 
    - include: "#field"
  table: 
    name: meta.tabular.table.tsv
    begin: ^
    end: ^$not possible$^
    patterns: 
    - include: "#header"
    - begin: (\n)
      beginCaptures: 
        "1": 
          name: punctuation.separator.table.row.tsv
      end: ^$not possible$^
      patterns: 
      - include: "#row"
      - name: punctuation.separator.table.row.tsv
        match: \n
      comment: "\n\
        \t\t\t\t\t\teverything after the first row is not a header\n\
        \t\t\t\t\t"
uuid: 7D87F38B-A972-4F61-B9C0-7D6D15EEED38
patterns: 
- include: "#table"
keyEquivalent: ^~T
