188 lines
8.6 KiB
Plaintext
188 lines
8.6 KiB
Plaintext
% ConTeXt test file for Kate's syntax highlighting and code folding
|
|
|
|
|
|
%% Comments
|
|
% This is a comment
|
|
\% Not a comment
|
|
\\% This is a comment
|
|
|
|
% Titles should be bold
|
|
\subject<beginfold id='1'>{</beginfold id='1'>Subject<endfold id='1'>}</endfold id='1'>
|
|
\subsubject<beginfold id='1'>{</beginfold id='1'>Sub-subject<endfold id='1'>}</endfold id='1'>
|
|
\subsubsubject<beginfold id='1'>{</beginfold id='1'>Sub-sub-subject<endfold id='1'>}</endfold id='1'>
|
|
\subsubsubsubject<beginfold id='1'>{</beginfold id='1'>Sub-sub-sub-subject<endfold id='1'>}</endfold id='1'>
|
|
\subsubsubsubsubject<beginfold id='1'>{</beginfold id='1'>Sub-sub-sub-sub-subject<endfold id='1'>}</endfold id='1'>
|
|
\section<beginfold id='1'>{</beginfold id='1'>Section<endfold id='1'>}</endfold id='1'>
|
|
\subsection<beginfold id='1'>{</beginfold id='1'>Sub-section<endfold id='1'>}</endfold id='1'>
|
|
\subsubsection<beginfold id='1'>{</beginfold id='1'>Sub-sub-section<endfold id='1'>}</endfold id='1'>
|
|
\subsubsubsection<beginfold id='1'>{</beginfold id='1'>Sub-sub-sub-section<endfold id='1'>}</endfold id='1'>
|
|
\subsubsubsubsection<beginfold id='1'>{</beginfold id='1'>Sub-sub-sub-sub-section<endfold id='1'>}</endfold id='1'>
|
|
|
|
%% Start/stop blocks
|
|
<beginfold id='1'>\startsection</beginfold id='1'>
|
|
Can be nested
|
|
<beginfold id='1'>\startitemize</beginfold id='1'>
|
|
\item normal
|
|
<endfold id='1'>\stopitemize</endfold id='1'>
|
|
normal
|
|
<endfold id='1'>\stopsection</endfold id='1'>
|
|
% \startblock \stopblock should be comments
|
|
|
|
|
|
%% Commands
|
|
\def<beginfold id='1'>\startstuff</beginfold id='1'><beginfold id='1'>{</beginfold id='1'>Custom environment start<endfold id='1'>}</endfold id='1'>
|
|
\def<endfold id='1'>\stopstuff</endfold id='1'><beginfold id='1'>{</beginfold id='1'>Custom environment stop<endfold id='1'>}</endfold id='1'>
|
|
<beginfold id='1'>\startstuff</beginfold id='1'> should not be normal command colour (it is an error to miss <endfold id='1'>\stopstuff</endfold id='1'>)
|
|
|
|
\def\sayHello<beginfold id='1'>{</beginfold id='1'>Héllò Wø®łÐ<endfold id='1'>}</endfold id='1'>
|
|
% This prints Héllò Wø®łÐ@@@ , If it were \sayHelloAAA it would be
|
|
% an error, so the @ is not in the macro
|
|
\sayHello@@@
|
|
|
|
\def\testUnderscores<beginfold id='1'>{</beginfold id='1'>Text_With_Underscores<endfold id='1'>}</endfold id='1'>
|
|
% This prints Text_With_Underscores_ note the final underscore and no error
|
|
\testUnderscores_
|
|
|
|
\def\€<beginfold id='1'>{</beginfold id='1'>Macro with sign<endfold id='1'>}</endfold id='1'>
|
|
% This is a single macro
|
|
\€ % This prints Macro with sign
|
|
\€A % This prints Macro with signA (not an error)
|
|
|
|
\setupindenting[yes, big]
|
|
|
|
|
|
%% Inline math
|
|
$equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
% Comment
|
|
$
|
|
normal
|
|
\mathematics{equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
\mathematics{nested math should be green} this should still be green
|
|
% Comment
|
|
}
|
|
normal
|
|
\math{equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
\math{nested math should be green} this should still be green
|
|
% Comment
|
|
}
|
|
normal
|
|
\m{equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
\m{nested math should be green} this should still be green
|
|
% Comment
|
|
}
|
|
normal
|
|
\mathematics the first character should be green <beginfold id='1'>{</beginfold id='1'><endfold id='1'>}</endfold id='1'>
|
|
\math the first character should be green <beginfold id='1'>{</beginfold id='1'><endfold id='1'>}</endfold id='1'>
|
|
\m the first character should be green <beginfold id='1'>{</beginfold id='1'><endfold id='1'>}</endfold id='1'>
|
|
\formula the first character should be green <beginfold id='1'>{</beginfold id='1'><endfold id='1'>}</endfold id='1'>
|
|
normal
|
|
% $should$ \mathematics{still} \math{be} \m{commented}
|
|
|
|
% The underscore after sum should be blue, not macro color
|
|
Math macro with underscores \m { v = \sum_0^1{ \sqrt{2} }! }
|
|
|
|
%% Display math
|
|
$$
|
|
equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
% Comment
|
|
$$
|
|
normal
|
|
<beginfold id='2'>\startformula</beginfold id='2'>
|
|
equations are green, \commands somewhat darker
|
|
it can also run over multiple lines
|
|
% Comment
|
|
|
|
Nested formulae should not work
|
|
The following should be red:
|
|
\startformula
|
|
Should still be math colour
|
|
<endfold id='2'>\stopformula</endfold id='2'>
|
|
normal
|
|
|
|
% This is a regular macro, not math macro
|
|
\def\mathematicsMacroShouldNotMatchThis<beginfold id='1'>{</beginfold id='1'>Not Math<endfold id='1'>}</endfold id='1'>
|
|
|
|
%% Verbatim
|
|
<beginfold id='3'>\starttyping</beginfold id='3'>
|
|
All text in here should be verbatim colour
|
|
% This should not be a comment
|
|
&@@#^%&^#$
|
|
|
|
Nested typing should be displayed in verbatim colour
|
|
\starttyping
|
|
\stoptyping
|
|
should still be verbatim colour
|
|
% This should not be a comment
|
|
<endfold id='3'>\stoptyping</endfold id='3'>
|
|
|
|
normal
|
|
|
|
|
|
%% Tables
|
|
<beginfold id='1'>\starttabulate</beginfold id='1'>[|c|c|c|]
|
|
\FL
|
|
\NC header1 \NC header2 \NC header3 \NR
|
|
\ML
|
|
\NC value1 \NC value2 \NC value3 \NR
|
|
\NC value4 \NC value5 \NC value6 \NR
|
|
\BL
|
|
<endfold id='1'>\stoptabulate</endfold id='1'>
|
|
|
|
Commands for TABLE environment (<beginfold id='1'>\bTABLE</beginfold id='1'> and <endfold id='1'>\eTABLE</endfold id='1'>, <beginfold id='1'>\bTD</beginfold id='1'> and <endfold id='1'>\eTD</endfold id='1'>, etc.) should emulate start/stop blocks
|
|
<beginfold id='1'>\bTABLE</beginfold id='1'>[split=yes]
|
|
<beginfold id='1'>\bTR</beginfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value1 <endfold id='1'>\eTD</endfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value2 <endfold id='1'>\eTD</endfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value3 <endfold id='1'>\eTD</endfold id='1'> <endfold id='1'>\eTR</endfold id='1'>
|
|
<beginfold id='1'>\bTR</beginfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value4 <endfold id='1'>\eTD</endfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value5 <endfold id='1'>\eTD</endfold id='1'> <beginfold id='1'>\bTD</beginfold id='1'> value6 <endfold id='1'>\eTD</endfold id='1'> <endfold id='1'>\eTR</endfold id='1'>
|
|
<endfold id='1'>\eTABLE</endfold id='1'>
|
|
|
|
<beginfold id='1'>\startxtable</beginfold id='1'>
|
|
<beginfold id='1'>\startxrow</beginfold id='1'>
|
|
<beginfold id='1'>\startxcell</beginfold id='1'> value1 <endfold id='1'>\stopxcell</endfold id='1'>
|
|
<beginfold id='1'>\startxcell</beginfold id='1'> value2 <endfold id='1'>\stopxcell</endfold id='1'>
|
|
<endfold id='1'>\stopxrow</endfold id='1'>
|
|
<beginfold id='1'>\startxrow</beginfold id='1'>
|
|
<beginfold id='1'>\startxcell</beginfold id='1'> value3 <endfold id='1'>\stopxcell</endfold id='1'>
|
|
<beginfold id='1'>\startxcell</beginfold id='1'> value5 <endfold id='1'>\stopxcell</endfold id='1'>
|
|
<endfold id='1'>\stopxrow</endfold id='1'>
|
|
<endfold id='1'>\stopxtable</endfold id='1'>
|
|
|
|
|
|
|
|
\subject<beginfold id='1'>{</beginfold id='1'> Languajes directly usable in \CONTEXT <endfold id='1'>}</endfold id='1'>
|
|
|
|
% These three sould have their own separate syntax highlighting
|
|
|
|
<beginfold id='4'>\startluacode</beginfold id='4'>
|
|
context.chapter(<beginfold id='5'>{</beginfold id='5'>first<endfold id='5'>}</endfold id='5'>, "Some title")
|
|
context.startcolumns(<beginfold id='5'>{</beginfold id='5'>n = 3, rule = "on"<endfold id='5'>}</endfold id='5'>)
|
|
context("Hello one")
|
|
context.column()
|
|
context("Hello two")
|
|
context.column()
|
|
context("Hello three")
|
|
context.stopcolumns()
|
|
<endfold id='4'>\stopluacode</endfold id='4'>
|
|
|
|
<beginfold id='6'>\startMPcode</beginfold id='6'>
|
|
transform pagecoords;
|
|
pagecoords := identity scaled 10mm shifted (100mm,150mm);
|
|
fill ( (0,0) -- (2,0) -- (2,1) -- (1,1) -- (1,2) -- cycle )
|
|
transformed pagecoords withcolor green;
|
|
draw ( (2,0) .. (2,1) .. (1,1) .. (1,2) .. (0,2) )
|
|
transformed pagecoords;
|
|
drawarrow ( (0,0) -- (2,2) ) transformed pagecoords;
|
|
<endfold id='6'>\stopMPcode</endfold id='6'>
|
|
|
|
<beginfold id='7'>\startXML</beginfold id='7'>
|
|
<beginfold id='8'><</beginfold id='8'>context name="MathModeMacroFind" attribute="Math" lineEndContext="#stay">
|
|
<beginfold id='8'><</beginfold id='8'>DetectChar char="{" attribute="Brace" context="#pop!MathModeMacro"<endfold id='8'>/></endfold id='8'>
|
|
<beginfold id='8'><</beginfold id='8'>RegExpr String="¯o_math;" attribute="Macro" context="#pop"<endfold id='8'>/></endfold id='8'> <beginfold id='9'><!--</beginfold id='9'> 1 token <endfold id='9'>--></endfold id='9'>
|
|
<beginfold id='8'><</beginfold id='8'>RegExpr String="[[:graph:]]" attribute="Math" context="#pop"<endfold id='8'>/></endfold id='8'> <beginfold id='9'><!--</beginfold id='9'> 1 token <endfold id='9'>--></endfold id='9'>
|
|
</context<endfold id='8'>></endfold id='8'>
|
|
<endfold id='7'>\stopXML</endfold id='7'>
|
|
|