Diff options
Diffstat (limited to '')
| -rw-r--r-- | tests/extensions/fake-lexers/lexer.lua | 13 |
1 file changed, 8 insertions, 5 deletions
diff --git a/tests/extensions/fake-lexers/lexer.lua b/tests/extensions/fake-lexers/lexer.lua index dd7545f..bb869de 100644 --- a/tests/extensions/fake-lexers/lexer.lua +++ b/tests/extensions/fake-lexers/lexer.lua @@ -1,9 +1,10 @@ -- A miniature stand-in for the Scintillua lexer module, just enough for the -- syntax-highlight checks to drive every path through the filter without the --- real collection installed. detect() names a lexer after the filename's --- suffix, or fake for a shebang naming it, and load() hands out the toy lexer --- of that name. Besides fake there is one that stops short and one that --- raises, and any other name fails to load. +-- real collection installed. detect() answers for the suffixes it knows, +-- matched by case as Scintillua's own does, or fake for a shebang naming it, +-- and load() hands out the toy lexer of that name. Besides fake there is one +-- that stops short and one that raises, and python, which detect() knows but +-- load() cannot find, as a collection missing a lexer would answer. local M = {} @@ -67,11 +68,13 @@ function M.load(name) return lexer end +local suffixes = { fake = "fake", short = "short", badlex = "badlex", py = "python" } + function M.detect(filename, line) if line ~= nil and line:match("^#!.*fake") then return "fake" end - return filename:match("%.([^.]+)$") + return suffixes[filename:match("%.([^.]+)$") or ""] end return M |
