scite-context-lexer-xml-script.lua /size: 964 b    last modification: 2020-07-01 14:35
1local info = {
2    version   = 1.002,
3    comment   = "scintilla lpeg lexer for xml script",
4    author    = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5    copyright = "PRAGMA ADE / ConTeXt Development Team",
6    license   = "see context related readme files",
7}
8
9local P = lpeg.P
10
11local lexer          = require("scite-context-lexer")
12local context        = lexer.context
13local patterns       = context.patterns
14
15local token          = lexer.token
16
17local xmlscriptlexer = lexer.new("xml-script","scite-context-lexer-xml-script")
18local whitespace     = xmlscriptlexer.whitespace
19
20local space          = patterns.space
21local nospace        = 1 - space - (P("</") * P("script") + P("SCRIPT")) * P(">")
22
23local t_spaces       = token(whitespace, space  ^1)
24local t_script       = token("default",  nospace^1)
25
26xmlscriptlexer._rules = {
27    { "whitespace", t_spaces },
28    { "script",     t_script },
29}
30
31xmlscriptlexer._tokenstyles = context.styleset
32
33return xmlscriptlexer
34