Moved matches_pattern from syntax to common

This commit is contained in:
rxi 2020-05-07 10:27:37 +01:00
parent e551052e91
commit 3057786ce2
2 changed files with 15 additions and 13 deletions

View file

@ -102,6 +102,18 @@ function common.path_suggest(text)
end end
function common.matches_pattern(text, pattern, ...)
if type(pattern) == "string" then
return text:find(pattern, ...)
end
for _, p in ipairs(pattern) do
local s, e = common.matches_pattern(text, p, ...)
if s then return s, e end
end
return false
end
function common.draw_text(font, color, text, align, x,y,w,h) function common.draw_text(font, color, text, align, x,y,w,h)
local tw, th = font:get_width(text), font:get_height(text) local tw, th = font:get_width(text), font:get_height(text)
if align == "center" then if align == "center" then

View file

@ -1,21 +1,11 @@
local syntax = {} local common = require "core.common"
local syntax = {}
syntax.items = {} syntax.items = {}
local plain_text_syntax = { patterns = {}, symbols = {} } local plain_text_syntax = { patterns = {}, symbols = {} }
local function matches_pattern(text, pattern)
if type(pattern) == "string" then
return text:find(pattern)
end
for _, p in ipairs(pattern) do
if matches_pattern(text, p) then return true end
end
return false
end
function syntax.add(t) function syntax.add(t)
table.insert(syntax.items, t) table.insert(syntax.items, t)
end end
@ -24,7 +14,7 @@ end
function syntax.get(filename) function syntax.get(filename)
for i = #syntax.items, 1, -1 do for i = #syntax.items, 1, -1 do
local t = syntax.items[i] local t = syntax.items[i]
if matches_pattern(filename, t.files) then if common.matches_pattern(filename, t.files) then
return t return t
end end
end end