summaryrefslogtreecommitdiffstats
path: root/misc/syntax/lua.syntax
diff options
context:
space:
mode:
Diffstat (limited to 'misc/syntax/lua.syntax')
-rw-r--r--misc/syntax/lua.syntax295
1 files changed, 295 insertions, 0 deletions
diff --git a/misc/syntax/lua.syntax b/misc/syntax/lua.syntax
new file mode 100644
index 0000000..0d1b816
--- /dev/null
+++ b/misc/syntax/lua.syntax
@@ -0,0 +1,295 @@
+#
+# Lua syntax highlighting
+#
+# History:
+#
+# - 2015: Support for long strings and long comments.
+# - 2011: String-literal fixes.
+# - 2005: Started by Mike Gorchak <lestat@i.com.ua>
+
+context default lightgray
+
+# keywords
+ keyword whole and white
+ keyword whole break white
+ keyword whole do white
+ keyword whole else white
+ keyword whole elseif white
+ keyword whole end white
+ keyword whole false white
+ keyword whole for white
+ keyword whole function white
+ keyword whole if white
+ keyword whole in white
+ keyword whole local white
+ keyword whole nil white
+ keyword whole not white
+ keyword whole or white
+ keyword whole repeat white
+ keyword whole return white
+ keyword whole then white
+ keyword whole true white
+ keyword whole until white
+ keyword whole while white
+
+# Comment and string delimiters
+ keyword -- brown
+ keyword ]\[=\]] brown
+ # The following colorizes the start delimiter of "long" strings.
+ # The start delimiter of "long" comments isn't affected by the following
+ # directive but gets its color from the "--" above (gods know why).
+ keyword [\[=\][ brown
+
+# Operators
+ keyword ( white
+ keyword ) white
+ keyword { white
+ keyword } white
+ keyword [ white
+ keyword ] white
+ keyword . white
+ keyword , white
+ keyword ; white
+ keyword : white
+ keyword .. white
+ keyword ... white
+ keyword = white
+ keyword == white
+ keyword ~= white
+ keyword <= white
+ keyword => white
+ keyword > white
+ keyword < white
+ keyword \+ white
+ keyword - white
+ keyword \* white
+ keyword / white
+ keyword ^ white
+
+
+# Library Functions
+
+ # basiclib
+ keyword whole error yellow
+ keyword whole getmetatable yellow
+ keyword whole setmetatable yellow
+ keyword whole getfenv yellow
+ keyword whole setfenv yellow
+ keyword whole next yellow
+ keyword whole ipairs yellow
+ keyword whole pairs yellow
+ keyword whole print yellow
+ keyword whole tonumber yellow
+ keyword whole tostring yellow
+ keyword whole type yellow
+ keyword whole assert yellow
+ #keyword whole unpack yellow # modern code should use table.unpack()
+ keyword whole rawequal yellow
+ keyword whole rawget yellow
+ keyword whole rawset yellow
+ keyword whole pcall yellow
+ keyword whole xpcall yellow
+ keyword whole collectgarbage yellow
+ keyword whole gcinfo yellow
+ keyword whole loadfile yellow
+ keyword whole dofile yellow
+ keyword whole loadstring yellow
+ keyword whole require yellow
+ keyword whole coroutine.create yellow
+ keyword whole coroutine.wrap yellow
+ keyword whole coroutine.resume yellow
+ keyword whole coroutine.yield yellow
+ keyword whole coroutine.status yellow
+
+ # stringlib
+ keyword whole string.len yellow
+ keyword whole string.sub yellow
+ keyword whole string.lower yellow
+ keyword whole string.upper yellow
+ keyword whole string.char yellow
+ keyword whole string.rep yellow
+ keyword whole string.byte yellow
+ keyword whole string.format yellow
+ keyword whole string.dump yellow
+ keyword whole string.find yellow
+ keyword whole string.gfind yellow
+ keyword whole string.gsub yellow
+
+ # tablelib
+ keyword whole table.concat yellow
+ keyword whole table.foreach yellow
+ keyword whole table.foreachi yellow
+ keyword whole table.getn yellow
+ keyword whole table.setn yellow
+ keyword whole table.sort yellow
+ keyword whole table.insert yellow
+ keyword whole table.remove yellow
+ keyword whole table.unpack yellow
+
+ # mathlib
+ keyword whole math.abs yellow
+ keyword whole math.sin yellow
+ keyword whole math.cos yellow
+ keyword whole math.tan yellow
+ keyword whole math.asin yellow
+ keyword whole math.acos yellow
+ keyword whole math.atan yellow
+ keyword whole math.atan2 yellow
+ keyword whole math.ceil yellow
+ keyword whole math.floor yellow
+ keyword whole math.mod yellow
+ keyword whole math.frexp yellow
+ keyword whole math.ldexp yellow
+ keyword whole math.sqrt yellow
+ keyword whole math.min yellow
+ keyword whole math.max yellow
+ keyword whole math.log yellow
+ keyword whole math.log10 yellow
+ keyword whole math.exp yellow
+ keyword whole math.deg yellow
+ keyword whole math.pow yellow
+ keyword whole math.rad yellow
+ keyword whole math.random yellow
+ keyword whole math.randomseed yellow
+
+ # iolib
+ keyword whole io.input yellow
+ keyword whole io.output yellow
+ keyword whole io.lines yellow
+ keyword whole io.close yellow
+ keyword whole io.flush yellow
+ keyword whole io.open yellow
+ keyword whole io.popen yellow
+ keyword whole io.read yellow
+ keyword whole io.tmpfile yellow
+ keyword whole io.type yellow
+ keyword whole io.write yellow
+
+ # filelib
+ keyword whole file.flush yellow
+ keyword whole file.read yellow
+ keyword whole file.lines yellow
+ keyword whole file.seek yellow
+ keyword whole file.write yellow
+ keyword whole file.close yellow
+ keyword whole file.__gc yellow
+ keyword whole file.__tostring yellow
+
+ # syslib
+ keyword whole os.clock yellow
+ keyword whole os.date yellow
+ keyword whole os.difftime yellow
+ keyword whole os.execute yellow
+ keyword whole os.exit yellow
+ keyword whole os.getenv yellow
+ keyword whole os.remove yellow
+ keyword whole os.rename yellow
+ keyword whole os.setlocale yellow
+ keyword whole os.time yellow
+ keyword whole os.tmpname yellow
+
+ # debuglib
+ keyword whole debug.getlocal yellow
+ keyword whole debug.getinfo yellow
+ keyword whole debug.gethook yellow
+ keyword whole debug.getupvalue yellow
+ keyword whole debug.sethook yellow
+ keyword whole debug.setlocal yellow
+ keyword whole debug.setupvalue yellow
+ keyword whole debug.debug yellow
+ keyword whole debug.traceback yellow
+
+
+# Global Variables
+ keyword whole _VERSION brightmagenta
+ keyword whole _G brightmagenta
+
+#
+# Long comments
+#
+
+context exclusive --[[ ]] brown
+ # hightlights ldoc tags: "@todo", "@param", "@function" etc.
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+context exclusive --[=[ ]=] brown
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+context exclusive --[==[ ]==] brown
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+context exclusive --[===[ ]===] brown
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+# 4 equals and up (the number of ='s doesn't have to match, but that's the best we can do):
+context exclusive --[====\[=\][ ]====\[=\]] brown
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+
+#
+# Long strings
+#
+
+context exclusive [[ ]] brightmagenta
+ spellcheck
+context exclusive [=[ ]=] brightmagenta
+ spellcheck
+context exclusive [==[ ]==] brightmagenta
+ spellcheck
+context exclusive [===[ ]===] brightmagenta
+ spellcheck
+# 4 equals and up (the number of ='s doesn't have to match, but that's the best we can do):
+context exclusive [====\[=\][ ]====\[=\]] brightmagenta
+ spellcheck
+
+
+# Simple comments
+context exclusive -- \n brown
+ keyword @\[abcdefghijklmnopqrstuvwxyz\] brightred base
+ spellcheck
+
+# Shebang line
+context linestart #! \n brown
+
+# Strings
+context " " green
+ keyword %a brightgreen
+ keyword %c brightgreen
+ keyword %d brightgreen
+ keyword %l brightgreen
+ keyword %p brightgreen
+ keyword %q brightgreen
+ keyword %s brightgreen
+ keyword %u brightgreen
+ keyword %w brightgreen
+ keyword %x brightgreen
+ keyword %z brightgreen
+ keyword \\\\ brightgreen
+ keyword \\" brightgreen
+ keyword \\' brightgreen
+ keyword \\\{abtnvfr\} brightgreen
+ keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
+ keyword \\\{01234567\}\{01234567\} brightgreen
+ keyword \\\{01234567\} brightgreen
+ spellcheck
+
+context ' ' green
+ keyword %a brightgreen
+ keyword %c brightgreen
+ keyword %d brightgreen
+ keyword %l brightgreen
+ keyword %p brightgreen
+ keyword %q brightgreen
+ keyword %s brightgreen
+ keyword %u brightgreen
+ keyword %w brightgreen
+ keyword %x brightgreen
+ keyword %z brightgreen
+ keyword \\\\ brightgreen
+ keyword \\" brightgreen
+ keyword \\' brightgreen
+ keyword \\\{abtnvfr\} brightgreen
+ keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
+ keyword \\\{01234567\}\{01234567\} brightgreen
+ keyword \\\{01234567\} brightgreen
+ spellcheck