Hans, the attached patch comes from code that Christoph Reller kindly provided me with to fix comments in TeX, MP and Lua (https://bitbucket.org/philexander/context-highlight/issues/2/highlight-for-tex).
* It formats the whole comment (both character and text [not only the
former]) for TeX and MP.
* It does the same for one-line comments in Lua.
* It fixes multiline comments in Lua.
* It fixes a minor typo.
The following code is compiled in the PDF attachment that shows the
difference before and after the patch:
\starttext
\startTEX
% comment for the whole line
\stopTEX
\startMP
a % comment for the rest of the line
\stopMP
\startLUA
--[[
multiline
comment
--]]
---[[
multiline
but not comment
---]]
\stopLUA
\stoptext
Could you consider merging in ConTeXt?
Many thanks for your help,
Pablo
--
http://www.ousia.tk
--- mkiv/buff-imp-lua.lua 2017-12-20 10:56:19.000000000 +0100
+++ buff-imp-lua.lua 2018-01-02 22:38:47.585994426 +0100
@@ -9,7 +9,7 @@
-- borrowed from ctx scite lexers
-- add goto/label scanning
--
--- depricated:
+-- deprecated:
--
-- gcinfo unpack getfenv setfenv loadlib
-- table.maxn table.getn table.setn
@@ -135,7 +135,10 @@
name_c = visualizename_c,
}
-local comment = P("--")
+local comment = P("--") * (patterns.anything - patterns.newline)^0
+local commentopen = P("--[[")
+local commentclose = P("--]]")
+local commentinterior = patterns.utf8char - commentclose - patterns.newline
local name = (patterns.letter + patterns.underscore)
* (patterns.letter + patterns.underscore + patterns.digit)^0
local boundary = S('()[]{}')
@@ -168,8 +171,12 @@
longstring =
longstring / long,
comment =
- makepattern(handler,"comment",comment)
- * (V("space") + V("content"))^0,
+ makepattern(handler, "comment", commentopen)
+ * ( makepattern(handler, "comment", commentinterior)
+ + V("whitespace")
+ )^0
+ * makepattern(handler, "comment", commentclose)
+ + makepattern(handler,"comment",comment),
longcomment =
makepattern(handler,"comment",comment)
* longstring / long,
--- mkiv/buff-imp-tex.lua 2017-12-20 10:56:19.000000000 +0100
+++ buff-imp-tex.lua 2018-01-02 22:29:47.602776293 +0100
@@ -40,7 +40,7 @@
-- todo: unicode letters in control sequences (slow as we need to test the nature)
-local comment = S("%")
+local comment = P("%") * (patterns.anything - patterns.newline)^0
local name = P("\\") * (patterns.letter + S("@!?_"))^1
local escape = P("\\") * (patterns.anything - patterns.newline)^-1 -- else we get \n
local group = S("${}")
--- buff-imp-mp.lua 2018-01-31 18:51:13.790990927 +0100
+++ mkiv/buff-imp-mp.lua 2018-01-31 18:51:17.805959417 +0100
@@ -85,7 +85,7 @@
name = visualizename,
}
-local comment = S("%")
+local comment = P("%") * (patterns.anything - patterns.newline)^0
local name = (patterns.letter + S("_"))^1
local constructor = S("$@#")
local boundary = S('()[]:=<>;"')
unpatched-patched.pdf
Description: Adobe PDF document
_______________________________________________ dev-context mailing list [email protected] https://mailman.ntg.nl/mailman/listinfo/dev-context
