aboutsummaryrefslogtreecommitdiff
path: root/lua/colorizer/matcher_utils.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/colorizer/matcher_utils.lua')
-rw-r--r--lua/colorizer/matcher_utils.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/lua/colorizer/matcher_utils.lua b/lua/colorizer/matcher_utils.lua
index 84ddece..11e56f6 100644
--- a/lua/colorizer/matcher_utils.lua
+++ b/lua/colorizer/matcher_utils.lua
@@ -34,12 +34,14 @@ local function compile_matcher(matchers, matchers_trie)
local prefix = trie:longest_prefix(line, i)
if prefix then
local fn = "_" .. prefix
- return parser[fn](line, i, matchers[fn])
+ if parser[fn] then
+ return parser[fn](line, i, matchers[fn])
+ end
end
-- Colour names
if matchers.color_name_parser then
- return color_name_parser(line, i)
+ return color_name_parser(line, i, matchers.color_name_parser)
end
end
return parse_fn
@@ -53,6 +55,7 @@ local MATCHER_CACHE = {}
---@return function|boolean: function which will just parse the line for enabled parsers
local function make_matcher(options)
local enable_names = options.css or options.names
+ local enable_tailwind = options.tailwind
local enable_RGB = options.css or options.RGB
local enable_RRGGBB = options.css or options.RRGGBB
local enable_RRGGBBAA = options.css or options.RRGGBBAA
@@ -68,6 +71,9 @@ local function make_matcher(options)
+ (enable_AARRGGBB and 1 or 4)
+ (enable_rgb and 1 or 5)
+ (enable_hsl and 1 or 6)
+ + (enable_tailwind == "normal" and 1 or 7)
+ + (enable_tailwind == "lsp" and 1 or 8)
+ + (enable_tailwind == "both" and 1 or 9)
if matcher_key == 0 then
return false
@@ -83,7 +89,7 @@ local function make_matcher(options)
matchers.max_prefix_length = 0
if enable_names then
- matchers.color_name_parser = true
+ matchers.color_name_parser = { tailwind = options.tailwind }
end
local valid_lengths = { [3] = enable_RGB, [6] = enable_RRGGBB, [8] = enable_RRGGBBAA }