summaryrefslogtreecommitdiffstats
path: root/misc/syntax/osl.syntax
diff options
context:
space:
mode:
Diffstat (limited to 'misc/syntax/osl.syntax')
-rw-r--r--misc/syntax/osl.syntax139
1 files changed, 139 insertions, 0 deletions
diff --git a/misc/syntax/osl.syntax b/misc/syntax/osl.syntax
new file mode 100644
index 0000000..e8607c0
--- /dev/null
+++ b/misc/syntax/osl.syntax
@@ -0,0 +1,139 @@
+# Syntax rules for the C and the C++ programming languages
+#
+# List of keywords is based on opencl-mode.el from
+# Salmane Bah <salmane.bah@u-bordeaux.fr>
+
+context default
+# Keywords
+ keyword whole break yellow
+ keyword whole closure yellow
+ keyword whole color yellow
+ keyword whole continue yellow
+ keyword whole do yellow
+ keyword whole else yellow
+ keyword whole float yellow
+ keyword whole for yellow
+ keyword whole if yellow
+ keyword whole illuminance yellow
+ keyword whole illuminate yellow
+ keyword whole int yellow
+ keyword whole matrix yellow
+ keyword whole normal yellow
+ keyword whole output yellow
+ keyword whole point yellow
+ keyword whole public yellow
+ keyword whole return yellow
+ keyword whole string yellow
+ keyword whole struct yellow
+ keyword whole vector yellow
+ keyword whole void yellow
+ keyword whole while yellow
+ keyword whole or yellow
+ keyword whole and yellow
+ keyword whole not yellow
+ keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta
+
+# Reserved words
+ keyword whole bool red
+ keyword whole case red
+ keyword whole char red
+ keyword whole class red
+ keyword whole const red
+ keyword whole default red
+ keyword whole double red
+ keyword whole enum red
+ keyword whole extern red
+ keyword whole false red
+ keyword whole friend red
+ keyword whole inline red
+ keyword whole long red
+ keyword whole private red
+ keyword whole protected red
+ keyword whole short red
+ keyword whole signed red
+ keyword whole sizeof red
+ keyword whole static red
+ keyword whole struct red
+ keyword whole switch red
+ keyword whole template red
+ keyword whole this red
+ keyword whole true red
+ keyword whole typedef red
+ keyword whole uniform red
+ keyword whole union red
+ keyword whole unsigned red
+ keyword whole varying red
+ keyword whole virtual red
+
+# Shader types
+ keyword whole shader white
+ keyword whole surface white
+ keyword whole displacement white
+ keyword whole volume white
+
+ keyword /\* brown
+ keyword \*/ brown
+ keyword // brown
+
+ keyword '\\\{"abtnvfr\}' brightgreen
+ keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
+ keyword '\\'' brightgreen
+ keyword '\\\\' brightgreen
+ keyword '\\0' brightgreen
+ keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' brightgreen
+
+# punctuation characters, sorted by ASCII code
+ keyword ! yellow
+ keyword % yellow
+ keyword && yellow
+ keyword & brightmagenta
+ keyword ( brightcyan
+ keyword ) brightcyan
+ keyword \* yellow
+ keyword \+ yellow
+ keyword , brightcyan
+ keyword - yellow
+ keyword / yellow
+ keyword : brightcyan
+ keyword ; brightmagenta
+ keyword < yellow
+ keyword = yellow
+ keyword > yellow
+ keyword ? brightcyan
+ keyword [ brightcyan
+ keyword ] brightcyan
+ keyword ^ brightmagenta
+ keyword { brightcyan
+ keyword || yellow
+ keyword | brightmagenta
+ keyword } brightcyan
+ keyword ~ brightmagenta
+
+context exclusive /\* \*/ brown
+ spellcheck
+
+context exclusive // \n brown
+ spellcheck
+
+context linestart # \n brightred
+ keyword \\\n yellow
+ keyword /\**\*/ brown
+ keyword //*\n brown
+ keyword "+" red
+ keyword <+> red
+
+context " " green
+ spellcheck
+ keyword \\" brightgreen
+ keyword %% brightgreen
+ keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
+ keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
+ keyword %\[hl\]n brightgreen
+ keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
+ keyword %[*] brightgreen
+ keyword %c brightgreen
+ keyword %p brightgreen
+ keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
+ keyword \\\\ brightgreen
+ keyword \\' brightgreen
+ keyword \\\{abtnvfr\} brightgreen