local syntax = require "core.syntax" syntax.add { files = { "%.rs$" }, comment = "//", patterns = { { pattern = "//.-\n", type = "comment" }, { pattern = { "/%*", "%*/" }, type = "comment" }, { 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_]*", 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", }, }