diff options
Diffstat (limited to 'Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-pdf-xref.lua')
-rw-r--r-- | Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-pdf-xref.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-pdf-xref.lua b/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-pdf-xref.lua new file mode 100644 index 00000000000..f205e913053 --- /dev/null +++ b/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-pdf-xref.lua @@ -0,0 +1,51 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for pdf xref", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local lexer = lexer +local token = lexer.token +local P, R = lpeg.P, lpeg.R + +-- xref +-- cardinal cardinal [character] +-- .. +-- %%EOF | startxref | trailer + +local pdfxreflexer = { _NAME = "pdf-xref", _FILENAME = "scite-context-lexer-pdf-xref" } +local whitespace = lexer.WHITESPACE -- triggers states +local context = lexer.context +local patterns = context.patterns + +local pdfobjectlexer = lexer.load("scite-context-lexer-pdf-object") + +local spacing = patterns.spacing + +local t_spacing = token(whitespace, spacing) + +local p_trailer = P("trailer") + +local t_number = token("number", R("09")^1) + * t_spacing + * token("number", R("09")^1) + * t_spacing + * (token("keyword", R("az","AZ")) * t_spacing)^-1 + +local t_xref = t_number^1 + +-- local t_xref = token("default", (1-p_trailer)^1) +-- * token("keyword", p_trailer) +-- * t_spacing +-- * pdfobjectlexer._shared.dictionary + +pdfxreflexer._rules = { + { 'whitespace', t_spacing }, + { 'xref', t_xref }, +} + +pdfxreflexer._tokenstyles = context.styleset + +return pdfxreflexer |