romanvbabenko-rhighlightjs 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +7 -0
- data/LICENSE +20 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +51 -0
- data/Rakefile +58 -0
- data/VERSION +1 -0
- data/assets/images/brown_papersq.png +0 -0
- data/assets/images/paperbg.gif +0 -0
- data/assets/images/school_book.png +0 -0
- data/assets/javascripts/highlight.js +570 -0
- data/assets/javascripts/highlight.pack.js +1 -0
- data/assets/javascripts/languages/1c.js +95 -0
- data/assets/javascripts/languages/apache.js +442 -0
- data/assets/javascripts/languages/avrasm.js +89 -0
- data/assets/javascripts/languages/axapta.js +52 -0
- data/assets/javascripts/languages/bash.js +81 -0
- data/assets/javascripts/languages/cpp.js +42 -0
- data/assets/javascripts/languages/cs.js +47 -0
- data/assets/javascripts/languages/css.js +81 -0
- data/assets/javascripts/languages/delphi.js +82 -0
- data/assets/javascripts/languages/diff.js +65 -0
- data/assets/javascripts/languages/django.js +61 -0
- data/assets/javascripts/languages/dos.js +33 -0
- data/assets/javascripts/languages/dynamic.js +460 -0
- data/assets/javascripts/languages/html-xml.js +140 -0
- data/assets/javascripts/languages/ini.js +40 -0
- data/assets/javascripts/languages/java.js +58 -0
- data/assets/javascripts/languages/javascript.js +50 -0
- data/assets/javascripts/languages/lisp.js +89 -0
- data/assets/javascripts/languages/mel.js +51 -0
- data/assets/javascripts/languages/parser3.js +54 -0
- data/assets/javascripts/languages/perl.js +152 -0
- data/assets/javascripts/languages/php.js +54 -0
- data/assets/javascripts/languages/profile.js +51 -0
- data/assets/javascripts/languages/python.js +75 -0
- data/assets/javascripts/languages/renderman.js +239 -0
- data/assets/javascripts/languages/ruby.js +176 -0
- data/assets/javascripts/languages/smalltalk.js +52 -0
- data/assets/javascripts/languages/sql.js +52 -0
- data/assets/javascripts/languages/static.js +223 -0
- data/assets/javascripts/languages/vbscript.js +27 -0
- data/assets/javascripts/languages/www.js +257 -0
- data/assets/javascripts/styleswitch.js +57 -0
- data/assets/stylesheets/ascetic.css +42 -0
- data/assets/stylesheets/brown_paper.css +104 -0
- data/assets/stylesheets/brown_papersq.png +0 -0
- data/assets/stylesheets/dark.css +101 -0
- data/assets/stylesheets/default.css +103 -0
- data/assets/stylesheets/far.css +113 -0
- data/assets/stylesheets/github.css +90 -0
- data/assets/stylesheets/idea.css +74 -0
- data/assets/stylesheets/ir_black.css +67 -0
- data/assets/stylesheets/magula.css +105 -0
- data/assets/stylesheets/notebook.css +106 -0
- data/assets/stylesheets/school_book.css +106 -0
- data/assets/stylesheets/school_book.png +0 -0
- data/assets/stylesheets/sunburst.css +112 -0
- data/assets/stylesheets/vs.css +68 -0
- data/assets/stylesheets/zenburn.css +113 -0
- data/assets/stylesheets/zenburn.css.txt +108 -0
- data/bin/rhighlightjs +6 -0
- data/init.rb +2 -0
- data/install.rb +3 -0
- data/lib/rhighlightjs.rb +28 -0
- data/rhighlightjs.gemspec +170 -0
- data/tasks/rhighlightjs_tasks.rake +18 -0
- data/test/rhighlightjs_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- data/uninstall.rb +1 -0
- 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
|
+
};
|