highlight_js-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. data/.gitignore +19 -0
  2. data/AUTHORS.en.txt +46 -0
  3. data/AUTHORS.ru.txt +46 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +24 -0
  6. data/README.md +34 -0
  7. data/Rakefile +2 -0
  8. data/classref.txt +437 -0
  9. data/highlight_js-rails.gemspec +19 -0
  10. data/lib/highlight_js/rails/engine.rb +6 -0
  11. data/lib/highlight_js/version.rb +5 -0
  12. data/lib/highlight_js-rails.rb +2 -0
  13. data/vendor/assets/images/highlight_js/brown_papersq.png +0 -0
  14. data/vendor/assets/images/highlight_js/school_book.png +0 -0
  15. data/vendor/assets/javascripts/highlight_js/highlight.js +630 -0
  16. data/vendor/assets/javascripts/highlight_js/languages/1c.js +68 -0
  17. data/vendor/assets/javascripts/highlight_js/languages/apache.js +432 -0
  18. data/vendor/assets/javascripts/highlight_js/languages/avrasm.js +75 -0
  19. data/vendor/assets/javascripts/highlight_js/languages/axapta.js +43 -0
  20. data/vendor/assets/javascripts/highlight_js/languages/bash.js +56 -0
  21. data/vendor/assets/javascripts/highlight_js/languages/cmake.js +24 -0
  22. data/vendor/assets/javascripts/highlight_js/languages/cpp.js +62 -0
  23. data/vendor/assets/javascripts/highlight_js/languages/cs.js +41 -0
  24. data/vendor/assets/javascripts/highlight_js/languages/css.js +101 -0
  25. data/vendor/assets/javascripts/highlight_js/languages/delphi.js +70 -0
  26. data/vendor/assets/javascripts/highlight_js/languages/diff.js +64 -0
  27. data/vendor/assets/javascripts/highlight_js/languages/django.js +72 -0
  28. data/vendor/assets/javascripts/highlight_js/languages/dos.js +29 -0
  29. data/vendor/assets/javascripts/highlight_js/languages/erlang-repl.js +81 -0
  30. data/vendor/assets/javascripts/highlight_js/languages/erlang.js +201 -0
  31. data/vendor/assets/javascripts/highlight_js/languages/go.js +58 -0
  32. data/vendor/assets/javascripts/highlight_js/languages/haskell.js +77 -0
  33. data/vendor/assets/javascripts/highlight_js/languages/ini.js +32 -0
  34. data/vendor/assets/javascripts/highlight_js/languages/java.js +45 -0
  35. data/vendor/assets/javascripts/highlight_js/languages/javascript.js +53 -0
  36. data/vendor/assets/javascripts/highlight_js/languages/lisp.js +87 -0
  37. data/vendor/assets/javascripts/highlight_js/languages/lua.js +75 -0
  38. data/vendor/assets/javascripts/highlight_js/languages/mel.js +40 -0
  39. data/vendor/assets/javascripts/highlight_js/languages/nginx.js +224 -0
  40. data/vendor/assets/javascripts/highlight_js/languages/objectivec.js +94 -0
  41. data/vendor/assets/javascripts/highlight_js/languages/parser3.js +52 -0
  42. data/vendor/assets/javascripts/highlight_js/languages/perl.js +143 -0
  43. data/vendor/assets/javascripts/highlight_js/languages/php.js +55 -0
  44. data/vendor/assets/javascripts/highlight_js/languages/profile.js +49 -0
  45. data/vendor/assets/javascripts/highlight_js/languages/python.js +71 -0
  46. data/vendor/assets/javascripts/highlight_js/languages/renderman.js +230 -0
  47. data/vendor/assets/javascripts/highlight_js/languages/ruby.js +203 -0
  48. data/vendor/assets/javascripts/highlight_js/languages/scala.js +60 -0
  49. data/vendor/assets/javascripts/highlight_js/languages/smalltalk.js +55 -0
  50. data/vendor/assets/javascripts/highlight_js/languages/sql.js +90 -0
  51. data/vendor/assets/javascripts/highlight_js/languages/tex.js +62 -0
  52. data/vendor/assets/javascripts/highlight_js/languages/vala.js +75 -0
  53. data/vendor/assets/javascripts/highlight_js/languages/vbscript.js +30 -0
  54. data/vendor/assets/javascripts/highlight_js/languages/vhdl.js +30 -0
  55. data/vendor/assets/javascripts/highlight_js/languages/xml.js +103 -0
  56. data/vendor/assets/stylesheets/highlight_js/arta.css +151 -0
  57. data/vendor/assets/stylesheets/highlight_js/ascetic.css +45 -0
  58. data/vendor/assets/stylesheets/highlight_js/brown_paper.css.erb +105 -0
  59. data/vendor/assets/stylesheets/highlight_js/dark.css +103 -0
  60. data/vendor/assets/stylesheets/highlight_js/default.css +121 -0
  61. data/vendor/assets/stylesheets/highlight_js/far.css +118 -0
  62. data/vendor/assets/stylesheets/highlight_js/github.css +129 -0
  63. data/vendor/assets/stylesheets/highlight_js/idea.css +118 -0
  64. data/vendor/assets/stylesheets/highlight_js/ir_black.css +103 -0
  65. data/vendor/assets/stylesheets/highlight_js/magula.css +118 -0
  66. data/vendor/assets/stylesheets/highlight_js/school_book.css.erb +111 -0
  67. data/vendor/assets/stylesheets/highlight_js/solarized_dark.css +96 -0
  68. data/vendor/assets/stylesheets/highlight_js/solarized_light.css +96 -0
  69. data/vendor/assets/stylesheets/highlight_js/sunburst.css +147 -0
  70. data/vendor/assets/stylesheets/highlight_js/vs.css +84 -0
  71. data/vendor/assets/stylesheets/highlight_js/zenburn.css +115 -0
  72. 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
+ }();