Moved matches_pattern
from syntax
to common
This commit is contained in:
parent
e551052e91
commit
3057786ce2
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue