romanvbabenko-rhighlightjs 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/.document +5 -0
  2. data/.gitignore +7 -0
  3. data/LICENSE +20 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.rdoc +51 -0
  6. data/Rakefile +58 -0
  7. data/VERSION +1 -0
  8. data/assets/images/brown_papersq.png +0 -0
  9. data/assets/images/paperbg.gif +0 -0
  10. data/assets/images/school_book.png +0 -0
  11. data/assets/javascripts/highlight.js +570 -0
  12. data/assets/javascripts/highlight.pack.js +1 -0
  13. data/assets/javascripts/languages/1c.js +95 -0
  14. data/assets/javascripts/languages/apache.js +442 -0
  15. data/assets/javascripts/languages/avrasm.js +89 -0
  16. data/assets/javascripts/languages/axapta.js +52 -0
  17. data/assets/javascripts/languages/bash.js +81 -0
  18. data/assets/javascripts/languages/cpp.js +42 -0
  19. data/assets/javascripts/languages/cs.js +47 -0
  20. data/assets/javascripts/languages/css.js +81 -0
  21. data/assets/javascripts/languages/delphi.js +82 -0
  22. data/assets/javascripts/languages/diff.js +65 -0
  23. data/assets/javascripts/languages/django.js +61 -0
  24. data/assets/javascripts/languages/dos.js +33 -0
  25. data/assets/javascripts/languages/dynamic.js +460 -0
  26. data/assets/javascripts/languages/html-xml.js +140 -0
  27. data/assets/javascripts/languages/ini.js +40 -0
  28. data/assets/javascripts/languages/java.js +58 -0
  29. data/assets/javascripts/languages/javascript.js +50 -0
  30. data/assets/javascripts/languages/lisp.js +89 -0
  31. data/assets/javascripts/languages/mel.js +51 -0
  32. data/assets/javascripts/languages/parser3.js +54 -0
  33. data/assets/javascripts/languages/perl.js +152 -0
  34. data/assets/javascripts/languages/php.js +54 -0
  35. data/assets/javascripts/languages/profile.js +51 -0
  36. data/assets/javascripts/languages/python.js +75 -0
  37. data/assets/javascripts/languages/renderman.js +239 -0
  38. data/assets/javascripts/languages/ruby.js +176 -0
  39. data/assets/javascripts/languages/smalltalk.js +52 -0
  40. data/assets/javascripts/languages/sql.js +52 -0
  41. data/assets/javascripts/languages/static.js +223 -0
  42. data/assets/javascripts/languages/vbscript.js +27 -0
  43. data/assets/javascripts/languages/www.js +257 -0
  44. data/assets/javascripts/styleswitch.js +57 -0
  45. data/assets/stylesheets/ascetic.css +42 -0
  46. data/assets/stylesheets/brown_paper.css +104 -0
  47. data/assets/stylesheets/brown_papersq.png +0 -0
  48. data/assets/stylesheets/dark.css +101 -0
  49. data/assets/stylesheets/default.css +103 -0
  50. data/assets/stylesheets/far.css +113 -0
  51. data/assets/stylesheets/github.css +90 -0
  52. data/assets/stylesheets/idea.css +74 -0
  53. data/assets/stylesheets/ir_black.css +67 -0
  54. data/assets/stylesheets/magula.css +105 -0
  55. data/assets/stylesheets/notebook.css +106 -0
  56. data/assets/stylesheets/school_book.css +106 -0
  57. data/assets/stylesheets/school_book.png +0 -0
  58. data/assets/stylesheets/sunburst.css +112 -0
  59. data/assets/stylesheets/vs.css +68 -0
  60. data/assets/stylesheets/zenburn.css +113 -0
  61. data/assets/stylesheets/zenburn.css.txt +108 -0
  62. data/bin/rhighlightjs +6 -0
  63. data/init.rb +2 -0
  64. data/install.rb +3 -0
  65. data/lib/rhighlightjs.rb +28 -0
  66. data/rhighlightjs.gemspec +170 -0
  67. data/tasks/rhighlightjs_tasks.rake +18 -0
  68. data/test/rhighlightjs_test.rb +7 -0
  69. data/test/test_helper.rb +10 -0
  70. data/uninstall.rb +1 -0
  71. metadata +134 -0
