Changeset View
Changeset View
Standalone View
Standalone View
autotests/html/highlight.lua.html
- This file was added.
1 | <!DOCTYPE html> | ||||
---|---|---|---|---|---|
2 | <html><head> | ||||
3 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||||
4 | <title>highlight.lua</title> | ||||
5 | <meta name="generator" content="KF5::SyntaxHighlighting (Lua)"/> | ||||
6 | </head><body style="color:#1f1c1b"><pre> | ||||
7 | <span style="color:#898887;">#!/usr/bin/env lua</span> | ||||
8 | | ||||
9 | <span style="color:#898887;">-- Metatables</span> | ||||
10 | <span style="color:#5555ff;">t</span> = { | ||||
11 | <span style="color:#644a9b;font-weight:bold;">__add</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>+<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
12 | <span style="color:#644a9b;font-weight:bold;">__sub</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>-<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
13 | <span style="color:#644a9b;font-weight:bold;">__mul</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>*<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
14 | <span style="color:#644a9b;font-weight:bold;">__div</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>/<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
15 | <span style="color:#644a9b;font-weight:bold;">__mod</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>%<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
16 | <span style="color:#644a9b;font-weight:bold;">__pow</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>^<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
17 | <span style="color:#644a9b;font-weight:bold;">__unm</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>)<span style="color:#a1a100;">return</span> -<span style="color:#5555ff;">a</span> <span style="color:#a1a100;">end</span>, | ||||
18 | <span style="color:#644a9b;font-weight:bold;">__idiv</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>//<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
19 | <span style="color:#644a9b;font-weight:bold;">__band</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>&<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
20 | <span style="color:#644a9b;font-weight:bold;">__bor</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>|<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
21 | <span style="color:#644a9b;font-weight:bold;">__bxor</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>~<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
22 | <span style="color:#644a9b;font-weight:bold;">__bnot</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>)<span style="color:#a1a100;">return</span> ~<span style="color:#5555ff;">a</span> <span style="color:#a1a100;">end</span>, | ||||
23 | <span style="color:#644a9b;font-weight:bold;">__shl</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span><<<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
24 | <span style="color:#644a9b;font-weight:bold;">__shr</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>>><span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
25 | <span style="color:#644a9b;font-weight:bold;">__concat</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>..<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
26 | <span style="color:#644a9b;font-weight:bold;">__len</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>)<span style="color:#a1a100;">return</span> #<span style="color:#5555ff;">a</span> <span style="color:#a1a100;">end</span>, | ||||
27 | <span style="color:#644a9b;font-weight:bold;">__eq</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span>==<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
28 | <span style="color:#644a9b;font-weight:bold;">__lt</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span><<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
29 | <span style="color:#644a9b;font-weight:bold;">__le</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>,<span style="color:#5555ff;">b</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">a</span><=<span style="color:#5555ff;">b</span> <span style="color:#a1a100;">end</span>, | ||||
30 | <span style="color:#644a9b;font-weight:bold;">__index</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">t</span>,<span style="color:#5555ff;">k</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">t</span>[<span style="color:#5555ff;">k</span>] <span style="color:#a1a100;">end</span>, | ||||
31 | <span style="color:#644a9b;font-weight:bold;">__newindex</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">t</span>,<span style="color:#5555ff;">k</span>,<span style="color:#5555ff;">v</span>)<span style="color:#a1a100;">return</span> <span style="color:#5555ff;">t</span>[<span style="color:#5555ff;">k</span>]=<span style="color:#5555ff;">v</span> <span style="color:#a1a100;">end</span>, | ||||
32 | <span style="color:#644a9b;font-weight:bold;">__call</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">f</span>, ...)<span style="color:#a1a100;">return</span> f(...) <span style="color:#a1a100;">end</span>, | ||||
33 | | ||||
34 | <span style="color:#644a9b;font-weight:bold;">__tostring</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">a</span>)<span style="color:#a1a100;">return</span> <span style="color:#644a9b;">tostring</span>(<span style="color:#5555ff;">a</span>) <span style="color:#a1a100;">end</span>, | ||||
35 | <span style="color:#644a9b;font-weight:bold;">__pairs</span>=<span style="font-weight:bold;">function</span>(<span style="color:#5555ff;">t</span>)<span style="color:#a1a100;">return</span> <span style="color:#644a9b;">pairs</span>(<span style="color:#5555ff;">a</span>) <span style="color:#a1a100;">end</span>, | ||||
36 | <span style="color:#898887;">-- setmetatable</span> | ||||
37 | <span style="color:#644a9b;font-weight:bold;">__metatable</span>=<span style="font-weight:bold;">true</span> | ||||
38 | <span style="color:#898887;">-- Garbage collector</span> | ||||
39 | <span style="color:#644a9b;font-weight:bold;">__gc</span>=<span style="font-weight:bold;">function</span>() <span style="color:#a1a100;">end</span> | ||||
40 | <span style="color:#898887;">-- Weak table</span> | ||||
41 | <span style="color:#644a9b;font-weight:bold;">__mode</span>=<span style="color:#bf0303;">'k'</span> <span style="color:#898887;">-- or 'v'</span> | ||||
42 | } | ||||
43 | | ||||
44 | <span style="color:#5555ff;">a</span> <span style="font-weight:bold;">or</span> <span style="color:#5555ff;">b</span> | ||||
45 | <span style="color:#5555ff;">a</span> <span style="font-weight:bold;">and</span> <span style="color:#5555ff;">b</span> | ||||
46 | <span style="color:#5555ff;">a</span>~=<span style="color:#5555ff;">b</span> | ||||
47 | <span style="color:#5555ff;">a</span>>=<span style="color:#5555ff;">b</span> | ||||
48 | <span style="font-weight:bold;">true</span> <span style="font-weight:bold;">or</span> <span style="font-weight:bold;">false</span> | ||||
49 | <span style="color:#5555ff;">a</span> <span style="font-weight:bold;">or</span> <span style="font-weight:bold;">nil</span> | ||||
50 | <span style="color:#5555ff;">a</span>::<span style="color:#5555ff;">m</span> | ||||
51 | <span style="color:#5555ff;">a</span>.<span style="color:#5555ff;">m</span> | ||||
52 | <span style="color:#5555ff;">a</span>;<span style="color:#5555ff;">a</span> | ||||
53 | | ||||
54 | | ||||
55 | <span style="color:#898887;">-- String</span> | ||||
56 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\a</span><span style="color:#bf0303;">'</span> | ||||
57 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\b</span><span style="color:#bf0303;">'</span> | ||||
58 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\f</span><span style="color:#bf0303;">'</span> | ||||
59 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">'</span> | ||||
60 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\r</span><span style="color:#bf0303;">'</span> | ||||
61 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\t</span><span style="color:#bf0303;">'</span> | ||||
62 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\v</span><span style="color:#bf0303;">'</span> | ||||
63 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">'</span> | ||||
64 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">'</span> | ||||
65 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\'</span><span style="color:#bf0303;">'</span> | ||||
66 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\z</span><span style="color:#bf0303;">'</span> | ||||
67 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\xff</span><span style="color:#bf0303;">'</span> | ||||
68 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\xFF</span><span style="color:#bf0303;">'</span> | ||||
69 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\231</span><span style="color:#bf0303;">'</span> | ||||
70 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\23</span><span style="color:#bf0303;">'</span> | ||||
71 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\2</span><span style="color:#bf0303;">'</span> | ||||
72 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\u{100201}</span><span style="color:#bf0303;">'</span> <span style="color:#898887;">-- max 6 digits</span> | ||||
73 | <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\2</span><span style="color:#bf0303;">a</span><span style="color:#bf0303;text-decoration:underline;">\</span><span style="color:#bf0303;">ks'</span> <span style="color:#898887;">-- error</span> | ||||
74 | | ||||
75 | <span style="color:#5555ff;">a</span> = <span style="color:#bf0303;">'alo</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">123"'</span> | ||||
76 | <span style="color:#5555ff;">a</span> = <span style="color:#bf0303;">"alo</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">123</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">"</span> | ||||
77 | <span style="color:#5555ff;">a</span> = <span style="color:#bf0303;">'</span><span style="color:#3daee9;">\97</span><span style="color:#bf0303;">lo</span><span style="color:#3daee9;">\10\049</span><span style="color:#bf0303;">23"'</span> | ||||
78 | <span style="color:#5555ff;">a</span> = <span style="color:#bf0303;">[[alo</span> | ||||
79 | <span style="color:#bf0303;">123"]]</span> | ||||
80 | <span style="color:#5555ff;">a</span> = <span style="color:#bf0303;">[==[</span> | ||||
81 | <span style="color:#bf0303;">alo</span> | ||||
82 | <span style="color:#bf0303;">123"]==]</span> | ||||
83 | | ||||
84 | | ||||
85 | <span style="color:#898887;">-- Decimal</span> | ||||
86 | <span style="color:#b08000;">3</span> | ||||
87 | <span style="color:#b08000;">345</span> | ||||
88 | <span style="color:#b08000;">0xff</span> | ||||
89 | <span style="color:#b08000;">0xBEBADA</span> | ||||
90 | | ||||
91 | <span style="color:#898887;">-- Float</span> | ||||
92 | <span style="color:#b08000;">3.</span> | ||||
93 | <span style="color:#b08000;">.3</span> | ||||
94 | <span style="color:#b08000;">3.0</span> | ||||
95 | <span style="color:#b08000;">3.1416</span> | ||||
96 | <span style="color:#b08000;">314.16e-2</span> | ||||
97 | <span style="color:#b08000;">314.e+2</span> | ||||
98 | <span style="color:#b08000;">0.31416E1</span> | ||||
99 | <span style="color:#b08000;">34e1</span> | ||||
100 | <span style="color:#b08000;">0.e3</span> | ||||
101 | <span style="color:#b08000;">0x0.1E</span> | ||||
102 | <span style="color:#b08000;">0xA23p-4</span> | ||||
103 | <span style="color:#b08000;">0xA.p+4</span> | ||||
104 | <span style="color:#b08000;">0x.ap4</span> | ||||
105 | <span style="color:#b08000;">0X1.921FB54442D18P+1</span> | ||||
106 | <span style="color:#898887;">-- error</span> | ||||
107 | <span style="color:#b08000;">32</span>p | ||||
108 | <span style="color:#b08000;">0</span>xp-<span style="color:#b08000;">4</span> | ||||
109 | <span style="color:#b08000;">0</span>x.<span style="color:#5555ff;">p</span>-<span style="color:#b08000;">4</span> | ||||
110 | | ||||
111 | | ||||
112 | <span style="color:#898887;">-- single comment</span> | ||||
113 | xyz() | ||||
114 | <span style="color:#898887;">--[[</span> | ||||
115 | <span style="color:#898887;"> long comment</span> | ||||
116 | <span style="color:#898887;">]]</span> | ||||
117 | xyz() | ||||
118 | | ||||
119 | | ||||
120 | <span style="color:#5555ff;">a</span> = { [f(<span style="color:#b08000;">1</span>)] = <span style="color:#5555ff;">g</span>; <span style="color:#bf0303;">"x"</span>, <span style="color:#bf0303;">"y"</span>; <span style="color:#5555ff;">x</span> = <span style="color:#b08000;">1</span>, f(<span style="color:#5555ff;">x</span>), [<span style="color:#b08000;">30</span>] = <span style="color:#b08000;">23</span>; <span style="color:#b08000;">45</span> } | ||||
121 | | ||||
122 | <span style="color:#898887;">-- is equivalent to</span> | ||||
123 | | ||||
124 | <span style="color:#a1a100;">do</span> | ||||
125 | <span style="font-weight:bold;">local</span> <span style="color:#5555ff;">t</span> = {} | ||||
126 | <span style="color:#5555ff;">t</span>[f(<span style="color:#b08000;">1</span>)] = <span style="color:#5555ff;">g</span> | ||||
127 | <span style="color:#5555ff;">t</span>[<span style="color:#b08000;">1</span>] = <span style="color:#bf0303;">"x"</span> <span style="color:#898887;">-- 1st exp</span> | ||||
128 | <span style="color:#5555ff;">t</span>[<span style="color:#b08000;">2</span>] = <span style="color:#bf0303;">"y"</span> <span style="color:#898887;">-- 2nd exp</span> | ||||
129 | <span style="color:#5555ff;">t</span>.<span style="color:#5555ff;">x</span> = <span style="color:#b08000;">1</span> <span style="color:#898887;">-- t["x"] = 1</span> | ||||
130 | <span style="color:#5555ff;">t</span>[<span style="color:#b08000;">3</span>] = f(<span style="color:#5555ff;">x</span>) <span style="color:#898887;">-- 3rd exp</span> | ||||
131 | <span style="color:#5555ff;">t</span>[<span style="color:#b08000;">30</span>] = <span style="color:#b08000;">23</span> | ||||
132 | <span style="color:#5555ff;">t</span>[<span style="color:#b08000;">4</span>] = <span style="color:#b08000;">45</span> <span style="color:#898887;">-- 4th exp</span> | ||||
133 | <span style="color:#5555ff;">a</span> = <span style="color:#5555ff;">t</span> | ||||
134 | <span style="color:#a1a100;">end</span> | ||||
135 | | ||||
136 | <span style="color:#b08000;">32</span>-<span style="color:#b08000;">0x43</span>+<span style="color:#b08000;">0x2</span>-<span style="color:#b08000;">5</span> | ||||
137 | <span style="color:#a1a100;">return</span><span style="color:#bf0303;">"a"</span> | ||||
138 | <span style="color:#a1a100;">return</span><span style="color:#bf0303;">'a'</span> | ||||
139 | <span style="color:#a1a100;">return</span>{} | ||||
140 | f(<span style="color:#b08000;">3</span>) | ||||
141 | f<span style="color:#bf0303;">'a'</span> | ||||
142 | f<span style="color:#bf0303;">"a"</span> | ||||
143 | f{<span style="color:#5555ff;">s</span>=<span style="color:#b08000;">2</span>} | ||||
144 | f<span style="color:#bf0303;">[[s]]</span> | ||||
145 | f<span style="color:#bf0303;">[=[s]=]</span> | ||||
146 | #<span style="color:#5555ff;">a</span> | ||||
147 | | ||||
148 | <span style="font-weight:bold;">local</span> <span style="color:#aa5500;">CONSTANT</span> = <span style="color:#5555ff;">a</span> | ||||
149 | | ||||
150 | <span style="color:#5555ff;">a</span> = {} | ||||
151 | <span style="font-weight:bold;">local</span> <span style="color:#5555ff;">x</span> = <span style="color:#b08000;">20</span> | ||||
152 | <span style="color:#a1a100;">for</span> <span style="color:#5555ff;">i</span>=<span style="color:#b08000;">1</span>,<span style="color:#b08000;">10</span> <span style="color:#a1a100;">do</span> | ||||
153 | <span style="font-weight:bold;">local</span> <span style="color:#5555ff;">y</span> = <span style="color:#b08000;">0</span> | ||||
154 | <span style="color:#5555ff;">a</span>[<span style="color:#5555ff;">i</span>] = <span style="font-weight:bold;">function</span> () <span style="color:#5555ff;">y</span>=<span style="color:#5555ff;">y</span>+<span style="color:#b08000;">1</span>; <span style="color:#a1a100;">return</span> <span style="color:#5555ff;">x</span>+<span style="color:#5555ff;">y</span> <span style="color:#a1a100;">end</span> | ||||
155 | <span style="color:#a1a100;">end</span> | ||||
156 | | ||||
157 | <span style="color:#898887;">--! </span><span style="color:#ca60ca;font-weight:bold;">\brief</span><span style="color:#898887;"> gfind is deprecated</span> | ||||
158 | <span style="color:#bf0303;text-decoration:underline;">string.gfind</span>(<span style="color:#bf0303;">'s'</span>) | ||||
159 | <span style="color:#644a9b;">string.gmatch</span>(<span style="color:#bf0303;">'f'</span>) | ||||
160 | </pre></body></html> |