highlight_js-rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +19 -0
- data/AUTHORS.en.txt +46 -0
- data/AUTHORS.ru.txt +46 -0
- data/Gemfile +4 -0
- data/LICENSE +24 -0
- data/README.md +34 -0
- data/Rakefile +2 -0
- data/classref.txt +437 -0
- data/highlight_js-rails.gemspec +19 -0
- data/lib/highlight_js/rails/engine.rb +6 -0
- data/lib/highlight_js/version.rb +5 -0
- data/lib/highlight_js-rails.rb +2 -0
- data/vendor/assets/images/highlight_js/brown_papersq.png +0 -0
- data/vendor/assets/images/highlight_js/school_book.png +0 -0
- data/vendor/assets/javascripts/highlight_js/highlight.js +630 -0
- data/vendor/assets/javascripts/highlight_js/languages/1c.js +68 -0
- data/vendor/assets/javascripts/highlight_js/languages/apache.js +432 -0
- data/vendor/assets/javascripts/highlight_js/languages/avrasm.js +75 -0
- data/vendor/assets/javascripts/highlight_js/languages/axapta.js +43 -0
- data/vendor/assets/javascripts/highlight_js/languages/bash.js +56 -0
- data/vendor/assets/javascripts/highlight_js/languages/cmake.js +24 -0
- data/vendor/assets/javascripts/highlight_js/languages/cpp.js +62 -0
- data/vendor/assets/javascripts/highlight_js/languages/cs.js +41 -0
- data/vendor/assets/javascripts/highlight_js/languages/css.js +101 -0
- data/vendor/assets/javascripts/highlight_js/languages/delphi.js +70 -0
- data/vendor/assets/javascripts/highlight_js/languages/diff.js +64 -0
- data/vendor/assets/javascripts/highlight_js/languages/django.js +72 -0
- data/vendor/assets/javascripts/highlight_js/languages/dos.js +29 -0
- data/vendor/assets/javascripts/highlight_js/languages/erlang-repl.js +81 -0
- data/vendor/assets/javascripts/highlight_js/languages/erlang.js +201 -0
- data/vendor/assets/javascripts/highlight_js/languages/go.js +58 -0
- data/vendor/assets/javascripts/highlight_js/languages/haskell.js +77 -0
- data/vendor/assets/javascripts/highlight_js/languages/ini.js +32 -0
- data/vendor/assets/javascripts/highlight_js/languages/java.js +45 -0
- data/vendor/assets/javascripts/highlight_js/languages/javascript.js +53 -0
- data/vendor/assets/javascripts/highlight_js/languages/lisp.js +87 -0
- data/vendor/assets/javascripts/highlight_js/languages/lua.js +75 -0
- data/vendor/assets/javascripts/highlight_js/languages/mel.js +40 -0
- data/vendor/assets/javascripts/highlight_js/languages/nginx.js +224 -0
- data/vendor/assets/javascripts/highlight_js/languages/objectivec.js +94 -0
- data/vendor/assets/javascripts/highlight_js/languages/parser3.js +52 -0
- data/vendor/assets/javascripts/highlight_js/languages/perl.js +143 -0
- data/vendor/assets/javascripts/highlight_js/languages/php.js +55 -0
- data/vendor/assets/javascripts/highlight_js/languages/profile.js +49 -0
- data/vendor/assets/javascripts/highlight_js/languages/python.js +71 -0
- data/vendor/assets/javascripts/highlight_js/languages/renderman.js +230 -0
- data/vendor/assets/javascripts/highlight_js/languages/ruby.js +203 -0
- data/vendor/assets/javascripts/highlight_js/languages/scala.js +60 -0
- data/vendor/assets/javascripts/highlight_js/languages/smalltalk.js +55 -0
- data/vendor/assets/javascripts/highlight_js/languages/sql.js +90 -0
- data/vendor/assets/javascripts/highlight_js/languages/tex.js +62 -0
- data/vendor/assets/javascripts/highlight_js/languages/vala.js +75 -0
- data/vendor/assets/javascripts/highlight_js/languages/vbscript.js +30 -0
- data/vendor/assets/javascripts/highlight_js/languages/vhdl.js +30 -0
- data/vendor/assets/javascripts/highlight_js/languages/xml.js +103 -0
- data/vendor/assets/stylesheets/highlight_js/arta.css +151 -0
- data/vendor/assets/stylesheets/highlight_js/ascetic.css +45 -0
- data/vendor/assets/stylesheets/highlight_js/brown_paper.css.erb +105 -0
- data/vendor/assets/stylesheets/highlight_js/dark.css +103 -0
- data/vendor/assets/stylesheets/highlight_js/default.css +121 -0
- data/vendor/assets/stylesheets/highlight_js/far.css +118 -0
- data/vendor/assets/stylesheets/highlight_js/github.css +129 -0
- data/vendor/assets/stylesheets/highlight_js/idea.css +118 -0
- data/vendor/assets/stylesheets/highlight_js/ir_black.css +103 -0
- data/vendor/assets/stylesheets/highlight_js/magula.css +118 -0
- data/vendor/assets/stylesheets/highlight_js/school_book.css.erb +111 -0
- data/vendor/assets/stylesheets/highlight_js/solarized_dark.css +96 -0
- data/vendor/assets/stylesheets/highlight_js/solarized_light.css +96 -0
- data/vendor/assets/stylesheets/highlight_js/sunburst.css +147 -0
- data/vendor/assets/stylesheets/highlight_js/vs.css +84 -0
- data/vendor/assets/stylesheets/highlight_js/zenburn.css +115 -0
- metadata +129 -0
@@ -0,0 +1,201 @@
|
|
1
|
+
/*
|
2
|
+
Language: Erlang
|
3
|
+
Description: Erlang is a general-purpose functional language, with strict evaluation, single assignment, and dynamic typing.
|
4
|
+
Author: Nikolay Zakharov <nikolay.desh@gmail.com>, Dmitry Kovega <arhibot@gmail.com>
|
5
|
+
*/
|
6
|
+
|
7
|
+
hljs.LANGUAGES.erlang = function(){
|
8
|
+
var BASIC_ATOM_RE = '[a-z\'][a-zA-Z0-9_\']*';
|
9
|
+
var FUNCTION_NAME_RE = '(' + BASIC_ATOM_RE + ':' + BASIC_ATOM_RE + '|' + BASIC_ATOM_RE + ')';
|
10
|
+
var ERLANG_RESERVED = {
|
11
|
+
'keyword': {
|
12
|
+
'after': 1,
|
13
|
+
'and': 1,
|
14
|
+
'andalso': 10,
|
15
|
+
'band': 1,
|
16
|
+
'begin': 1,
|
17
|
+
'bnot': 1,
|
18
|
+
'bor': 1,
|
19
|
+
'bsl': 1,
|
20
|
+
'bzr': 1,
|
21
|
+
'bxor': 1,
|
22
|
+
'case': 1,
|
23
|
+
'catch': 1,
|
24
|
+
'cond': 1,
|
25
|
+
'div': 1,
|
26
|
+
'end': 1,
|
27
|
+
'fun': 1,
|
28
|
+
'let': 1,
|
29
|
+
'not': 1,
|
30
|
+
'of': 1,
|
31
|
+
'orelse': 10,
|
32
|
+
'query': 1,
|
33
|
+
'receive': 1,
|
34
|
+
'rem': 1,
|
35
|
+
'try': 1,
|
36
|
+
'when': 1,
|
37
|
+
'xor': 1
|
38
|
+
},
|
39
|
+
'literal': {'false': 1, 'true': 1}
|
40
|
+
};
|
41
|
+
|
42
|
+
var COMMENT = {
|
43
|
+
className: 'comment',
|
44
|
+
begin: '%', end: '$',
|
45
|
+
relevance: 0
|
46
|
+
};
|
47
|
+
var NAMED_FUN = {
|
48
|
+
begin: 'fun\\s+' + BASIC_ATOM_RE + '/\\d+'
|
49
|
+
};
|
50
|
+
var FUNCTION_CALL = {
|
51
|
+
begin: FUNCTION_NAME_RE + '\\(', end: '\\)',
|
52
|
+
returnBegin: true,
|
53
|
+
relevance: 0,
|
54
|
+
contains: [
|
55
|
+
{
|
56
|
+
className: 'function_name', begin: FUNCTION_NAME_RE,
|
57
|
+
relevance: 0
|
58
|
+
},
|
59
|
+
{
|
60
|
+
begin: '\\(', end: '\\)', endsWithParent: true,
|
61
|
+
returnEnd: true,
|
62
|
+
relevance: 0
|
63
|
+
// "contains" defined later
|
64
|
+
}
|
65
|
+
]
|
66
|
+
};
|
67
|
+
var TUPLE = {
|
68
|
+
className: 'tuple',
|
69
|
+
begin: '{', end: '}',
|
70
|
+
relevance: 0
|
71
|
+
// "contains" defined later
|
72
|
+
};
|
73
|
+
var VAR1 = {
|
74
|
+
className: 'variable',
|
75
|
+
begin: '\\b_([A-Z][A-Za-z0-9_]*)?',
|
76
|
+
relevance: 0
|
77
|
+
};
|
78
|
+
var VAR2 = {
|
79
|
+
className: 'variable',
|
80
|
+
begin: '[A-Z][a-zA-Z0-9_]*',
|
81
|
+
relevance: 0
|
82
|
+
};
|
83
|
+
var RECORD_ACCESS = {
|
84
|
+
begin: '#', end: '}',
|
85
|
+
illegal: '.',
|
86
|
+
relevance: 0,
|
87
|
+
returnBegin: true,
|
88
|
+
contains: [
|
89
|
+
{
|
90
|
+
className: 'record_name',
|
91
|
+
begin: '#' + hljs.UNDERSCORE_IDENT_RE,
|
92
|
+
relevance: 0
|
93
|
+
},
|
94
|
+
{
|
95
|
+
begin: '{', endsWithParent: true,
|
96
|
+
relevance: 0
|
97
|
+
// "contains" defined later
|
98
|
+
}
|
99
|
+
]
|
100
|
+
};
|
101
|
+
|
102
|
+
var BLOCK_STATEMENTS = {
|
103
|
+
keywords: ERLANG_RESERVED,
|
104
|
+
begin: '(fun|receive|if|try|case)', end: 'end'
|
105
|
+
};
|
106
|
+
BLOCK_STATEMENTS.contains = [
|
107
|
+
COMMENT,
|
108
|
+
NAMED_FUN,
|
109
|
+
hljs.inherit(hljs.APOS_STRING_MODE, {className: ''}),
|
110
|
+
BLOCK_STATEMENTS,
|
111
|
+
FUNCTION_CALL,
|
112
|
+
hljs.QUOTE_STRING_MODE,
|
113
|
+
hljs.C_NUMBER_MODE,
|
114
|
+
TUPLE,
|
115
|
+
VAR1, VAR2,
|
116
|
+
RECORD_ACCESS
|
117
|
+
];
|
118
|
+
|
119
|
+
var BASIC_MODES = [
|
120
|
+
COMMENT,
|
121
|
+
NAMED_FUN,
|
122
|
+
BLOCK_STATEMENTS,
|
123
|
+
FUNCTION_CALL,
|
124
|
+
hljs.QUOTE_STRING_MODE,
|
125
|
+
hljs.C_NUMBER_MODE,
|
126
|
+
TUPLE,
|
127
|
+
VAR1, VAR2,
|
128
|
+
RECORD_ACCESS
|
129
|
+
];
|
130
|
+
FUNCTION_CALL.contains[1].contains = BASIC_MODES;
|
131
|
+
TUPLE.contains = BASIC_MODES;
|
132
|
+
RECORD_ACCESS.contains[1].contains = BASIC_MODES;
|
133
|
+
|
134
|
+
var PARAMS = {
|
135
|
+
className: 'params',
|
136
|
+
begin: '\\(', end: '\\)',
|
137
|
+
endsWithParent: true,
|
138
|
+
contains: BASIC_MODES
|
139
|
+
};
|
140
|
+
return {
|
141
|
+
defaultMode: {
|
142
|
+
keywords: ERLANG_RESERVED,
|
143
|
+
illegal: '(</|\\*=|\\+=|-=|/=|/\\*|\\*/|\\(\\*|\\*\\))',
|
144
|
+
contains: [
|
145
|
+
{
|
146
|
+
className: 'function',
|
147
|
+
begin: '^' + BASIC_ATOM_RE + '\\(', end: ';|\\.',
|
148
|
+
returnBegin: true,
|
149
|
+
contains: [
|
150
|
+
PARAMS,
|
151
|
+
{
|
152
|
+
className: 'title', begin: BASIC_ATOM_RE
|
153
|
+
},
|
154
|
+
{
|
155
|
+
keywords: ERLANG_RESERVED,
|
156
|
+
begin: '->', endsWithParent: true,
|
157
|
+
contains: BASIC_MODES
|
158
|
+
}
|
159
|
+
]
|
160
|
+
},
|
161
|
+
COMMENT,
|
162
|
+
{
|
163
|
+
className: 'pp',
|
164
|
+
begin: '^-', end: '\\.',
|
165
|
+
relevance: 0,
|
166
|
+
excludeEnd: true,
|
167
|
+
returnBegin: true,
|
168
|
+
lexems: '-' + hljs.IDENT_RE,
|
169
|
+
keywords: {
|
170
|
+
'-module':1,
|
171
|
+
'-record':1,
|
172
|
+
'-undef':1,
|
173
|
+
'-export':1,
|
174
|
+
'-ifdef':1,
|
175
|
+
'-ifndef':1,
|
176
|
+
'-author':1,
|
177
|
+
'-copyright':1,
|
178
|
+
'-doc':1,
|
179
|
+
'-vsn':1,
|
180
|
+
'-import': 1,
|
181
|
+
'-include': 1,
|
182
|
+
'-include_lib': 1,
|
183
|
+
'-compile': 1,
|
184
|
+
'-define': 1,
|
185
|
+
'-else': 1,
|
186
|
+
'-endif': 1,
|
187
|
+
'-file': 1,
|
188
|
+
'-behaviour': 1,
|
189
|
+
'-behavior': 1
|
190
|
+
},
|
191
|
+
contains: [PARAMS]
|
192
|
+
},
|
193
|
+
hljs.C_NUMBER_MODE,
|
194
|
+
hljs.QUOTE_STRING_MODE,
|
195
|
+
RECORD_ACCESS,
|
196
|
+
VAR1, VAR2,
|
197
|
+
TUPLE
|
198
|
+
]
|
199
|
+
}
|
200
|
+
};
|
201
|
+
}();
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/*
|
2
|
+
Language: Go
|
3
|
+
Author: Stephan Kountso aka StepLg <steplg@gmail.com>
|
4
|
+
Description: Google go language (golang). For info about language see http://golang.org/
|
5
|
+
*/
|
6
|
+
|
7
|
+
hljs.LANGUAGES.go = function(){
|
8
|
+
var GO_KEYWORDS = {
|
9
|
+
'keyword': {
|
10
|
+
'break' : 1, 'default' : 1, 'func' : 1, 'interface' : 1, 'select' : 1,
|
11
|
+
'case' : 1, 'map' : 1, 'struct' : 1, 'chan' : 1,
|
12
|
+
'else' : 1, 'goto' : 1, 'package' : 1, 'switch' : 1, 'const' : 1,
|
13
|
+
'fallthrough' : 1, 'if' : 1, 'range' : 1, 'type' : 1, 'continue' : 1,
|
14
|
+
'for' : 1, 'import' : 1, 'return' : 1, 'var' : 1, 'go': 1, 'defer' : 1
|
15
|
+
},
|
16
|
+
'constant': {
|
17
|
+
'true': 1, 'false': 1, 'iota': 1, 'nil': 1
|
18
|
+
},
|
19
|
+
'typename': {
|
20
|
+
'bool': 1, 'byte': 1, 'complex64': 1, 'complex128': 1, 'float32': 1,
|
21
|
+
'float64': 1, 'int8': 1, 'int16': 1, 'int32': 1, 'int64': 1, 'string': 1,
|
22
|
+
'uint8': 1, 'uint16': 1, 'uint32': 1, 'uint64': 1, 'int': 1, 'uint': 1,
|
23
|
+
'uintptr': 1
|
24
|
+
},
|
25
|
+
'built_in': {
|
26
|
+
'append': 1, 'cap': 1, 'close': 1, 'complex': 1, 'copy': 1, 'imag': 1,
|
27
|
+
'len': 1, 'make': 1, 'new': 1, 'panic': 1, 'print': 1, 'println': 1,
|
28
|
+
'real': 1, 'recover': 1
|
29
|
+
}
|
30
|
+
};
|
31
|
+
return {
|
32
|
+
defaultMode: {
|
33
|
+
keywords: GO_KEYWORDS,
|
34
|
+
illegal: '</',
|
35
|
+
contains: [
|
36
|
+
hljs.C_LINE_COMMENT_MODE,
|
37
|
+
hljs.C_BLOCK_COMMENT_MODE,
|
38
|
+
hljs.QUOTE_STRING_MODE,
|
39
|
+
{
|
40
|
+
className: 'string',
|
41
|
+
begin: '\'', end: '[^\\\\]\'',
|
42
|
+
relevance: 0
|
43
|
+
},
|
44
|
+
{
|
45
|
+
className: 'string',
|
46
|
+
begin: '`', end: '[^\\\\]`'
|
47
|
+
},
|
48
|
+
{
|
49
|
+
className: 'number',
|
50
|
+
begin: '[^a-zA-Z_0-9](\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?',
|
51
|
+
relevance: 0
|
52
|
+
},
|
53
|
+
hljs.C_NUMBER_MODE
|
54
|
+
]
|
55
|
+
}
|
56
|
+
};
|
57
|
+
}();
|
58
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
/*
|
2
|
+
Language: Haskell
|
3
|
+
Author: Jeremy Hull <sourdrums@gmail.com>
|
4
|
+
*/
|
5
|
+
|
6
|
+
hljs.LANGUAGES.haskell = function(){
|
7
|
+
var LABEL = {
|
8
|
+
className: 'label',
|
9
|
+
begin: '\\b[A-Z][\\w\']*',
|
10
|
+
relevance: 0
|
11
|
+
};
|
12
|
+
var CONTAINER = {
|
13
|
+
className: 'container',
|
14
|
+
begin: '\\(', end: '\\)',
|
15
|
+
contains: [
|
16
|
+
{className: 'label', begin: '\\b[A-Z][\\w\\(\\)\\.\']*'},
|
17
|
+
{className: 'title', begin: '[_a-z][\\w\']*'}
|
18
|
+
]
|
19
|
+
};
|
20
|
+
|
21
|
+
return {
|
22
|
+
defaultMode: {
|
23
|
+
keywords: {
|
24
|
+
'keyword': {
|
25
|
+
'let': 1, 'in': 1, 'if': 1, 'then': 1, 'else': 1, 'case': 1, 'of': 1,
|
26
|
+
'where': 1, 'do': 1, 'module': 1, 'import': 1, 'hiding': 1,
|
27
|
+
'qualified': 1, 'type': 1, 'data': 1, 'newtype': 1, 'deriving': 1,
|
28
|
+
'class': 1, 'instance': 1, 'null': 1, 'not': 1, 'as': 1
|
29
|
+
}
|
30
|
+
},
|
31
|
+
contains: [
|
32
|
+
{
|
33
|
+
className: 'comment',
|
34
|
+
begin: '--', end: '$'
|
35
|
+
},
|
36
|
+
{
|
37
|
+
className: 'comment',
|
38
|
+
begin: '{-', end: '-}'
|
39
|
+
},
|
40
|
+
{
|
41
|
+
className: 'string',
|
42
|
+
begin: '\\s+\'', end: '\'',
|
43
|
+
contains: [hljs.BACKSLASH_ESCAPE],
|
44
|
+
relevance: 0
|
45
|
+
},
|
46
|
+
hljs.QUOTE_STRING_MODE,
|
47
|
+
{
|
48
|
+
className: 'import',
|
49
|
+
begin: '\\bimport', end: '$',
|
50
|
+
keywords: {'import': 1, 'qualified': 1, 'as': 1, 'hiding': 1},
|
51
|
+
contains: [CONTAINER]
|
52
|
+
},
|
53
|
+
{
|
54
|
+
className: 'module',
|
55
|
+
begin: '\\bmodule', end: 'where',
|
56
|
+
keywords: {'module': 1, 'where': 1},
|
57
|
+
contains: [CONTAINER]
|
58
|
+
},
|
59
|
+
{
|
60
|
+
className: 'class',
|
61
|
+
begin: '\\b(class|instance|data|(new)?type)', end: '(where|$)',
|
62
|
+
keywords: {'class': 1, 'where': 1, 'instance': 1,'data': 1,'type': 1,'newtype': 1, 'deriving': 1},
|
63
|
+
contains: [LABEL]
|
64
|
+
},
|
65
|
+
hljs.C_NUMBER_MODE,
|
66
|
+
{
|
67
|
+
className: 'shebang',
|
68
|
+
begin: '#!\\/usr\\/bin\\/env\ runhaskell', end: '$'
|
69
|
+
},
|
70
|
+
LABEL,
|
71
|
+
{
|
72
|
+
className: 'title', begin: '^[_a-z][\\w\']*'
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
76
|
+
};
|
77
|
+
}();
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/*
|
2
|
+
Language: Ini
|
3
|
+
*/
|
4
|
+
|
5
|
+
hljs.LANGUAGES.ini = {
|
6
|
+
case_insensitive: true,
|
7
|
+
defaultMode: {
|
8
|
+
illegal: '[^\\s]',
|
9
|
+
contains: [
|
10
|
+
{
|
11
|
+
className: 'comment',
|
12
|
+
begin: ';', end: '$'
|
13
|
+
},
|
14
|
+
{
|
15
|
+
className: 'title',
|
16
|
+
begin: '^\\[', end: '\\]'
|
17
|
+
},
|
18
|
+
{
|
19
|
+
className: 'setting',
|
20
|
+
begin: '^[a-z0-9_\\[\\]]+[ \\t]*=[ \\t]*', end: '$',
|
21
|
+
contains: [
|
22
|
+
{
|
23
|
+
className: 'value',
|
24
|
+
endsWithParent: true,
|
25
|
+
keywords: {'on': 1, 'off': 1, 'true': 1, 'false': 1, 'yes': 1, 'no': 1},
|
26
|
+
contains: [hljs.QUOTE_STRING_MODE, hljs.NUMBER_MODE]
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
32
|
+
};
|
@@ -0,0 +1,45 @@
|
|
1
|
+
/*
|
2
|
+
Language: Java
|
3
|
+
Author: Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
|
4
|
+
*/
|
5
|
+
|
6
|
+
hljs.LANGUAGES.java = {
|
7
|
+
defaultMode: {
|
8
|
+
keywords: {'false': 1, 'synchronized': 1, 'int': 1, 'abstract': 1, 'float': 1, 'private': 1, 'char': 1, 'interface': 1, 'boolean': 1, 'static': 1, 'null': 1, 'if': 1, 'const': 1, 'for': 1, 'true': 1, 'while': 1, 'long': 1, 'throw': 1, 'strictfp': 1, 'finally': 1, 'protected': 1, 'extends': 1, 'import': 1, 'native': 1, 'final': 1, 'implements': 1, 'return': 1, 'void': 1, 'enum': 1, 'else': 1, 'break': 1, 'transient': 1, 'new': 1, 'catch': 1, 'instanceof': 1, 'byte': 1, 'super': 1, 'class': 1, 'volatile': 1, 'case': 1, 'assert': 1, 'short': 1, 'package': 1, 'default': 1, 'double': 1, 'public': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'throws': 1},
|
9
|
+
contains: [
|
10
|
+
{
|
11
|
+
className: 'javadoc',
|
12
|
+
begin: '/\\*\\*', end: '\\*/',
|
13
|
+
contains: [{
|
14
|
+
className: 'javadoctag', begin: '@[A-Za-z]+'
|
15
|
+
}],
|
16
|
+
relevance: 10
|
17
|
+
},
|
18
|
+
hljs.C_LINE_COMMENT_MODE,
|
19
|
+
hljs.C_BLOCK_COMMENT_MODE,
|
20
|
+
hljs.APOS_STRING_MODE,
|
21
|
+
hljs.QUOTE_STRING_MODE,
|
22
|
+
{
|
23
|
+
className: 'class',
|
24
|
+
begin: '(class |interface )', end: '{',
|
25
|
+
keywords: {'class': 1, 'interface': 1},
|
26
|
+
illegal: ':',
|
27
|
+
contains: [
|
28
|
+
{
|
29
|
+
begin: '(implements|extends)',
|
30
|
+
keywords: {'extends': 1, 'implements': 1},
|
31
|
+
relevance: 10
|
32
|
+
},
|
33
|
+
{
|
34
|
+
className: 'title',
|
35
|
+
begin: hljs.UNDERSCORE_IDENT_RE
|
36
|
+
}
|
37
|
+
]
|
38
|
+
},
|
39
|
+
hljs.C_NUMBER_MODE,
|
40
|
+
{
|
41
|
+
className: 'annotation', begin: '@[A-Za-z]+'
|
42
|
+
}
|
43
|
+
]
|
44
|
+
}
|
45
|
+
};
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*
|
2
|
+
Language: Javascript
|
3
|
+
*/
|
4
|
+
|
5
|
+
hljs.LANGUAGES.javascript = {
|
6
|
+
defaultMode: {
|
7
|
+
keywords: {
|
8
|
+
'keyword': {'in': 1, 'if': 1, 'for': 1, 'while': 1, 'finally': 1, 'var': 1, 'new': 1, 'function': 1, 'do': 1, 'return': 1, 'void': 1, 'else': 1, 'break': 1, 'catch': 1, 'instanceof': 1, 'with': 1, 'throw': 1, 'case': 1, 'default': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'typeof': 1, 'delete': 1},
|
9
|
+
'literal': {'true': 1, 'false': 1, 'null': 1}
|
10
|
+
},
|
11
|
+
contains: [
|
12
|
+
hljs.APOS_STRING_MODE,
|
13
|
+
hljs.QUOTE_STRING_MODE,
|
14
|
+
hljs.C_LINE_COMMENT_MODE,
|
15
|
+
hljs.C_BLOCK_COMMENT_MODE,
|
16
|
+
hljs.C_NUMBER_MODE,
|
17
|
+
{ // regexp container
|
18
|
+
begin: '(' + hljs.RE_STARTERS_RE + '|case|return|throw)\\s*',
|
19
|
+
keywords: {'return': 1, 'throw': 1, 'case': 1},
|
20
|
+
contains: [
|
21
|
+
hljs.C_LINE_COMMENT_MODE,
|
22
|
+
hljs.C_BLOCK_COMMENT_MODE,
|
23
|
+
{
|
24
|
+
className: 'regexp',
|
25
|
+
begin: '/', end: '/[gim]*',
|
26
|
+
contains: [{begin: '\\\\/'}]
|
27
|
+
}
|
28
|
+
],
|
29
|
+
relevance: 0
|
30
|
+
},
|
31
|
+
{
|
32
|
+
className: 'function',
|
33
|
+
begin: '\\bfunction\\b', end: '{',
|
34
|
+
keywords: {'function': 1},
|
35
|
+
contains: [
|
36
|
+
{
|
37
|
+
className: 'title', begin: '[A-Za-z$_][0-9A-Za-z$_]*'
|
38
|
+
},
|
39
|
+
{
|
40
|
+
className: 'params',
|
41
|
+
begin: '\\(', end: '\\)',
|
42
|
+
contains: [
|
43
|
+
hljs.APOS_STRING_MODE,
|
44
|
+
hljs.QUOTE_STRING_MODE,
|
45
|
+
hljs.C_LINE_COMMENT_MODE,
|
46
|
+
hljs.C_BLOCK_COMMENT_MODE
|
47
|
+
]
|
48
|
+
}
|
49
|
+
]
|
50
|
+
}
|
51
|
+
]
|
52
|
+
}
|
53
|
+
};
|
@@ -0,0 +1,87 @@
|
|
1
|
+
/*
|
2
|
+
Language: Lisp
|
3
|
+
Description: Generic lisp syntax
|
4
|
+
Author: Vasily Polovnyov <vast@whiteants.net>
|
5
|
+
*/
|
6
|
+
|
7
|
+
hljs.LANGUAGES.lisp = function(){
|
8
|
+
var LISP_IDENT_RE = '[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#]*';
|
9
|
+
var LISP_SIMPLE_NUMBER_RE = '(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?';
|
10
|
+
var LITERAL = {
|
11
|
+
className: 'literal',
|
12
|
+
begin: '\\b(t{1}|nil)\\b'
|
13
|
+
};
|
14
|
+
var NUMBER1 = {
|
15
|
+
className: 'number', begin: LISP_SIMPLE_NUMBER_RE
|
16
|
+
};
|
17
|
+
var NUMBER2 = {
|
18
|
+
className: 'number', begin: '#b[0-1]+(/[0-1]+)?'
|
19
|
+
};
|
20
|
+
var NUMBER3 = {
|
21
|
+
className: 'number', begin: '#o[0-7]+(/[0-7]+)?'
|
22
|
+
};
|
23
|
+
var NUMBER4 = {
|
24
|
+
className: 'number', begin: '#x[0-9a-f]+(/[0-9a-f]+)?'
|
25
|
+
};
|
26
|
+
var NUMBER5 = {
|
27
|
+
className: 'number', begin: '#c\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\)'
|
28
|
+
};
|
29
|
+
var STRING = {
|
30
|
+
className: 'string',
|
31
|
+
begin: '"', end: '"',
|
32
|
+
contains: [hljs.BACKSLASH_ESCAPE],
|
33
|
+
relevance: 0
|
34
|
+
};
|
35
|
+
var COMMENT = {
|
36
|
+
className: 'comment',
|
37
|
+
begin: ';', end: '$'
|
38
|
+
};
|
39
|
+
var VARIABLE = {
|
40
|
+
className: 'variable',
|
41
|
+
begin: '\\*', end: '\\*'
|
42
|
+
};
|
43
|
+
var KEYWORD = {
|
44
|
+
className: 'keyword',
|
45
|
+
begin: '[:&]' + LISP_IDENT_RE
|
46
|
+
};
|
47
|
+
var QUOTED_LIST = {
|
48
|
+
begin: '\\(', end: '\\)'
|
49
|
+
};
|
50
|
+
QUOTED_LIST.contains = [QUOTED_LIST, LITERAL, NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING];
|
51
|
+
var QUOTED1 = {
|
52
|
+
className: 'quoted',
|
53
|
+
begin: '[\'`]\\(', end: '\\)',
|
54
|
+
contains: [NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, VARIABLE, KEYWORD, QUOTED_LIST]
|
55
|
+
};
|
56
|
+
var QUOTED2 = {
|
57
|
+
className: 'quoted',
|
58
|
+
begin: '\\(quote ', end: '\\)',
|
59
|
+
keywords: {'title': {'quote': 1}},
|
60
|
+
contains: [NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, VARIABLE, KEYWORD, QUOTED_LIST]
|
61
|
+
};
|
62
|
+
var LIST = {
|
63
|
+
className: 'list',
|
64
|
+
begin: '\\(', end: '\\)'
|
65
|
+
};
|
66
|
+
var BODY = {
|
67
|
+
className: 'body',
|
68
|
+
endsWithParent: true, excludeEnd: true
|
69
|
+
};
|
70
|
+
LIST.contains = [{className: 'title', begin: LISP_IDENT_RE}, BODY];
|
71
|
+
BODY.contains = [QUOTED1, QUOTED2, LIST, LITERAL, NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, COMMENT, VARIABLE, KEYWORD];
|
72
|
+
|
73
|
+
return {
|
74
|
+
case_insensitive: true,
|
75
|
+
defaultMode: {
|
76
|
+
illegal: '[^\\s]',
|
77
|
+
contains: [
|
78
|
+
LITERAL,
|
79
|
+
NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5,
|
80
|
+
STRING,
|
81
|
+
COMMENT,
|
82
|
+
QUOTED1, QUOTED2,
|
83
|
+
LIST
|
84
|
+
]
|
85
|
+
}
|
86
|
+
};
|
87
|
+
}();
|
@@ -0,0 +1,75 @@
|
|
1
|
+
/*
|
2
|
+
Language: Lua
|
3
|
+
Author: Andrew Fedorov <dmmdrs@mail.ru>
|
4
|
+
*/
|
5
|
+
|
6
|
+
hljs.LANGUAGES.lua = function() {
|
7
|
+
var OPENING_LONG_BRACKET = '\\[=*\\[';
|
8
|
+
var CLOSING_LONG_BRACKET = '\\]=*\\]';
|
9
|
+
var LONG_BRACKETS = {
|
10
|
+
begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET
|
11
|
+
};
|
12
|
+
LONG_BRACKETS.contains = [LONG_BRACKETS];
|
13
|
+
var COMMENT1 = {
|
14
|
+
className: 'comment',
|
15
|
+
begin: '--(?!' + OPENING_LONG_BRACKET + ')', end: '$'
|
16
|
+
};
|
17
|
+
var COMMENT2 = {
|
18
|
+
className: 'comment',
|
19
|
+
begin: '--' + OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,
|
20
|
+
contains: [LONG_BRACKETS],
|
21
|
+
relevance: 10
|
22
|
+
};
|
23
|
+
return {
|
24
|
+
defaultMode: {
|
25
|
+
lexems: hljs.UNDERSCORE_IDENT_RE,
|
26
|
+
keywords: {
|
27
|
+
'keyword': {
|
28
|
+
'and': 1, 'break': 1, 'do': 1, 'else': 1, 'elseif': 1, 'end': 1,
|
29
|
+
'false': 1, 'for': 1, 'if': 1, 'in': 1, 'local': 1, 'nil': 1,
|
30
|
+
'not': 1, 'or': 1, 'repeat': 1, 'return': 1, 'then': 1, 'true': 1,
|
31
|
+
'until': 1, 'while': 1
|
32
|
+
},
|
33
|
+
'built_in': {
|
34
|
+
'_G': 1, '_VERSION': 1, 'assert': 1, 'collectgarbage': 1, 'dofile': 1,
|
35
|
+
'error': 1, 'getfenv': 1, 'getmetatable': 1, 'ipairs': 1, 'load': 1,
|
36
|
+
'loadfile': 1, 'loadstring': 1, 'module': 1, 'next': 1, 'pairs': 1,
|
37
|
+
'pcall': 1, 'print': 1, 'rawequal': 1, 'rawget': 1, 'rawset': 1,
|
38
|
+
'require': 1, 'select': 1, 'setfenv': 1, 'setmetatable': 1,
|
39
|
+
'tonumber': 1, 'tostring': 1, 'type': 1, 'unpack': 1, 'xpcall': 1,
|
40
|
+
'coroutine': 1, 'debug': 1, 'io': 1, 'math': 1, 'os': 1, 'package': 1,
|
41
|
+
'string': 1, 'table': 1
|
42
|
+
}
|
43
|
+
},
|
44
|
+
contains: [
|
45
|
+
COMMENT1, COMMENT2,
|
46
|
+
{
|
47
|
+
className: 'function',
|
48
|
+
begin: '\\bfunction\\b', end: '\\)',
|
49
|
+
keywords: {'function': 1},
|
50
|
+
contains: [
|
51
|
+
{
|
52
|
+
className: 'title',
|
53
|
+
begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*'
|
54
|
+
},
|
55
|
+
{
|
56
|
+
className: 'params',
|
57
|
+
begin: '\\(', endsWithParent: true,
|
58
|
+
contains: [COMMENT1, COMMENT2]
|
59
|
+
},
|
60
|
+
COMMENT1, COMMENT2
|
61
|
+
]
|
62
|
+
},
|
63
|
+
hljs.C_NUMBER_MODE,
|
64
|
+
hljs.APOS_STRING_MODE,
|
65
|
+
hljs.QUOTE_STRING_MODE,
|
66
|
+
{
|
67
|
+
className: 'string',
|
68
|
+
begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,
|
69
|
+
contains: [LONG_BRACKETS],
|
70
|
+
relevance: 10
|
71
|
+
}
|
72
|
+
]
|
73
|
+
}
|
74
|
+
};
|
75
|
+
}();
|