aboutsummaryrefslogtreecommitdiff
path: root/plugins/language_rust.lua
blob: 40aeb5fcb9e525d3fb9e50f8169fc03f3e76c90e (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
-- mod-version:2 -- lite-xl 2.0
local syntax = require "core.syntax"

syntax.add {
  name = "Rust",
  files = { "%.rs$" },
  comment = "//",
  patterns = {
    { pattern = "//.-\n",               type = "comment"  },
    { pattern = { "/%*", "%*/" },       type = "comment"  },
    { pattern = { 'r#"', '"#', '\\' },  type = "string"   },
    { pattern = { '"', '"', '\\' },     type = "string"   },
    { pattern = { "`", "`", '\\' },     type = "string"   },
    { pattern = "0[oO_][0-7]+",         type = "number"   },
    { pattern = "-?0x[%x_]+",           type = "number"   },
    { pattern = "-?%d+_%d",             type = "number"   },
    { pattern = "-?%d+[%d%.eE]*f?",     type = "number"   },
    { pattern = "-?%.?%d+f?",           type = "number"   },
    { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" },
    { pattern = "[%a_][%w_]*!%f[%[(]",  type = "function" },
    { pattern = "[%a_][%w_]*%f[(]",     type = "function" },
    { pattern = "[%a_][%w_]*",          type = "symbol"   },
  },
  symbols = {
	["as"] = "keyword",
	["async"] = "keyword",
	["await"] = "keyword",
	["break"] = "keyword",
	["const"] = "keyword",
	["continue"] = "keyword",
	["crate"] = "keyword",
	["dyn"] = "keyword",
	["else"] = "keyword",
	["enum"] = "keyword",
	["extern"] = "keyword",
	["false"] = "keyword",
	["fn"] = "keyword",
	["for"] = "keyword",
	["if"] = "keyword",
	["impl"] = "keyword",
	["in"] = "keyword",
	["let"] = "keyword",
	["loop"] = "keyword",
	["match"] = "keyword",
	["mod"] = "keyword",
	["move"] = "keyword",
	["mut"] = "keyword",
	["pub"] = "keyword",
	["ref"] = "keyword",
	["return"] = "keyword",
	["Self"] = "keyword",
	["self"] = "keyword",
	["static"] = "keyword",
	["struct"] = "keyword",
	["super"] = "keyword",
	["trait"] = "keyword",
	["true"] = "keyword",
	["type"] = "keyword",
	["unsafe"] = "keyword",
	["use"] = "keyword",
	["where"] = "keyword",
	["while"] = "keyword",
    ["i32"]        = "keyword2",
    ["i64"]      = "keyword2",
    ["i128"]      = "keyword2",
    ["i16"]      = "keyword2",
    ["i8"]       = "keyword2",
    ["u8"] 	= "keyword2",
    ["u16"]       = "keyword2",
    ["u32"]     = "keyword2",
    ["u64"]     = "keyword2",
    ["usize"]     = "keyword2",
    ["isize"]      = "keyword2",
    ["f32"]    = "keyword2",
    ["f64"]    = "keyword2",
    ["f128"]    = "keyword2",
    ["String"]        = "keyword2",
    ["char"] = "keyword2",
    ["&str"]     = "keyword2",
    ["bool"]       = "keyword2",
    ["true"]       = "literal",
    ["false"]      = "literal",
    ["None"]        = "literal",
	["Some"]    = "literal",
	["Option"]  = "literal",
	["Result"] = "literal",
  },
}