@@ -0,0 +1,152 @@
1
+ /*
2
+ Language: Perl
3
+ Author: Peter Leonov <gojpeg@yandex.ru>
4
+ */
5
+
6
+ hljs.LANGUAGES.perl = function(){
7
+ var PERL_DEFAULT_CONTAINS = ['comment', 'string', 'number', 'regexp', 'sub', 'variable', 'operator', 'pod'];
8
+ var PERL_KEYWORDS = {'getpwent': 1, 'getservent': 1, 'quotemeta': 1, 'msgrcv': 1, 'scalar': 1, 'kill': 1, 'dbmclose': 1, 'undef': 1, 'lc': 1, 'ma': 1, 'syswrite': 1, 'tr': 1, 'send': 1, 'umask': 1, 'sysopen': 1, 'shmwrite': 1, 'vec': 1, 'qx': 1, 'utime': 1, 'local': 1, 'oct': 1, 'semctl': 1, 'localtime': 1, 'readpipe': 1, 'do': 1, 'return': 1, 'format': 1, 'read': 1, 'sprintf': 1, 'dbmopen': 1, 'pop': 1, 'getpgrp': 1, 'not': 1, 'getpwnam': 1, 'rewinddir': 1, 'qq': 1, 'fileno': 1, 'qw': 1, 'endprotoent': 1, 'wait': 1, 'sethostent': 1, 'bless': 1, 's': 1, 'opendir': 1, 'continue': 1, 'each': 1, 'sleep': 1, 'endgrent': 1, 'shutdown': 1, 'dump': 1, 'chomp': 1, 'connect': 1, 'getsockname': 1, 'die': 1, 'socketpair': 1, 'close': 1, 'flock': 1, 'exists': 1, 'index': 1, 'shmget': 1, 'sub': 1, 'for': 1, 'endpwent': 1, 'redo': 1, 'lstat': 1, 'msgctl': 1, 'setpgrp': 1, 'abs': 1, 'exit': 1, 'select': 1, 'print': 1, 'ref': 1, 'gethostbyaddr': 1, 'unshift': 1, 'fcntl': 1, 'syscall': 1, 'goto': 1, 'getnetbyaddr': 1, 'join': 1, 'gmtime': 1, 'symlink': 1, 'semget': 1, 'splice': 1, 'x': 1, 'getpeername': 1, 'recv': 1, 'log': 1, 'setsockopt': 1, 'cos': 1, 'last': 1, 'reverse': 1, 'gethostbyname': 1, 'getgrnam': 1, 'study': 1, 'formline': 1, 'endhostent': 1, 'times': 1, 'chop': 1, 'length': 1, 'gethostent': 1, 'getnetent': 1, 'pack': 1, 'getprotoent': 1, 'getservbyname': 1, 'rand': 1, 'mkdir': 1, 'pos': 1, 'chmod': 1, 'y': 1, 'substr': 1, 'endnetent': 1, 'printf': 1, 'next': 1, 'open': 1, 'msgsnd': 1, 'readdir': 1, 'use': 1, 'unlink': 1, 'getsockopt': 1, 'getpriority': 1, 'rindex': 1, 'wantarray': 1, 'hex': 1, 'system': 1, 'getservbyport': 1, 'endservent': 1, 'int': 1, 'chr': 1, 'untie': 1, 'rmdir': 1, 'prototype': 1, 'tell': 1, 'listen': 1, 'fork': 1, 'shmread': 1, 'ucfirst': 1, 'setprotoent': 1, 'else': 1, 'sysseek': 1, 'link': 1, 'getgrgid': 1, 'shmctl': 1, 'waitpid': 1, 'unpack': 1, 'getnetbyname': 1, 'reset': 1, 'chdir': 1, 'grep': 1, 'split': 1, 'require': 1, 'caller': 1, 'lcfirst': 1, 'until': 1, 'warn': 1, 'while': 1, 'values': 1, 'shift': 1, 'telldir': 1, 'getpwuid': 1, 'my': 1, 'getprotobynumber': 1, 'delete': 1, 'and': 1, 'sort': 1, 'uc': 1, 'defined': 1, 'srand': 1, 'accept': 1, 'package': 1, 'seekdir': 1, 'getprotobyname': 1, 'semop': 1, 'our': 1, 'rename': 1, 'seek': 1, 'if': 1, 'q': 1, 'chroot': 1, 'sysread': 1, 'setpwent': 1, 'no': 1, 'crypt': 1, 'getc': 1, 'chown': 1, 'sqrt': 1, 'write': 1, 'setnetent': 1, 'setpriority': 1, 'foreach': 1, 'tie': 1, 'sin': 1, 'msgget': 1, 'map': 1, 'stat': 1, 'getlogin': 1, 'unless': 1, 'elsif': 1, 'truncate': 1, 'exec': 1, 'keys': 1, 'glob': 1, 'tied': 1, 'closedir': 1, 'ioctl': 1, 'socket': 1, 'readlink': 1, 'eval': 1, 'xor': 1, 'readline': 1, 'binmode': 1, 'setservent': 1, 'eof': 1, 'ord': 1, 'bind': 1, 'alarm': 1, 'pipe': 1, 'atan2': 1, 'getgrent': 1, 'exp': 1, 'time': 1, 'push': 1, 'setgrent': 1, 'gt': 1, 'lt': 1, 'or': 1, 'ne': 1, 'm': 1};
9
+ return {
10
+ defaultMode: {
11
+ lexems: [hljs.IDENT_RE],
12
+ contains: PERL_DEFAULT_CONTAINS,
13
+ keywords: PERL_KEYWORDS
14
+ },
15
+ modes: [
16
+
17
+ // variables
18
+ {
19
+ className: 'variable',
20
+ begin: '\\$\\d', end: '^'
21
+ },
22
+ {
23
+ className: 'variable',
24
+ begin: '[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)', end: '^'
25
+ },
26
+
27
+ // numbers and strings
28
+ {
29
+ className: 'subst',
30
+ begin: '[$@]\\{', end: '\}',
31
+ lexems: [hljs.IDENT_RE],
32
+ keywords: PERL_KEYWORDS,
33
+ contains: PERL_DEFAULT_CONTAINS,
34
+ relevance: 10
35
+ },
36
+ {
37
+ className: 'number',
38
+ begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', end: '^',
39
+ relevance: 0
40
+ },
41
+ {
42
+ className: 'string',
43
+ begin: 'q[qwxr]?\\s*\\(', end: '\\)',
44
+ contains: ['escape', 'subst', 'variable'],
45
+ relevance: 5
46
+ },
47
+ {
48
+ className: 'string',
49
+ begin: 'q[qwxr]?\\s*\\[', end: '\\]',
50
+ contains: ['escape', 'subst', 'variable'],
51
+ relevance: 5
52
+ },
53
+ {
54
+ className: 'string',
55
+ begin: 'q[qwxr]?\\s*\\{', end: '\\}',
56
+ contains: ['escape', 'subst', 'variable'],
57
+ relevance: 5
58
+ },
59
+ {
60
+ className: 'string',
61
+ begin: 'q[qwxr]?\\s*\\|', end: '\\|',
62
+ contains: ['escape', 'subst', 'variable'],
63
+ relevance: 5
64
+ },
65
+ {
66
+ className: 'string',
67
+ begin: 'q[qwxr]?\\s*\\<', end: '\\>',
68
+ contains: ['escape', 'subst', 'variable'],
69
+ relevance: 5
70
+ },
71
+ {
72
+ className: 'string',
73
+ begin: 'qw\\s+q', end: 'q',
74
+ contains: ['escape', 'subst', 'variable'],
75
+ relevance: 5
76
+ },
77
+ {
78
+ className: 'string',
79
+ begin: '\'', end: '\'',
80
+ contains: ['escape'],
81
+ relevance: 0
82
+ },
83
+ {
84
+ className: 'string',
85
+ begin: '"', end: '"',
86
+ contains: ['escape','subst','variable'],
87
+ relevance: 0
88
+ },
89
+ hljs.BACKSLASH_ESCAPE,
90
+ {
91
+ className: 'string',
92
+ begin: '`', end: '`',
93
+ contains: ['escape']
94
+ },
95
+
96
+ // regexps
97
+ {
98
+ className: 'regexp',
99
+ begin: '(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*', end: '^',
100
+ relevance: 10
101
+ },
102
+ {
103
+ className: 'regexp',
104
+ begin: '(m|qr)?/', end: '/[a-z]*',
105
+ contains: ['escape'],
106
+ relevance: 0 // allows empty "//" which is a common comment delimiter in other languages
107
+ },
108
+
109
+ // bareword context
110
+ {
111
+ className: 'string',
112
+ begin: '{\\w+}', end: '^',
113
+ relevance: 0
114
+ },
115
+ {
116
+ className: 'string',
117
+ begin: '\-?\\w+\\s*\\=\\>', end: '^',
118
+ relevance: 0
119
+ },
120
+
121
+ // subroutines
122
+ {
123
+ className: 'sub',
124
+ begin: '\\bsub\\b', end: '(\\s*\\(.*?\\))?[;{]',
125
+ lexems: [hljs.IDENT_RE],
126
+ keywords: {'sub':1},
127
+ relevance: 5
128
+ },
129
+
130
+ // operators
131
+ {
132
+ className: 'operator',
133
+ begin: '-\\w\\b', end: '^',
134
+ relevance: 0
135
+ },
136
+
137
+ // comments
138
+ hljs.HASH_COMMENT_MODE,
139
+ {
140
+ className: 'comment',
141
+ begin: '^(__END__|__DATA__)', end: '\\n$',
142
+ relevance: 5
143
+ },
144
+ // pod
145
+ {
146
+ className: 'pod',
147
+ begin: '\\=\\w', end: '\\=cut'
148
+ }
149
+
150
+ ]
151
+ };
152
+ }();
@@ -0,0 +1,54 @@
1
+ /*
2
+ Language: PHP
3
+ Author: Victor Karamzin <Victor.Karamzin@enterra-inc.com>
4
+ */
5
+
6
+ hljs.LANGUAGES.php = {
7
+ defaultMode: {
8
+ lexems: [hljs.IDENT_RE],
9
+ contains: ['comment', 'number', 'string', 'variable', 'preprocessor'],
10
+ keywords: {'and': 1, 'include_once': 1, 'list': 1, 'abstract': 1, 'global': 1, 'private': 1, 'echo': 1, 'interface': 1, 'as': 1, 'static': 1, 'endswitch': 1, 'array': 1, 'null': 1, 'if': 1, 'endwhile': 1, 'or': 1, 'const': 1, 'for': 1, 'endforeach': 1, 'self': 1, 'var': 1, 'while': 1, 'isset': 1, 'public': 1, 'protected': 1, 'exit': 1, 'foreach': 1, 'throw': 1, 'elseif': 1, 'extends': 1, 'include': 1, '__FILE__': 1, 'empty': 1, 'require_once': 1, 'function': 1, 'do': 1, 'xor': 1, 'return': 1, 'implements': 1, 'parent': 1, 'clone': 1, 'use': 1, '__CLASS__': 1, '__LINE__': 1, 'else': 1, 'break': 1, 'print': 1, 'eval': 1, 'new': 1, 'catch': 1, '__METHOD__': 1, 'class': 1, 'case': 1, 'exception': 1, 'php_user_filter': 1, 'default': 1, 'die': 1, 'require': 1, '__FUNCTION__': 1, 'enddeclare': 1, 'final': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'endfor': 1, 'endif': 1, 'declare': 1, 'unset': 1}
11
+ },
12
+ case_insensitive: true,
13
+ modes: [
14
+ hljs.C_LINE_COMMENT_MODE,
15
+ hljs.HASH_COMMENT_MODE,
16
+ {
17
+ className: 'comment',
18
+ begin: '/\\*', end: '\\*/',
19
+ contains: ['phpdoc']
20
+ },
21
+ {
22
+ className: 'phpdoc',
23
+ begin: '\\s@[A-Za-z]+', end: '^',
24
+ relevance: 10
25
+ },
26
+ hljs.C_NUMBER_MODE,
27
+ {
28
+ className: 'string',
29
+ begin: '\'', end: '\'',
30
+ contains: ['escape'],
31
+ relevance: 0
32
+ },
33
+ {
34
+ className: 'string',
35
+ begin: '"', end: '"',
36
+ contains: ['escape'],
37
+ relevance: 0
38
+ },
39
+ hljs.BACKSLASH_ESCAPE,
40
+ {
41
+ className: 'variable',
42
+ begin: '\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*', end: '^'
43
+ },
44
+ {
45
+ className: 'preprocessor',
46
+ begin: '<\\?php', end: '^',
47
+ relevance: 10
48
+ },
49
+ {
50
+ className: 'preprocessor',
51
+ begin: '\\?>', end: '^'
52
+ }
53
+ ]
54
+ };
@@ -0,0 +1,51 @@
1
+ /*
2
+ Language: Python profile
3
+ Description: Python profiler results
4
+ Author: Brian Beck <exogen@gmail.com>
5
+ */
6
+
7
+ hljs.LANGUAGES.profile = {
8
+ defaultMode: {
9
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
10
+ contains: ['number', 'builtin', 'filename', 'header', 'summary', 'string', 'function']
11
+ },
12
+ modes: [
13
+ hljs.C_NUMBER_MODE,
14
+ hljs.APOS_STRING_MODE,
15
+ hljs.QUOTE_STRING_MODE,
16
+ {
17
+ className: 'summary',
18
+ begin: 'function calls', end: '$',
19
+ contains: ['number'],
20
+ relevance: 10
21
+ },
22
+ {
23
+ className: 'header',
24
+ begin: '(ncalls|tottime|cumtime)', end: '$',
25
+ lexems: [hljs.IDENT_RE],
26
+ keywords: {'ncalls': 1, 'tottime': 10, 'cumtime': 10, 'filename': 1},
27
+ relevance: 10
28
+ },
29
+ {
30
+ className: 'function',
31
+ begin: '\\(', end: '\\)',
32
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
33
+ contains: ['title']
34
+ },
35
+ {
36
+ className: 'title',
37
+ begin: hljs.UNDERSCORE_IDENT_RE, end: '^'
38
+ },
39
+ {
40
+ className: 'builtin',
41
+ begin: '{', end: '}',
42
+ contains: ['string'],
43
+ excludeBegin: true, excludeEnd: true
44
+ },
45
+ {
46
+ className: 'filename',
47
+ begin: '(/\w|[a-zA-Z_][\da-zA-Z_]+\\.[\da-zA-Z_]{1,3})', end: ':',
48
+ excludeEnd: true
49
+ }
50
+ ]
51
+ };
@@ -0,0 +1,75 @@
1
+ /*
2
+ Language: Python
3
+ */
4
+
5
+ hljs.LANGUAGES.python = {
6
+ defaultMode: {
7
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
8
+ illegal: '(</|->)',
9
+ contains: ['comment', 'string', 'function', 'class', 'number', 'decorator'],
10
+ keywords: {
11
+ 'keyword': {'and': 1, 'elif': 1, 'is': 1, 'global': 1, 'as': 1, 'in': 1, 'if': 1, 'from': 1, 'raise': 1, 'for': 1, 'except': 1, 'finally': 1, 'print': 1, 'import': 1, 'pass': 1, 'return': 1, 'exec': 1, 'else': 1, 'break': 1, 'not': 1, 'with': 1, 'class': 1, 'assert': 1, 'yield': 1, 'try': 1, 'while': 1, 'continue': 1, 'del': 1, 'or': 1, 'def': 1, 'lambda': 1},
12
+ 'built_in': {'None': 1, 'True': 1, 'False': 1, 'Ellipsis': 1, 'NotImplemented': 1}
13
+ }
14
+ },
15
+ modes: [
16
+ {
17
+ className: 'function',
18
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
19
+ begin: '\\bdef ', end: ':',
20
+ illegal: '$',
21
+ keywords: {'def': 1},
22
+ contains: ['title', 'params'],
23
+ relevance: 10
24
+ },
25
+ {
26
+ className: 'class',
27
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
28
+ begin: '\\bclass ', end: ':',
29
+ illegal: '[${]',
30
+ keywords: {'class': 1},
31
+ contains: ['title', 'params',],
32
+ relevance: 10
33
+ },
34
+ {
35
+ className: 'title',
36
+ begin: hljs.UNDERSCORE_IDENT_RE, end: '^'
37
+ },
38
+ {
39
+ className: 'params',
40
+ begin: '\\(', end: '\\)',
41
+ contains: ['string']
42
+ },
43
+ hljs.HASH_COMMENT_MODE,
44
+ hljs.C_NUMBER_MODE,
45
+ {
46
+ className: 'string',
47
+ begin: 'u?r?\'\'\'', end: '\'\'\'',
48
+ relevance: 10
49
+ },
50
+ {
51
+ className: 'string',
52
+ begin: 'u?r?"""', end: '"""',
53
+ relevance: 10
54
+ },
55
+ hljs.APOS_STRING_MODE,
56
+ hljs.QUOTE_STRING_MODE,
57
+ hljs.BACKSLASH_ESCAPE,
58
+ {
59
+ className: 'string',
60
+ begin: '(u|r|ur)\'', end: '\'',
61
+ contains: ['escape'],
62
+ relevance: 10
63
+ },
64
+ {
65
+ className: 'string',
66
+ begin: '(u|r|ur)"', end: '"',
67
+ contains: ['escape'],
68
+ relevance: 10
69
+ },
70
+ {
71
+ className: 'decorator',
72
+ begin: '@', end: '$'
73
+ }
74
+ ]
75
+ };
@@ -0,0 +1,239 @@
1
+ /*
2
+ Language: RenderMan
3
+ Description: RenderMan Languages RIB and RSL
4
+ Author: Konstantin Evdokimenko <qewerty@gmail.com>
5
+ Contributors: Shuen-Huei Guan <drake.guan@gmail.com>
6
+ */
7
+
8
+ hljs.LANGUAGES.rib = {
9
+ defaultMode: {
10
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
11
+ illegal: '</',
12
+ contains: ['comment', 'string', 'number'],
13
+ keywords: {
14
+ 'keyword': {
15
+ 'ArchiveRecord': 1,
16
+ 'AreaLightSource': 1,
17
+ 'Atmosphere': 1,
18
+ 'Attribute': 1,
19
+ 'AttributeBegin': 1,
20
+ 'AttributeEnd': 1,
21
+ 'Basis': 1,
22
+ 'Begin': 1,
23
+ 'Blobby': 1,
24
+ 'Bound': 1,
25
+ 'Clipping': 1,
26
+ 'ClippingPlane': 1,
27
+ 'Color': 1,
28
+ 'ColorSamples': 1,
29
+ 'ConcatTransform': 1,
30
+ 'Cone': 1,
31
+ 'CoordinateSystem': 1,
32
+ 'CoordSysTransform': 1,
33
+ 'CropWindow': 1,
34
+ 'Curves': 1,
35
+ 'Cylinder': 1,
36
+ 'DepthOfField': 1,
37
+ 'Detail': 1,
38
+ 'DetailRange': 1,
39
+ 'Disk': 1,
40
+ 'Displacement': 1,
41
+ 'Display': 1,
42
+ 'End': 1,
43
+ 'ErrorHandler': 1,
44
+ 'Exposure': 1,
45
+ 'Exterior': 1,
46
+ 'Format': 1,
47
+ 'FrameAspectRatio': 1,
48
+ 'FrameBegin': 1,
49
+ 'FrameEnd': 1,
50
+ 'GeneralPolygon': 1,
51
+ 'GeometricApproximation': 1,
52
+ 'Geometry': 1,
53
+ 'Hider': 1,
54
+ 'Hyperboloid': 1,
55
+ 'Identity': 1,
56
+ 'Illuminate': 1,
57
+ 'Imager': 1,
58
+ 'Interior': 1,
59
+ 'LightSource': 1,
60
+ 'MakeCubeFaceEnvironment': 1,
61
+ 'MakeLatLongEnvironment': 1,
62
+ 'MakeShadow': 1,
63
+ 'MakeTexture': 1,
64
+ 'Matte': 1,
65
+ 'MotionBegin': 1,
66
+ 'MotionEnd': 1,
67
+ 'NuPatch': 1,
68
+ 'ObjectBegin': 1,
69
+ 'ObjectEnd': 1,
70
+ 'ObjectInstance': 1,
71
+ 'Opacity': 1,
72
+ 'Option': 1,
73
+ 'Orientation': 1,
74
+ 'Paraboloid': 1,
75
+ 'Patch': 1,
76
+ 'PatchMesh': 1,
77
+ 'Perspective': 1,
78
+ 'PixelFilter': 1,
79
+ 'PixelSamples': 1,
80
+ 'PixelVariance': 1,
81
+ 'Points': 1,
82
+ 'PointsGeneralPolygons': 1,
83
+ 'PointsPolygons': 1,
84
+ 'Polygon': 1,
85
+ 'Procedural': 1,
86
+ 'Projection': 1,
87
+ 'Quantize': 1,
88
+ 'ReadArchive': 1,
89
+ 'RelativeDetail': 1,
90
+ 'ReverseOrientation': 1,
91
+ 'Rotate': 1,
92
+ 'Scale': 1,
93
+ 'ScreenWindow': 1,
94
+ 'ShadingInterpolation': 1,
95
+ 'ShadingRate': 1,
96
+ 'Shutter': 1,
97
+ 'Sides': 1,
98
+ 'Skew': 1,
99
+ 'SolidBegin': 1,
100
+ 'SolidEnd': 1,
101
+ 'Sphere': 1,
102
+ 'SubdivisionMesh': 1,
103
+ 'Surface': 1,
104
+ 'TextureCoordinates': 1,
105
+ 'Torus': 1,
106
+ 'Transform': 1,
107
+ 'TransformBegin': 1,
108
+ 'TransformEnd': 1,
109
+ 'TransformPoints': 1,
110
+ 'Translate': 1,
111
+ 'TrimCurve': 1,
112
+ 'WorldBegin': 1,
113
+ 'WorldEnd': 1
114
+ }
115
+ }
116
+ },
117
+ modes: [
118
+ hljs.HASH_COMMENT_MODE,
119
+ hljs.C_NUMBER_MODE,
120
+ hljs.APOS_STRING_MODE,
121
+ hljs.QUOTE_STRING_MODE,
122
+ hljs.BACKSLASH_ESCAPE
123
+ ]
124
+ };
125
+
126
+ hljs.LANGUAGES.rsl = {
127
+ defaultMode: {
128
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
129
+ illegal: '</',
130
+ contains: ['comment', 'string', 'number', 'preprocessor',
131
+ 'shader', 'shading'],
132
+ keywords: {
133
+ 'keyword': {'float': 1, 'color': 1, 'point': 1, 'normal': 1, 'vector': 1,
134
+ 'matrix': 1, 'while': 1, 'for': 1, 'if': 1, 'do': 1,
135
+ 'return': 1, 'else': 1, 'break': 1, 'extern': 1, 'continue': 1},
136
+ 'built_in': {
137
+ 'abs': 1,
138
+ 'acos': 1,
139
+ 'ambient': 1,
140
+ 'area': 1,
141
+ 'asin': 1,
142
+ 'atan': 1,
143
+ 'atmosphere': 1,
144
+ 'attribute': 1,
145
+ 'calculatenormal': 1,
146
+ 'ceil': 1,
147
+ 'cellnoise': 1,
148
+ 'clamp': 1,
149
+ 'comp': 1,
150
+ 'concat': 1,
151
+ 'cos': 1,
152
+ 'degrees': 1,
153
+ 'depth': 1,
154
+ 'Deriv': 1,
155
+ 'diffuse': 1,
156
+ 'distance': 1,
157
+ 'Du': 1,
158
+ 'Dv': 1,
159
+ 'environment': 1,
160
+ 'exp': 1,
161
+ 'faceforward': 1,
162
+ 'filterstep': 1,
163
+ 'floor': 1,
164
+ 'format': 1,
165
+ 'fresnel': 1,
166
+ 'incident': 1,
167
+ 'length': 1,
168
+ 'lightsource': 1,
169
+ 'log': 1,
170
+ 'match': 1,
171
+ 'max': 1,
172
+ 'min': 1,
173
+ 'mod': 1,
174
+ 'noise': 1,
175
+ 'normalize': 1,
176
+ 'ntransform': 1,
177
+ 'opposite': 1,
178
+ 'option': 1,
179
+ 'phong': 1,
180
+ 'pnoise': 1,
181
+ 'pow': 1,
182
+ 'printf': 1,
183
+ 'ptlined': 1,
184
+ 'radians': 1,
185
+ 'random': 1,
186
+ 'reflect': 1,
187
+ 'refract': 1,
188
+ 'renderinfo': 1,
189
+ 'round': 1,
190
+ 'setcomp': 1,
191
+ 'setxcomp': 1,
192
+ 'setycomp': 1,
193
+ 'setzcomp': 1,
194
+ 'shadow': 1,
195
+ 'sign': 1,
196
+ 'sin': 1,
197
+ 'smoothstep': 1,
198
+ 'specular': 1,
199
+ 'specularbrdf': 1,
200
+ 'spline': 1,
201
+ 'sqrt': 1,
202
+ 'step': 1,
203
+ 'tan': 1,
204
+ 'texture': 1,
205
+ 'textureinfo': 1,
206
+ 'trace': 1,
207
+ 'transform': 1,
208
+ 'vtransform': 1,
209
+ 'xcomp': 1,
210
+ 'ycomp': 1,
211
+ 'zcomp': 1
212
+ }
213
+ }
214
+ },
215
+ modes: [
216
+ {
217
+ className: 'shader',
218
+ begin: 'surface |displacement |light |volume |imager ', end: '\\(',
219
+ lexems: [hljs.IDENT_RE],
220
+ keywords: {'surface': 1, 'displacement': 1, 'light': 1, 'volume': 1, 'imager': 1}
221
+ },
222
+ {
223
+ className: 'shading',
224
+ begin: 'illuminate|illuminance|gather', end: '\\(',
225
+ lexems: [hljs.IDENT_RE],
226
+ keywords: {'illuminate': 1, 'illuminance': 1, 'gather': 1}
227
+ },
228
+ hljs.C_LINE_COMMENT_MODE,
229
+ hljs.C_BLOCK_COMMENT_MODE,
230
+ hljs.C_NUMBER_MODE,
231
+ hljs.QUOTE_STRING_MODE,
232
+ hljs.APOS_STRING_MODE,
233
+ hljs.BACKSLASH_ESCAPE,
234
+ {
235
+ className: 'preprocessor',
236
+ begin: '#', end: '$'
237
+ }
238
+ ]
239
+ };