diff options
Diffstat (limited to 'kate/data/lua.xml')
-rw-r--r-- | kate/data/lua.xml | 479 |
1 files changed, 271 insertions, 208 deletions
diff --git a/kate/data/lua.xml b/kate/data/lua.xml index 5b868aeec..6de4c8a17 100644 --- a/kate/data/lua.xml +++ b/kate/data/lua.xml @@ -1,237 +1,300 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> -<language name="Lua" version="0.23" kateversion="2.3" section="Scripts" extensions="*.lua" mimetype="text/x-lua"> +<!-- + LUA (www.lua.org) syntax highlighting for Kate + + CHANGES + + [ Version 1.03 (2007-09-12) by Bruno Massa ] + + - [=[ ]=] comment and string style is now working (thanks to Dominik and Sebastian) + - it uses DoxygenLua.xml to format the comments in a Doxygen style + + [ Version 1.02 (2007-07-15) by Bruno Massa ] + + - based on Lua 5.1 + - highlight the Kepler function (cgilua, luasql, lfs, luazip) + - true, false and nil are highlighted in black + - table.foreach and foreachi are marked as alerts + + [ Version 1.01 (2007-01-01) by Bruno Massa ] + + - highlighting similar to PHP + - error detection on one-line strings and common mistakes from other languages like using "!=" "++" + - uppercase-only variables are highlighted as constants + - { } now is collapsable + + [ Version 1.00 (2006-12-05) by Bruno Massa ] + + - based on Lua 5.0.2 syntax + - strings "[[ ]]" and single quoted strings + - block comments + - function, if/elseif/else, do-end chunks, comment blocks, strings using [[ ]] collapsable + - nil, false and true consided pseudo-variables (displayed as numbers) + - NOTE, FIXME, TODO alerts added on comments + - improved highlighting + + --> +<language name="Lua" version="1.03" kateversion="2.4" section="Scripts" extensions="*.lua" mimetype="text/x-lua"> <highlighting> <list name="keywords"> <item> and </item> - <item> end </item> + <item> function </item> + <item> in </item> <item> local </item> - <item> return </item> + <item> not </item> + <item> or </item> + </list> + <list name="control"> <item> break </item> - <item> for </item> <item> do </item> + <item> else </item> + <item> elseif </item> + <item> end </item> + <item> for </item> <item> if </item> - <item> nil </item> + <item> repeat </item> + <item> return </item> <item> then </item> - <item> function </item> - <item> not </item> <item> until </item> - <item> else </item> - <item> or </item> <item> while </item> - <item> elseif </item> - <item> in </item> - <item> repeat </item> + </list> + <list name="pseudo-variables"> + <item> nil </item> + <item> false </item> + <item> true </item> </list> <list name="basefunc"> - <item> string.byte </item> - <item> string.char </item> - <item> string.find </item> - <item> string.len </item> - <item> string.lower </item> - <item> string.rep </item> - <item> string.sub </item> - <item> string.upper </item> - <item> string.format </item> - <item> string.gfind </item> - <item> string.gsub </item> - <item> table.concat </item> - <item> table.foreach </item> - <item> table.foreachi </item> - <item> table.getn </item> - <item> table.sort </item> - <item> table.insert </item> - <item> table.remove </item> - <item> table.setn </item> - <item> math.abs </item> - <item> math.sin </item> - <item> math.cos </item> - <item> math.tan </item> - <item> math.asin </item> - <item> math.acos </item> - <item> math.atan </item> - <item> math.atan2 </item> - <item> math.ceil </item> - <item> math.floor </item> - <item> math.mod </item> - <item> math.frexp </item> - <item> math.ldexp </item> - <item> math.squrt </item> - <item> math.min </item> - <item> math.max </item> - <item> math.log </item> - <item> math.log10 </item> - <item> math.exp </item> - <item> math.deg </item> - <item> math.rad </item> - <item> math.random </item> - <item> math.randomseed </item> - <item> io.close </item> - <item> io.flush </item> - <item> io.input </item> - <item> io.lines </item> - <item> io.open </item> - <item> io.output </item> - <item> io.read </item> - <item> io.stderr </item> - <item> io.stdin </item> - <item> io.stdout </item> - <item> io.tmpfile </item> - <item> io.write </item> - <item> os.clock </item> - <item> os.date </item> - <item> os.difftime </item> - <item> os.execute </item> - <item> os.exit </item> - <item> os.getenv </item> - <item> os.remove </item> - <item> os.rename </item> - <item> os.setlocale </item> - <item> os.time </item> - <item> os.tmpname </item> - <item> debug.getinfo </item> - <item> debug.getlocal </item> - <item> debug.setlocal </item> - <item> debug.sethook </item> - <item> debug.gethook </item> - <item> assert </item> - <item> collectgarbage </item> - <item> dofile </item> - <item> error </item> - <item> next </item> - <item> print </item> - <item> rawget </item> - <item> rawset </item> - <item> tonumber </item> - <item> tostring </item> - <item> type </item> - <item> _ALERT </item> - <item> _ERRORMESSAGE </item> - <item> call </item> - <item> copytagmethods </item> - <item> dostring </item> - <item> foreach </item> - <item> foreachi </item> - <item> getglobal </item> - <item> getn </item> - <item> gettagmethod </item> - <item> globals </item> - <item> newtag </item> - <item> setglobal </item> - <item> settag </item> - <item> settagmethod </item> - <item> sort </item> - <item> tag </item> - <item> tinsert </item> - <item> tremove </item> - <item> openfile </item> - <item> closefile </item> - <item> flush </item> - <item> seek </item> - <item> setlocale </item> - <item> execute </item> - <item> remove </item> - <item> rename </item> - <item> tmpname </item> - <item> getenv </item> - <item> date </item> - <item> clock </item> - <item> exit </item> - <item> readfrom </item> - <item> writeto </item> - <item> appendto </item> - <item> read </item> - <item> write </item> - <item> abs </item> - <item> sin </item> - <item> cos </item> - <item> tan </item> - <item> asin </item> - <item> acos </item> - <item> atan </item> - <item> atan2 </item> - <item> ceil </item> - <item> floor </item> - <item> mod </item> - <item> frexp </item> - <item> ldexp </item> - <item> squrt </item> - <item> min </item> - <item> max </item> - <item> log </item> - <item> log10 </item> - <item> exp </item> - <item> deg </item> - <item> rad </item> - <item> random </item> - <item> randomseed </item> - <item> strlen </item> - <item> strsub </item> - <item> strlower </item> - <item> strupper </item> - <item> strchar </item> - <item> strrep </item> - <item> ascii </item> - <item> strbyte </item> - <item> format </item> - <item> strfind </item> - <item> gsub </item> - <item> getinfo </item> - <item> getlocal </item> - <item> setlocal </item> - <item> setcallhook </item> - <item> setlinehook </item> - <item> getglobals </item> - <item> getmetatable </item> - <item> gcinfo </item> - <item> ipairs </item> - <item> loadfile </item> - <item> loadstring </item> - <item> pairs </item> - <item> pcall </item> - <item> require </item> - <item> setglobals </item> - <item> setmetatable </item> - <item> unpack </item> - <item> LUA_PATH </item> - <item> _LOADED </item> - <item> _VERSION </item> + <item> string.byte </item> <item> string.char </item> + <item> string.find </item> <item> string.len </item> + <item> string.lower </item> <item> string.rep </item> + <item> string.sub </item> <item> string.upper </item> + <item> string.format </item><item> string.gfind </item> + <item> string.gsub </item> <item> table.concat </item> + <item> table.getn </item> <item> table.sort </item> + <item> table.insert </item> <item> table.remove </item> + <item> table.setn </item> <item> math.abs </item> + <item> math.sin </item> <item> math.cos </item> + <item> math.tan </item> <item> math.asin </item> + <item> math.acos </item> <item> math.atan </item> + <item> math.atan2 </item> <item> math.ceil </item> + <item> math.floor </item> <item> math.mod </item> + <item> math.frexp </item> <item> math.ldexp </item> + <item> math.squrt </item> <item> math.min </item> + <item> math.max </item> <item> math.log </item> + <item> math.log10 </item> <item> math.exp </item> + <item> math.deg </item> <item> math.rad </item> + <item> math.random </item> <item> math.randomseed </item> + <item> io.close </item> <item> io.flush </item> + <item> io.input </item> <item> io.lines </item> + <item> io.open </item> <item> io.output </item> + <item> io.read </item> <item> io.stderr </item> + <item> io.stdin </item> <item> io.stdout </item> + <item> io.tmpfile </item> <item> io.write </item> + <item> os.clock </item> <item> os.date </item> + <item> os.difftime </item> <item> os.execute </item> + <item> os.exit </item> <item> os.getenv </item> + <item> os.remove </item> <item> os.rename </item> + <item> os.setlocale </item> <item> os.time </item> + <item> os.tmpname </item> <item> debug.getinfo </item> + <item> debug.getlocal </item><item> debug.setlocal </item> + <item> debug.sethook </item><item> debug.gethook </item> + <item> assert </item> <item> collectgarbage </item> + <item> dofile </item> <item> error </item> + <item> next </item> <item> print </item> + <item> rawget </item> <item> rawset </item> + <item> tonumber </item> <item> tostring </item> + <item> type </item> <item> _ALERT </item> + <item> _ERRORMESSAGE </item><item> call </item> + <item> getmetatable </item><item> gcinfo </item> + <item> ipairs </item> <item> loadfile </item> + <item> loadstring </item> <item> pairs </item> + <item> pcall </item> <item> require </item> + <item> LUA_PATH </item> <item> setmetatable </item> + <item> _LOADED </item> <item> _VERSION </item> + <item> gettagmethod </item><item> globals </item> + <item> newtag </item> <item> setglobal </item> + <item> settag </item> <item> settagmethod </item> + <item> setlinehook </item> <item> getglobals </item> + <item> copytagmethods </item><item> dostring </item> + <item> getglobal </item> <item> tag </item> + <item> setglobals </item> <item> unpack </item> + <item> exit </item> <item> readfrom </item> + <item> writeto </item> <item> appendto </item> + <item> read </item> <item> write </item> + <item> getinfo </item> <item> getlocal </item> + <item> setlocal </item> <item> setcallhook </item> + <item> tinsert </item> <item> tremove </item> + <item> flush </item> <item> seek </item> + <item> setlocale </item> <item> execute </item> + <item> remove </item> <item> rename </item> + <item> tmpname </item> <item> getenv </item> + <item> getn </item> <item> sort </item> + <item> table.foreach </item> <item> table.foreachi </item> + <item> foreach </item> <item> foreachi </item> + <item> abs </item> <item> sin </item> + <item> cos </item> <item> tan </item> + <item> asin </item> <item> acos </item> + <item> atan </item> <item> atan2 </item> + <item> ceil </item> <item> floor </item> + <item> mod </item> <item> frexp </item> + <item> ldexp </item> <item> squrt </item> + <item> min </item> <item> max </item> + <item> log </item> <item> log10 </item> + <item> exp </item> <item> deg </item> + <item> rad </item> <item> random </item> + <item> randomseed </item> <item> strlen </item> + <item> strsub </item> <item> strlower </item> + <item> strupper </item> <item> strchar </item> + <item> strrep </item> <item> ascii </item> + <item> strbyte </item> <item> format </item> + <item> strfind </item> <item> gsub </item> + <item> openfile </item> <item> closefile </item> + <item> date </item> <item> clock </item> + + + <item> cgilua </item> <item> cgilua.lp.translate </item> + <item> cgilua.contentheader </item> <item> cgilua.script_file </item> + <item> cgilua.header </item> <item> cgilua.script_path </item> + <item> cgilua.htmlheader </item> <item> cgilua.script_pdir </item> + <item> cgilua.redirect </item> <item> cgilua.script_vdir </item> + <item> cgilua.mkabsoluteurl </item> <item> cgilua.script_vpath </item> + <item> cgilua.mkurlpath </item> <item> cgilua.servervariable </item> + <item> cgilua.put </item> <item> cgilua.urlpath </item> + <item> cgilua.handlelp </item> <item> cgilua.errorlog </item> + <item> cgilua.lp.compile </item> <item> cgilua.seterrorhandler </item> + <item> cgilua.lp.include </item> <item> cgilua.seterroroutput </item> + <item> cgilua.lp.setcompatmode </item> <item> cgilua.addclosefunction </item> + <item> cgilua.lp.setoutfunc </item> <item> cgilua.addopenfunction </item> + <item> cgilua.addscripthandler </item> <item> cgilua.addscripthandler </item> + <item> cgilua.buildprocesshandler </item> <item> cgilua.setmaxfilesize </item> + <item> cgilua.setmaxinput </item> <item> cgilua.urlcode.encodetable </item> + <item> cgilua.urlcode.escape </item> <item> cgilua.urlcode.parsequery </item> + <item> cgilua.urlcode.unescape </item> <item> cgilua.urlcode.insertfield </item> + <item> cgilua.setoutfunc </item> <item> cgilua.addopenfunction </item> + <item> cgilua.doif </item> <item> cgilua.doscript </item> + <item> cgilua.pack </item> <item> cgilua.splitpath </item> + <item> cgilua.cookies.get </item> <item> cgilua.cookies.set </item> + <item> cgilua.cookies.sethtml </item> <item> cgilua.cookies.delete </item> + <item> cgilua.serialize </item> <item> cgilua.session.close </item> + <item> cgilua.session.data </item> <item> cgilua.session.load </item> + <item> cgilua.session.new </item> <item> cgilua.session.open </item> + <item> cgilua.session.save </item> <item> cgilua.session.setsessiondir </item> + <item> cgilua.session.delete </item> <item> cgilua.session </item> + <item> cgilua.cookies </item> + + <item> numrows </item> <item> connect </item> + <item> close </item> <item> fetch </item> + <item> getcolnames </item> <item> getcoltypes </item> + <item> commit </item> <item> rollback </item> + <item> setautocommit </item> + + <item> lfs </item> <item> lfs.attributes </item> + <item> lfs.chdir </item> <item> lfs.currentdir </item> + <item> lfs.dir </item> <item> lfs.lock </item> + <item> lfs.mkdir </item> <item> lfs.rmdir </item> + <item> lfs.touch </item> <item> lfs.unlock </item> + + <item> zip </item> <item> zip.open </item> + <item> zip.openfile </item> <item> files </item> + <item> seek </item> <item> close </item> + <item> lines </item> + + + </list> + <list name="attention"> + <item> TODO </item> + <item> FIXME </item> + <item> NOTE </item> </list> + <list name="deprecated"> + <item> table.foreach </item> <item> table.foreachi </item> + <item> foreach </item> <item> foreachi </item> + </list> + <contexts> - <context attribute="Normal Text" lineEndContext="#stay" name="Normal"> - <keyword attribute="Keyword" context="#stay" String="keywords" /> - <keyword attribute="BaseFunc" context="#stay" String="basefunc"/> - <HlCChar attribute="Char" context="#stay"/> - <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/> - <DetectChar attribute="Comment" context="Comment" char="#"/> - <DetectChar attribute="String" context="String" char="""/> - <AnyChar attribute="Symbol" context="#stay" String="!%&()+,-<=>?[]^{|}~"/> - <RegExpr attribute="Number" context="#stay" String="\d*\.?\d*e?\d+"/> + <context name="Normal" attribute="Normal Text" lineEndContext="#stay"> + <IncludeRules context="##DoxygenLua" /> + <keyword attribute="Error" context="#stay" String="deprecated" /> + <DetectSpaces /> + <RegExpr attribute="Comment" context="Block Comment" beginRegion="block comment" String="--\[(=*)\[" dynamic="true" /> + <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/> + <RegExpr attribute="Strings" context="String_block" String="\[(=*)\[" dynamic="true" /> + <DetectChar attribute="Strings" context="String_single" char="'"/> + <DetectChar attribute="Strings" context="String_double" char="""/> + <keyword attribute="BFunc" context="#stay" String="basefunc"/> + + <RegExpr attribute="Keyword" context="#stay" beginRegion="chunk" String="\bfunction\b" /> + <keyword attribute="Keyword" context="#stay" String="keywords" /> + <keyword attribute="Keyword" context="#stay" String="pseudo-variables" /> + <RegExpr attribute="Control" context="#stay" endRegion="chunk" beginRegion="chunk" String="\belse\b" /> + <RegExpr attribute="Control" context="#stay" endRegion="chunk" beginRegion="chunk" String="\belseif\b" /> + <RegExpr attribute="Control" context="#stay" beginRegion="chunk" String="\bdo\b" /> + <RegExpr attribute="Control" context="#stay" beginRegion="chunk" String="\bif\b" /> + <RegExpr attribute="Control" context="#stay" endRegion="chunk" String="\bend\b" /> + <keyword attribute="Control" context="#stay" String="control" /> + + <DetectChar attribute="Symbols" context="#stay" beginRegion="table" char="{" /> + <DetectChar attribute="Symbols" context="#stay" endRegion="table" char="}" /> + + <RegExpr attribute="Numbers" context="#stay" String="\b\d*\.?\d*(e|e\-|e\+)?\d+\b"/> + <RegExpr attribute="Numbers" context="#stay" String="\b-?0[xX][0-9a-fA-F]+\b"/> + + <RegExpr attribute="Normal Text" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*(?=\s*([({'"]|\[\[))\b" /> + <RegExpr attribute="Constant" context="#stay" String="\b[A-Z_][A-Z0-9_]*\b" /> + <RegExpr attribute="Variable" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*\b" /> + + <Detect2Chars attribute="Error" context="#stay" char="!" char1="="/> + <Detect2Chars attribute="Error" context="#stay" char="-" char1="="/> + <Detect2Chars attribute="Error" context="#stay" char="+" char1="="/> + <Detect2Chars attribute="Error" context="#stay" char="+" char1="+"/> + <Detect2Chars attribute="Error" context="#stay" char="." char1="="/> + <AnyChar attribute="Symbols" context="#stay" String="[]().=~+-*/^><#;" /> + </context> + <context name="Comment" attribute="Comment" lineEndContext="#pop"> + <Detect2Chars attribute="Alerts" context="#stay" char="-" char1="-" /> + <keyword attribute="Alerts" context="#stay" String="attention"/> + </context> + <context name="Block Comment" attribute="Comment" lineEndContext="#stay" dynamic="true" > + <RegExpr attribute="Comment" context="#pop" endRegion="block comment" String="\]%1\]" dynamic="true" /> + <Detect2Chars attribute="Alerts" context="#stay" char="-" char1="-" /> + <keyword attribute="Alerts" context="#stay" String="attention" /> + </context> + <context name="String_single" attribute="Strings" lineEndContext="Error"> + <RegExpr attribute="Symbols" context="#stay" String="\\(a|b|f|n|r|t|v|\\|"|\'|[|])" /> + <DetectChar attribute="Strings" context="#pop" char="'"/> + </context> + <context name="String_double" attribute="Strings" lineEndContext="Error"> + <RegExpr attribute="Symbols" context="#stay" String="\\[abfnrtv'"\\\[\]]" /> + <DetectChar attribute="Strings" context="#pop" char="""/> </context> - <context attribute="Comment" lineEndContext="#pop" name="Comment"> - <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" /> + <context name="String_block" attribute="Strings" lineEndContext="#stay" dynamic="true"> + <RegExpr attribute="Symbols" context="#stay" String="\\(a|b|f|n|r|t|v|\\|"|\'|[|])" /> + <RegExpr attribute="Strings" context="#pop" String="\]%1\]" dynamic="true" /> </context> - <context attribute="String" lineEndContext="#pop" name="String"> - <DetectChar attribute="String" context="#pop" char="""/> + <context name="Error" attribute="Error" lineEndContext="#stay"> </context> </contexts> <itemDatas> - <itemData name="Normal Text" defStyleNum="dsNormal"/> - <itemData name="Keyword" defStyleNum="dsKeyword"/> - <itemData name="Comment" defStyleNum="dsComment"/> - <itemData name="String" defStyleNum="dsString"/> - <itemData name="Decimal" defStyleNum="dsDecVal"/> - <itemData name="Number" defStyleNum="dsBaseN"/> - <itemData name="Symbol" defStyleNum="dsNormal"/> - <itemData name="BaseFunc" defStyleNum="dsNormal" color="#0095FF" selColor="#FFFFFF" bold="1" italic="0"/> - <itemData name="Alert" defStyleNum="dsAlert" /> + <itemData name="Alerts" defStyleNum="dsAlert" /> + <itemData name="BFunc" defStyleNum="dsFunction"/> + <itemData name="Comment" defStyleNum="dsComment"/> + <itemData name="Constant" defStyleNum="dsKeyword"/> + <itemData name="Control" defStyleNum="dsKeyword" color="#A1A100" selColor="#ffffff" bold="0" italic="0"/> + <itemData name="Error" defStyleNum="dsError"/> + <itemData name="Keyword" defStyleNum="dsKeyword"/> + <itemData name="Normal Text" defStyleNum="dsNormal"/> + <itemData name="Numbers" defStyleNum="dsDecVal"/> + <itemData name="Strings" defStyleNum="dsString"/> + <itemData name="Symbols" defStyleNum="dsOthers"/> + <itemData name="Variable" defStyleNum="dsKeyword" color="#5555FF" selColor="#ffffff" bold="0" italic="0" /> </itemDatas> </highlighting> <general> <comments> <comment name="singleLine" start="--" /> + <comment name="multiLine" start="--[[" end="]]" /> </comments> <keywords casesensitive="1" weakDeliminator="." additionalDeliminator="""/> </general> -</language> -<!-- kate: space-indent on; indent-width 2; replace-tabs on; --> +</language>
\ No newline at end of file |