|
| 1 | +<SyntaxDefinition name="Lua" extensions=".lua;.luac" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008"> |
| 2 | + <Color name="Keyword1" foreground="#C586C0" fontWeight="bold" /> |
| 3 | + <Color name="Keyword2" foreground="#569CD6" fontWeight="bold" /> |
| 4 | + <Color name="Comment" foreground="#6A9955" /> |
| 5 | + <Color name="String" foreground="#D69D85" /> |
| 6 | + <Color name="Number" foreground="#B5CEA8" /> |
| 7 | + <Color name="Function" foreground="#DCDCAA" /> |
| 8 | + <Color name="Punctuation" foreground="#89DDFF" /> |
| 9 | + <Color name="ObjectName" foreground="#3DC9B0" /> |
| 10 | + <Color name="Constant" foreground="#9CDCFE" /> |
| 11 | + |
| 12 | + <RuleSet> |
| 13 | + <Rule color="Comment">--.*$</Rule> |
| 14 | + |
| 15 | + <Rule color="String">"([^"\\]|\\.)*"</Rule> |
| 16 | + <Rule color="String">'([^'\\]|\\.)*'</Rule> |
| 17 | + |
| 18 | + <Rule color="Number">\b\d+\.\d+([eE][+-]?\d+)?\b</Rule> |
| 19 | + <Rule color="Number">\b\d+[eE][+-]?\d+\b</Rule> |
| 20 | + <Rule color="Number">\b\d+\b</Rule> |
| 21 | + |
| 22 | + <Keywords color="Keyword1"> |
| 23 | + <Word>return</Word> |
| 24 | + <Word>function</Word> |
| 25 | + <Word>goto</Word> |
| 26 | + <Word>end</Word> |
| 27 | + <Word>if</Word> |
| 28 | + <Word>else</Word> |
| 29 | + <Word>elseif</Word> |
| 30 | + <Word>then</Word> |
| 31 | + <Word>for</Word> |
| 32 | + <Word>in</Word> |
| 33 | + <Word>until</Word> |
| 34 | + <Word>while</Word> |
| 35 | + <Word>break</Word> |
| 36 | + <Word>or</Word> |
| 37 | + <Word>and</Word> |
| 38 | + <Word>repeat</Word> |
| 39 | + <Word>do</Word> |
| 40 | + </Keywords> |
| 41 | + |
| 42 | + <Keywords color="Keyword2"> |
| 43 | + <Word>local</Word> |
| 44 | + <Word>nil</Word> |
| 45 | + <Word>not</Word> |
| 46 | + <Word>true</Word> |
| 47 | + <Word>false</Word> |
| 48 | + </Keywords> |
| 49 | + |
| 50 | + <Keywords color="Function"> |
| 51 | + <!-- Core functions --> |
| 52 | + <Word>assert</Word> |
| 53 | + <Word>collectgarbage</Word> |
| 54 | + <Word>error</Word> |
| 55 | + <Word>ipairs</Word> |
| 56 | + <Word>next</Word> |
| 57 | + <Word>pairs</Word> |
| 58 | + <Word>pcall</Word> |
| 59 | + <Word>print</Word> |
| 60 | + <Word>rawequal</Word> |
| 61 | + <Word>rawget</Word> |
| 62 | + <Word>rawlen</Word> |
| 63 | + <Word>rawset</Word> |
| 64 | + <Word>select</Word> |
| 65 | + <Word>setmetatable</Word> |
| 66 | + <Word>tonumber</Word> |
| 67 | + <Word>tostring</Word> |
| 68 | + <Word>type</Word> |
| 69 | + <Word>xpcall</Word> |
| 70 | + <Word>getmetatable</Word> |
| 71 | + <Word>require</Word> |
| 72 | + <Word>module</Word> |
| 73 | + |
| 74 | + <!-- Modules / tables --> |
| 75 | + <Word>math</Word> |
| 76 | + <Word>string</Word> |
| 77 | + <Word>table</Word> |
| 78 | + <Word>coroutine</Word> |
| 79 | + <Word>os</Word> |
| 80 | + <Word>io</Word> |
| 81 | + <Word>utf8</Word> |
| 82 | + <Word>bit32</Word> |
| 83 | + <Word>package</Word> |
| 84 | + <Word>debug</Word> |
| 85 | + |
| 86 | + <!-- Bit32 / bitwise functions --> |
| 87 | + <Word>arshift</Word> |
| 88 | + <Word>band</Word> |
| 89 | + <Word>bnot</Word> |
| 90 | + <Word>bor</Word> |
| 91 | + <Word>bxor</Word> |
| 92 | + <Word>btest</Word> |
| 93 | + <Word>extract</Word> |
| 94 | + <Word>lrotate</Word> |
| 95 | + <Word>lshift</Word> |
| 96 | + <Word>replace</Word> |
| 97 | + <Word>rrotate</Word> |
| 98 | + <Word>rshift</Word> |
| 99 | + |
| 100 | + <!-- Coroutine functions --> |
| 101 | + <Word>create</Word> |
| 102 | + <Word>resume</Word> |
| 103 | + <Word>running</Word> |
| 104 | + <Word>status</Word> |
| 105 | + <Word>wrap</Word> |
| 106 | + <Word>yield</Word> |
| 107 | + <Word>isyieldable</Word> |
| 108 | + |
| 109 | + <!-- Debug functions --> |
| 110 | + <Word>getuservalue</Word> |
| 111 | + <Word>gethook</Word> |
| 112 | + <Word>getinfo</Word> |
| 113 | + <Word>getlocal</Word> |
| 114 | + <Word>getregistry</Word> |
| 115 | + <Word>getupvalue</Word> |
| 116 | + <Word>upvaluejoin</Word> |
| 117 | + <Word>upvalueid</Word> |
| 118 | + <Word>setuservalue</Word> |
| 119 | + <Word>sethook</Word> |
| 120 | + <Word>setlocal</Word> |
| 121 | + <Word>setupvalue</Word> |
| 122 | + <Word>traceback</Word> |
| 123 | + |
| 124 | + <!-- IO functions --> |
| 125 | + <Word>close</Word> |
| 126 | + <Word>flush</Word> |
| 127 | + <Word>input</Word> |
| 128 | + <Word>lines</Word> |
| 129 | + <Word>open</Word> |
| 130 | + <Word>output</Word> |
| 131 | + <Word>popen</Word> |
| 132 | + <Word>read</Word> |
| 133 | + <Word>tmpfile</Word> |
| 134 | + <Word>seek</Word> |
| 135 | + <Word>setvbuf</Word> |
| 136 | + <Word>write</Word> |
| 137 | + |
| 138 | + <!-- String functions --> |
| 139 | + <Word>byte</Word> |
| 140 | + <Word>char</Word> |
| 141 | + <Word>dump</Word> |
| 142 | + <Word>find</Word> |
| 143 | + <Word>format</Word> |
| 144 | + <Word>gmatch</Word> |
| 145 | + <Word>gsub</Word> |
| 146 | + <Word>len</Word> |
| 147 | + <Word>lower</Word> |
| 148 | + <Word>match</Word> |
| 149 | + <Word>rep</Word> |
| 150 | + <Word>reverse</Word> |
| 151 | + <Word>sub</Word> |
| 152 | + <Word>upper</Word> |
| 153 | + <Word>pack</Word> |
| 154 | + <Word>packsize</Word> |
| 155 | + <Word>unpack</Word> |
| 156 | + <Word>concat</Word> |
| 157 | + <Word>maxn</Word> |
| 158 | + <Word>insert</Word> |
| 159 | + <Word>move</Word> |
| 160 | + <Word>offset</Word> |
| 161 | + <Word>codepoint</Word> |
| 162 | + <Word>codes</Word> |
| 163 | + <Word>charpattern</Word> |
| 164 | + |
| 165 | + <!-- OS / Time functions --> |
| 166 | + <Word>clock</Word> |
| 167 | + <Word>date</Word> |
| 168 | + <Word>difftime</Word> |
| 169 | + <Word>execute</Word> |
| 170 | + <Word>exit</Word> |
| 171 | + <Word>getenv</Word> |
| 172 | + <Word>remove</Word> |
| 173 | + <Word>rename</Word> |
| 174 | + <Word>setlocale</Word> |
| 175 | + <Word>time</Word> |
| 176 | + <Word>loadlib</Word> |
| 177 | + <Word>searchpath</Word> |
| 178 | + <Word>seeall</Word> |
| 179 | + <Word>preload</Word> |
| 180 | + <Word>cpath</Word> |
| 181 | + <Word>path</Word> |
| 182 | + <Word>searchers</Word> |
| 183 | + <Word>loaded</Word> |
| 184 | + |
| 185 | + <!-- Math functions / constants --> |
| 186 | + <Word>abs</Word> |
| 187 | + <Word>acos</Word> |
| 188 | + <Word>asin</Word> |
| 189 | + <Word>atan</Word> |
| 190 | + <Word>atan2</Word> |
| 191 | + <Word>ceil</Word> |
| 192 | + <Word>cos</Word> |
| 193 | + <Word>cosh</Word> |
| 194 | + <Word>deg</Word> |
| 195 | + <Word>exp</Word> |
| 196 | + <Word>floor</Word> |
| 197 | + <Word>fmod</Word> |
| 198 | + <Word>ult</Word> |
| 199 | + <Word>log</Word> |
| 200 | + <Word>log10</Word> |
| 201 | + <Word>max</Word> |
| 202 | + <Word>min</Word> |
| 203 | + <Word>modf</Word> |
| 204 | + <Word>pi</Word> |
| 205 | + <Word>rad</Word> |
| 206 | + <Word>random</Word> |
| 207 | + <Word>randomseed</Word> |
| 208 | + <Word>sin</Word> |
| 209 | + <Word>sqrt</Word> |
| 210 | + <Word>tan</Word> |
| 211 | + <Word>sinh</Word> |
| 212 | + <Word>tanh</Word> |
| 213 | + <Word>pow</Word> |
| 214 | + <Word>frexp</Word> |
| 215 | + <Word>ldexp</Word> |
| 216 | + <Word>huge</Word> |
| 217 | + <Word>maxinteger</Word> |
| 218 | + <Word>mininteger</Word> |
| 219 | + </Keywords> |
| 220 | + |
| 221 | + <Rule color="Punctuation">(\|)|(<<)|(>>)|(\/\/)|(==)|(~=)|(<=)|(>=)|(<)|(>)|(=)|(\()|(\))|(\{)|(\})|(\[)|(\])|(::)|(:)|(;)|(,)|(\.\.\.)|(\.\.)|(\.)|[+\-*%\^#&~]</Rule> |
| 222 | + |
| 223 | + <Rule color="ObjectName">(?<=function\s)[A-Za-z0-9_]+(?=\.)</Rule> |
| 224 | + |
| 225 | + <Rule color="Function">(?<=\.)[A-Za-z0-9_]+(?=\()</Rule> |
| 226 | + <Rule color="Function">(?<=function\s)[A-Za-z0-9_]+(?=\s*\()</Rule> <!-- Standalone function name --> |
| 227 | + |
| 228 | + <Rule color="Constant">\b[A-Z_][A-Z0-9_]*\b</Rule> |
| 229 | + </RuleSet> |
| 230 | +</SyntaxDefinition> |
0 commit comments