--- 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