aboutsummaryrefslogtreecommitdiff
path: root/plugins/language_tex.lua
blob: f8e69e29d3e9627b7e4872954821a22c278d7b0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- mod-version:3
local syntax = require "core.syntax"

syntax.add {
  name = "TeX",
  files = { "%.tex$", "%.dtx$", "%.sty$", "%.ins$", "%.cls$" },
  comment = "%%",
  patterns = {
    { pattern = "%%.-\n",                  type = "comment"  },
    { pattern = "\\documentclass().-{()%a%w+()}",  type = {"keyword", "symbol", "function", "symbol"} },
    { pattern = "\\usepackage",            type = "keyword"  },
    { pattern = "\\chapter",               type = "keyword"  },
    { pattern = "\\section",               type = "keyword"  },
    { pattern = "\\subsection",            type = "keyword"  },
    { pattern = "\\paragraph",             type = "keyword"  },
    { pattern = "\\subparagraph",          type = "keyword"  },
    { pattern = "\\begin(){()%a%w+()}",    type = {"keyword2", "symbol", "function", "symbol"} },
    { pattern = "\\end(){()%a%w+()}",      type = {"keyword2", "symbol", "function", "symbol"} },
    { pattern = "\\%a%w+()%*",             type = {"keyword2", "operator"} },
    { pattern = "\\%a%w+",                 type = "keyword2"  },
    { pattern = "&",                       type = "operator"  },
    { pattern = "\\\\",                    type = "operator"  },
    { pattern = "%$",                      type = "operator"   },
    { pattern = "\\[%[%]()]",              type = "operator"   },
  },
  symbols = {}
}