summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua')
-rw-r--r--Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua b/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua
new file mode 100644
index 00000000000..fd1aae7f70c
--- /dev/null
+++ b/Master/texmf-dist/context/data/scite/lexers/scite-context-lexer-xml-script.lua
@@ -0,0 +1,30 @@
+local info = {
+ version = 1.002,
+ comment = "scintilla lpeg lexer for xml cdata",
+ 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 = lpeg.P
+
+local xmlscriptlexer = { _NAME = "xml-script", _FILENAME = "scite-context-lexer-xml-script" }
+local whitespace = lexer.WHITESPACE -- triggers states
+local context = lexer.context
+
+local space = lexer.space
+local nospace = 1 - space - (P("</") * P("script") + P("SCRIPT")) * P(">")
+
+local p_spaces = token(whitespace, space ^1)
+local p_cdata = token("default", nospace^1)
+
+xmlscriptlexer._rules = {
+ { "whitespace", p_spaces },
+ { "script", p_cdata },
+}
+
+xmlscriptlexer._tokenstyles = context.styleset
+
+return xmlscriptlexer