feat: add missing KF6 framework recipes

This commit is contained in:
2026-05-07 07:53:26 +01:00
parent d8d498f831
commit a69f479b52
2374 changed files with 2610246 additions and 0 deletions
@@ -0,0 +1,226 @@
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>highlight.d</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (D) - Theme (Breeze Light)"/>
</head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
<span style="color:#898887">/********</span>
<span style="color:#898887">*</span><span style="color:#607880"> Highlight testing module.</span>
<span style="color:#898887">*</span>
<span style="color:#898887">*</span><span style="color:#607880"> Do not attempt to run this!</span>
<span style="color:#898887">***********/</span>
<span style="color:#006e28;font-weight:bold">module</span><span style="color:#ff5500"> highlighttest</span><span style="color:#ca60ca">;</span>
<span style="color:#006e28;font-weight:bold">import</span><span style="color:#ff5500"> X = null</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">/++</span><span style="color:#607880"> Pragma directives. DDoc + DDoc embedded items. Special Tokens.</span>
<span style="color:#898887">+</span>
<span style="color:#898887">+</span><span style="color:#607880"> </span><span style="color:#898887">---</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#898887">// comment</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">#line </span><span style="color:#b08000">12</span><span style="color:#006e28;font-weight:bold"> </span><span style="color:#bf0303">"hightlighttest.d"</span><span style="color:#006e28;font-weight:bold"> </span><span style="color:#898887">/* block comment */</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">#line </span><span style="color:#006e28;font-weight:bold">__LINE__</span><span style="color:#006e28;font-weight:bold"> </span><span style="color:#006e28;font-weight:bold">__FILE__</span><span style="color:#006e28;font-weight:bold"> </span><span style="color:#898887">/++</span><span style="color:#607880"> embedded block comment </span><span style="color:#898887">+/</span>
<span style="color:#898887">+</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma </span><span style="color:#898887">/* */</span><span style="color:#006e28;font-weight:bold"> </span>(<span style="font-weight:bold">msg</span>,<span style="color:#006e28;font-weight:bold"> </span><span style="color:#bf0303">"what?"</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(<span style="color:#898887">/++</span><span style="color:#607880"> </span><span style="color:#898887">+/</span><span style="color:#006e28;font-weight:bold"> </span><span style="font-weight:bold">lib</span>,<span style="color:#006e28;font-weight:bold"> </span><span style="color:#bf0303">"insane.a"</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(<span style="font-weight:bold">inline</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(<span style="font-weight:bold">linkerDirective</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(<span style="font-weight:bold">mangle</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(<span style="font-weight:bold">startaddress</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(D_Custom_Extension,<span style="color:#006e28;font-weight:bold"> </span><span style="color:#bf0303">"custom data"</span>)<span style="color:#ca60ca">;</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#006e28;font-weight:bold">pragma</span>(foo<span style="color:#006e28;font-weight:bold"> </span><span style="color:#bf0303;text-decoration:underline">0</span><span style="color:#ca60ca">);</span>
<span style="color:#898887">+</span><span style="font-style:italic"> </span><span style="color:#898887">---</span>
<span style="color:#898887">+/</span>
<span style="color:#898887">///</span><span style="color:#607880"> version condition</span>
<span style="color:#b08000">version</span> = X;
<span style="color:#b08000">version</span> = <span style="color:#b08000">1_2_3</span>;
<span style="color:#b08000">version</span> (X) <span style="color:#ca60ca">;</span>
<span style="color:#b08000">version</span>(<span style="font-weight:bold">linux</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> linkage</span>
<span style="color:#b08000;font-weight:bold">extern</span>
(<span style="font-weight:bold">C</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> <span style="color:#ca60ca">:</span>
<span style="color:#ca60ca">;</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">C++</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">C++</span>, foo.bar.baz) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">D</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">Windows</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">Pascal</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">System</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="color:#bf0303;text-decoration:underline">unknown</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">C</span><span style="color:#bf0303;text-decoration:underline">,</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#b08000;font-weight:bold">extern</span> (<span style="font-weight:bold">C++</span>, foo<span style="color:#bf0303;text-decoration:underline">,</span> bar) <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> alias &amp; typedef</span>
<span style="color:#bf0303;font-weight:bold">alias</span> <span style="color:#0057ae">int</span>.<span style="color:#0057ae;font-weight:bold">min</span> minint<span style="color:#ca60ca">;</span>
<span style="color:#bf0303;font-weight:bold">typedef</span> <span style="color:#0057ae">int</span> myint<span style="color:#ca60ca">;</span>
<span style="color:#0057ae">int</span> main<span style="color:#ca60ca">(</span><span style="color:#0057ae">char</span><span style="color:#ca60ca">[][]</span> args<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{</span>
<span style="color:#898887">///</span><span style="color:#607880"> statements</span>
<span style="font-weight:bold">if</span> <span style="color:#ca60ca">(</span><span style="color:#b08000">1</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="font-weight:bold">else</span> <span style="color:#ca60ca">{}</span>
<span style="font-weight:bold">with</span> <span style="color:#ca60ca">(</span>N<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{</span>x <span style="color:#ca60ca">=</span> B<span style="color:#ca60ca">}</span>
<span style="color:#898887">///</span><span style="color:#607880"> attributes</span>
<span style="color:#644a9b;font-weight:bold">auto</span> x <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">;</span>
<span style="color:#644a9b;font-weight:bold">static</span> <span style="font-weight:bold">if</span> <span style="color:#ca60ca">(</span><span style="color:#0057ae;font-weight:bold">true</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#0057ae">void</span> <span style="color:#ca60ca">(</span><span style="color:#0057ae;font-weight:bold">in</span> X<span style="color:#ca60ca">,</span> <span style="color:#644a9b;font-weight:bold">out</span> Y<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span> <span style="color:#898887">// </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span><span style="color:#898887">: using in like this is rare, more common to use as an expression and no way to tell apart?</span>
<span style="color:#898887">///</span><span style="color:#607880"> deprecated</span>
<span style="color:#644a9b;font-weight:bold;text-decoration:line-through">deprecated</span> <span style="color:#0057ae">void</span> fct <span style="color:#ca60ca">();</span>
<span style="color:#898887">///</span><span style="color:#607880"> types</span>
<span style="color:#0057ae">void</span> a<span style="color:#ca60ca">;</span>
<span style="color:#0057ae">ushort</span> u<span style="color:#ca60ca">;</span>
<span style="color:#0057ae">int</span><span style="color:#ca60ca">[</span><span style="color:#0057ae">uint</span><span style="color:#ca60ca">]</span> AA<span style="color:#ca60ca">;</span>
<span style="color:#bf0303;font-weight:bold">class</span> C<span style="color:#ca60ca">;</span>
<span style="color:#bf0303;font-weight:bold">enum</span> N <span style="color:#ca60ca">:</span> <span style="color:#0057ae">int</span> <span style="color:#ca60ca">{</span> A <span style="color:#ca60ca">=</span> <span style="color:#b08000">5</span><span style="color:#ca60ca">,</span> B <span style="color:#ca60ca">}</span>
<span style="color:#0057ae">typeof</span><span style="color:#ca60ca">(</span>u<span style="color:#ca60ca">)</span> u2<span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> expressions</span>
x <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">cast</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">int</span><span style="color:#ca60ca">)</span> <span style="color:#b08000">55</span><span style="color:#ca60ca">;</span>
<span style="color:#0057ae">void</span><span style="color:#ca60ca">*</span> p <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">null</span><span style="color:#ca60ca">;</span>
p <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">cast</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">void</span><span style="color:#ca60ca">*)</span> <span style="color:#0057ae;font-weight:bold">new</span> <span style="color:#0057ae">int</span><span style="color:#ca60ca">;</span>
x <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span> <span style="color:#0057ae;font-weight:bold">in</span> AA<span style="color:#ca60ca">;</span> <span style="color:#898887">// </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span><span style="color:#898887">: a THIRD use of in. How to detect??</span>
<span style="color:#0057ae;font-weight:bold">assert</span> <span style="color:#ca60ca">(</span><span style="color:#0057ae;font-weight:bold">true</span><span style="color:#ca60ca">);</span>
<span style="color:#898887">///</span><span style="color:#607880"> libsymbols</span>
<span style="color:#644a9b;font-weight:bold;font-style:italic">string</span> s <span style="color:#ca60ca">=</span> <span style="color:#bf0303">""</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">throw</span> <span style="color:#0057ae;font-weight:bold">new</span> <span style="color:#644a9b;font-weight:bold;font-style:italic">Exception</span><span style="color:#ca60ca">;</span>
<span style="color:#644a9b;font-weight:bold;font-style:italic">TypeInfo</span> ti <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">typeid</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">int</span><span style="color:#ca60ca">);</span>
<span style="color:#898887">///</span><span style="color:#607880"> tests</span>
<span style="color:#644a9b;font-weight:bold">debug</span> <span style="color:#ca60ca">{}</span>
<span style="color:#644a9b;font-weight:bold">debug</span> <span style="color:#ca60ca">(</span><span style="color:#b08000">2</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#644a9b;font-weight:bold">debug</span> <span style="color:#ca60ca">(</span>DSymb<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#644a9b;font-weight:bold">unittest</span> <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> scope (as attribute and as statement)</span>
<span style="color:#644a9b;font-weight:bold">scope</span> <span style="color:#bf0303;font-weight:bold">struct</span> S<span style="color:#ca60ca">;</span>
<span style="font-weight:bold">scope </span>(<span style="color:#0057ae;font-weight:bold">exit</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#644a9b;font-weight:bold">scope</span>
<span style="color:#ca60ca">(</span>success<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span> <span style="color:#898887">// </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span><span style="color:#898887">: rules cannot match across new-lines</span>
<span style="font-weight:bold">scope </span>(<span style="color:#0057ae;font-weight:bold">failure</span>) <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> Properties</span>
x <span style="color:#ca60ca">=</span> <span style="color:#0057ae">int</span>.<span style="color:#0057ae;font-weight:bold">min</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">(</span><span style="color:#b08000">5</span><span style="color:#ca60ca">-</span><span style="color:#b08000">3</span><span style="color:#ca60ca">)</span>.<span style="color:#0057ae;font-weight:bold">stringof</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> strings</span>
s <span style="color:#ca60ca">=</span> <span style="color:#e31616">r"raw string"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#ff5500">x"00FF"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#3daee9">\n</span> <span style="color:#3daee9">\a</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#3daee9">\u1234</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#3daee9">\U12345678</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#3daee9">\&amp;amp;</span> <span style="color:#ca60ca">;</span>
<span style="color:#0057ae">char</span> c <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'a'</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"abc 012 </span><span style="color:#3daee9">\"</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\n</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\x12</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\u1234</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\U12345678</span><span style="color:#bf0303">"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="color:#ff5500">`BQString '"`</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q{</span>foo <span style="color:#bf0303">"bar"</span> <span style="color:#b08000">123</span><span style="font-weight:bold">}</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"FOO</span>
<span style="color:#e31616">foo</span>
<span style="font-weight:bold">FOO"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"[</span><span style="color:#e31616">foo [bar] q"[baz]"</span><span style="font-weight:bold">]"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"(</span><span style="color:#e31616">foo (bar) q"(baz)"</span><span style="font-weight:bold">)"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"&lt;</span><span style="color:#e31616">foo &lt;bar> q"&lt;baz>"</span><span style="font-weight:bold">>"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"{</span><span style="color:#e31616">foo {bar} q"{baz}"</span><span style="font-weight:bold">}"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"/</span><span style="color:#e31616">foo</span><span style="font-weight:bold">/"</span><span style="color:#ca60ca">;</span>
s <span style="color:#ca60ca">=</span> <span style="font-weight:bold">q"!</span><span style="color:#e31616">foo</span><span style="font-weight:bold">!"</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> region markers</span>
<span style="color:#0057ae;background-color:#e0e9f8">//BEGIN x</span>
<span style="color:#0057ae;background-color:#e0e9f8">//END x</span>
<span style="color:#898887">///</span><span style="color:#607880"> DDoc</span>
<span style="color:#898887">/*******</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span><span style="color:#607880"> DDoc</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span><span style="color:#607880"> Section:</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span><span style="color:#607880"> New section.</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span><span style="color:#607880"> </span><span style="color:#3daee9;font-weight:bold">$(I</span><span style="color:#0057ae"> italic</span><span style="color:#3daee9;font-weight:bold">)</span>
<span style="color:#607880"> </span><span style="color:#898887">*******/</span>
<span style="color:#898887">/+++++++</span>
<span style="color:#607880"> </span><span style="color:#898887">+</span><span style="color:#607880"> DDoc</span>
<span style="color:#607880"> </span><span style="color:#898887">+</span><span style="color:#607880"> /+</span>
<span style="color:#607880"> </span><span style="color:#898887">+</span><span style="color:#607880"> +/</span>
<span style="color:#607880"> </span><span style="color:#898887">+++++++/</span>
<span style="color:#898887">// comments</span>
<span style="color:#898887">// </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">FIXME</span><span style="color:#898887"> </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span>
<span style="color:#898887">/* comment */</span>
<span style="color:#898887">/+ comment /+ nested comment +/ +/</span>
<span style="color:#898887">///</span><span style="color:#607880"> brace folding</span>
<span style="color:#ca60ca">{</span>
<span style="color:#ca60ca">}</span>
<span style="color:#898887">/**</span><span style="color:#607880"> normal text</span>
<span style="color:#607880"> </span><span style="color:#898887">*</span><span style="color:#607880"> </span><span style="color:#898887">---</span>
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>.x<span style="color:#ca60ca">;</span>
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>..
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>...
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>....
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>.....
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>_._
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span>_e1
<span style="font-style:italic"> </span><span style="color:#898887">*</span><span style="font-style:italic"> </span><span style="color:#898887">---</span>
<span style="color:#607880"> </span><span style="color:#898887">*/</span>
<span style="color:#898887">///</span><span style="color:#607880"> float and int literals</span>
<span style="color:#0057ae">int</span> i<span style="color:#ca60ca">;</span>
<span style="color:#0057ae">real</span> r<span style="color:#ca60ca">;</span>
<span style="color:#0057ae">ireal</span> ir<span style="color:#ca60ca">;</span>
r <span style="color:#ca60ca">=</span> <span style="color:#b08000">.0</span><span style="color:#ca60ca">;</span>
r <span style="color:#ca60ca">=</span> <span style="color:#b08000">0f</span><span style="color:#ca60ca">;</span>
ir <span style="color:#ca60ca">=</span> <span style="color:#b08000">0e0i</span><span style="color:#ca60ca">;</span>
ir <span style="color:#ca60ca">=</span> <span style="color:#b08000">0.fi</span><span style="color:#ca60ca">;</span>
r <span style="color:#ca60ca">=</span> <span style="color:#b08000">0.0e0</span><span style="color:#ca60ca">;</span>
r <span style="color:#ca60ca">=</span> <span style="color:#b08000">0xF.Fp0</span><span style="color:#ca60ca">;</span>
r <span style="color:#ca60ca">=</span> <span style="color:#b08000">0x_._p0_</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#b08000">5</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">-</span><span style="color:#b08000">1</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#b08000">0b10</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#b08000">0070</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#b08000">00</span><span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> <span style="color:#b08000">0xF0</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> ranges</span>
<span style="color:#0057ae">int</span><span style="color:#ca60ca">[]</span> A<span style="color:#ca60ca">;</span>
i <span style="color:#ca60ca">=</span> A<span style="color:#ca60ca">[</span><span style="color:#b08000">1</span><span style="color:#ca60ca">];</span>
A <span style="color:#ca60ca">=</span> A<span style="color:#ca60ca">[</span><span style="color:#b08000">0</span>..$<span style="color:#ca60ca">];</span>
A <span style="color:#ca60ca">=</span> A<span style="color:#ca60ca">[</span><span style="color:#b08000">0</span>..<span style="color:#b08000">0</span><span style="color:#ca60ca">];</span>
A <span style="color:#ca60ca">=</span> A<span style="color:#ca60ca">[</span><span style="color:#b08000">0</span>..length<span style="color:#ca60ca">];</span>
<span style="color:#898887">///</span><span style="color:#607880"> labels</span>
label<span style="color:#ca60ca">:</span>
<span style="font-weight:bold">goto</span> label<span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> function, delegate</span>
<span style="color:#0057ae">creal</span> <span style="color:#bf0303;font-weight:bold">function </span><span style="color:#ca60ca">()</span> fp <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">function</span> <span style="color:#0057ae">creal</span><span style="color:#ca60ca">()</span> <span style="color:#ca60ca">{</span> <span style="font-weight:bold">return</span> <span style="color:#b08000">0f</span><span style="color:#ca60ca">+</span><span style="color:#b08000">0fi</span><span style="color:#ca60ca">;</span> <span style="color:#ca60ca">};</span>
<span style="color:#0057ae">void</span> <span style="color:#bf0303;font-weight:bold">delegate </span><span style="color:#ca60ca">(</span><span style="color:#0057ae;font-weight:bold">in</span> <span style="color:#0057ae">int</span> i<span style="color:#ca60ca">,</span> <span style="color:#644a9b;font-weight:bold">lazy</span> <span style="color:#0057ae">int</span> b<span style="color:#ca60ca">)</span> dg <span style="color:#ca60ca">=</span> <span style="color:#0057ae;font-weight:bold">delegate</span> <span style="color:#0057ae">void</span> <span style="color:#ca60ca">(</span><span style="color:#0057ae">int</span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">int</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> in, out, body</span>
<span style="color:#898887">// </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span><span style="color:#898887">: highlighting in &amp; out as statements here could be difficult</span>
<span style="color:#0057ae">float</span> F <span style="color:#ca60ca">()</span>
<span style="font-weight:bold">in </span><span style="color:#ca60ca">{}</span>
<span style="font-weight:bold">out </span><span style="color:#ca60ca">(</span>result<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{}</span>
<span style="font-weight:bold">body</span> <span style="color:#ca60ca">{}</span>
<span style="color:#898887">///</span><span style="color:#607880"> try, catch, finally</span>
<span style="font-weight:bold">try</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">throw</span> <span style="color:#0057ae;font-weight:bold">new</span> <span style="color:#644a9b;font-weight:bold;font-style:italic">Exception</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">"oh no... "</span><span style="color:#ca60ca">);</span>
<span style="color:#ca60ca">}</span> <span style="font-weight:bold">catch</span> <span style="color:#ca60ca">(</span><span style="color:#644a9b;font-weight:bold;font-style:italic">Exception</span> e<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{</span>
<span style="color:#ca60ca">}</span> <span style="font-weight:bold">finally</span> <span style="color:#ca60ca">{</span>
<span style="color:#ca60ca">}</span>
<span style="color:#898887">///</span><span style="color:#607880"> mixin</span>
<span style="font-weight:bold">mixin</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">"return false;"</span><span style="color:#ca60ca">)</span>.<span style="color:#0057ae;font-weight:bold">stringof</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">///</span><span style="color:#607880"> templates</span>
<span style="color:#006e28;font-weight:bold">macro</span><span style="color:#ca60ca">;</span> <span style="color:#898887">// what does this do?</span>
<span style="color:#006e28;font-weight:bold">template</span> Tp <span style="color:#ca60ca">(</span>T<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">{</span>
Tp t<span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
Tp<span style="color:#ca60ca">!(</span><span style="color:#0057ae">int</span><span style="color:#ca60ca">)</span> y<span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
</pre></body></html>