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,176 @@
1
+ /*
2
+ Language: Ruby
3
+ Author: Anton Kovalyov <anton@kovalyov.net>
4
+ Contributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>
5
+ */
6
+
7
+ hljs.LANGUAGES.ruby = function(){
8
+ var RUBY_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?';
9
+ var RUBY_DEFAULT_CONTAINS = ['comment', 'string', 'char', 'class', 'function', 'module_name', 'symbol', 'number', 'variable', 'regexp_container']
10
+ var RUBY_KEYWORDS = {
11
+ 'keyword': {'and': 1, 'false': 1, 'then': 1, 'defined': 1, 'module': 1, 'in': 1, 'return': 1, 'redo': 1, 'if': 1, 'BEGIN': 1, 'retry': 1, 'end': 1, 'for': 1, 'true': 1, 'self': 1, 'when': 1, 'next': 1, 'until': 1, 'do': 1, 'begin': 1, 'unless': 1, 'END': 1, 'rescue': 1, 'nil': 1, 'else': 1, 'break': 1, 'undef': 1, 'not': 1, 'super': 1, 'class': 1, 'case': 1, 'require': 1, 'yield': 1, 'alias': 1, 'while': 1, 'ensure': 1, 'elsif': 1, 'or': 1, 'def': 1},
12
+ 'keymethods': {'__id__': 1, '__send__': 1, 'abort': 1, 'abs': 1, 'all?': 1, 'allocate': 1, 'ancestors': 1, 'any?': 1, 'arity': 1, 'assoc': 1, 'at': 1, 'at_exit': 1, 'autoload': 1, 'autoload?': 1, 'between?': 1, 'binding': 1, 'binmode': 1, 'block_given?': 1, 'call': 1, 'callcc': 1, 'caller': 1, 'capitalize': 1, 'capitalize!': 1, 'casecmp': 1, 'catch': 1, 'ceil': 1, 'center': 1, 'chomp': 1, 'chomp!': 1, 'chop': 1, 'chop!': 1, 'chr': 1, 'class': 1, 'class_eval': 1, 'class_variable_defined?': 1, 'class_variables': 1, 'clear': 1, 'clone': 1, 'close': 1, 'close_read': 1, 'close_write': 1, 'closed?': 1, 'coerce': 1, 'collect': 1, 'collect!': 1, 'compact': 1, 'compact!': 1, 'concat': 1, 'const_defined?': 1, 'const_get': 1, 'const_missing': 1, 'const_set': 1, 'constants': 1, 'count': 1, 'crypt': 1, 'default': 1, 'default_proc': 1, 'delete': 1, 'delete!': 1, 'delete_at': 1, 'delete_if': 1, 'detect': 1, 'display': 1, 'div': 1, 'divmod': 1, 'downcase': 1, 'downcase!': 1, 'downto': 1, 'dump': 1, 'dup': 1, 'each': 1, 'each_byte': 1, 'each_index': 1, 'each_key': 1, 'each_line': 1, 'each_pair': 1, 'each_value': 1, 'each_with_index': 1, 'empty?': 1, 'entries': 1, 'eof': 1, 'eof?': 1, 'eql?': 1, 'equal?': 1, 'eval': 1, 'exec': 1, 'exit': 1, 'exit!': 1, 'extend': 1, 'fail': 1, 'fcntl': 1, 'fetch': 1, 'fileno': 1, 'fill': 1, 'find': 1, 'find_all': 1, 'first': 1, 'flatten': 1, 'flatten!': 1, 'floor': 1, 'flush': 1, 'for_fd': 1, 'foreach': 1, 'fork': 1, 'format': 1, 'freeze': 1, 'frozen?': 1, 'fsync': 1, 'getc': 1, 'gets': 1, 'global_variables': 1, 'grep': 1, 'gsub': 1, 'gsub!': 1, 'has_key?': 1, 'has_value?': 1, 'hash': 1, 'hex': 1, 'id': 1, 'include?': 1, 'included_modules': 1, 'index': 1, 'indexes': 1, 'indices': 1, 'induced_from': 1, 'inject': 1, 'insert': 1, 'inspect': 1, 'instance_eval': 1, 'instance_method': 1, 'instance_methods': 1, 'instance_of?': 1, 'instance_variable_defined?': 1, 'instance_variable_get': 1, 'instance_variable_set': 1, 'instance_variables': 1, 'integer?': 1, 'intern': 1, 'invert': 1, 'ioctl': 1, 'is_a?': 1, 'isatty': 1, 'iterator?': 1, 'join': 1, 'key?': 1, 'keys': 1, 'kind_of?': 1, 'lambda': 1, 'last': 1, 'length': 1, 'lineno': 1, 'ljust': 1, 'load': 1, 'local_variables': 1, 'loop': 1, 'lstrip': 1, 'lstrip!': 1, 'map': 1, 'map!': 1, 'match': 1, 'max': 1, 'member?': 1, 'merge': 1, 'merge!': 1, 'method': 1, 'method_defined?': 1, 'method_missing': 1, 'methods': 1, 'min': 1, 'module_eval': 1, 'modulo': 1, 'name': 1, 'nesting': 1, 'new': 1, 'next': 1, 'next!': 1, 'nil?': 1, 'nitems': 1, 'nonzero?': 1, 'object_id': 1, 'oct': 1, 'open': 1, 'pack': 1, 'partition': 1, 'pid': 1, 'pipe': 1, 'pop': 1, 'popen': 1, 'pos': 1, 'prec': 1, 'prec_f': 1, 'prec_i': 1, 'print': 1, 'printf': 1, 'private_class_method': 1, 'private_instance_methods': 1, 'private_method_defined?': 1, 'private_methods': 1, 'proc': 1, 'protected_instance_methods': 1, 'protected_method_defined?': 1, 'protected_methods': 1, 'public_class_method': 1, 'public_instance_methods': 1, 'public_method_defined?': 1, 'public_methods': 1, 'push': 1, 'putc': 1, 'puts': 1, 'quo': 1, 'raise': 1, 'rand': 1, 'rassoc': 1, 'read': 1, 'read_nonblock': 1, 'readchar': 1, 'readline': 1, 'readlines': 1, 'readpartial': 1, 'rehash': 1, 'reject': 1, 'reject!': 1, 'remainder': 1, 'reopen': 1, 'replace': 1, 'require': 1, 'respond_to?': 1, 'reverse': 1, 'reverse!': 1, 'reverse_each': 1, 'rewind': 1, 'rindex': 1, 'rjust': 1, 'round': 1, 'rstrip': 1, 'rstrip!': 1, 'scan': 1, 'seek': 1, 'select': 1, 'send': 1, 'set_trace_func': 1, 'shift': 1, 'singleton_method_added': 1, 'singleton_methods': 1, 'size': 1, 'sleep': 1, 'slice': 1, 'slice!': 1, 'sort': 1, 'sort!': 1, 'sort_by': 1, 'split': 1, 'sprintf': 1, 'squeeze': 1, 'squeeze!': 1, 'srand': 1, 'stat': 1, 'step': 1, 'store': 1, 'strip': 1, 'strip!': 1, 'sub': 1, 'sub!': 1, 'succ': 1, 'succ!': 1, 'sum': 1, 'superclass': 1, 'swapcase': 1, 'swapcase!': 1, 'sync': 1, 'syscall': 1, 'sysopen': 1, 'sysread': 1, 'sysseek': 1, 'system': 1, 'syswrite': 1, 'taint': 1, 'tainted?': 1, 'tell': 1, 'test': 1, 'throw': 1, 'times': 1, 'to_a': 1, 'to_ary': 1, 'to_f': 1, 'to_hash': 1, 'to_i': 1, 'to_int': 1, 'to_io': 1, 'to_proc': 1, 'to_s': 1, 'to_str': 1, 'to_sym': 1, 'tr': 1, 'tr!': 1, 'tr_s': 1, 'tr_s!': 1, 'trace_var': 1, 'transpose': 1, 'trap': 1, 'truncate': 1, 'tty?': 1, 'type': 1, 'ungetc': 1, 'uniq': 1, 'uniq!': 1, 'unpack': 1, 'unshift': 1, 'untaint': 1, 'untrace_var': 1, 'upcase': 1, 'upcase!': 1, 'update': 1, 'upto': 1, 'value?': 1, 'values': 1, 'values_at': 1, 'warn': 1, 'write': 1, 'write_nonblock': 1, 'zero?': 1, 'zip': 1}
13
+ }
14
+ return {
15
+ defaultMode: {
16
+ lexems: [RUBY_IDENT_RE],
17
+ contains: RUBY_DEFAULT_CONTAINS,
18
+ keywords: RUBY_KEYWORDS
19
+ },
20
+ modes: [
21
+ hljs.HASH_COMMENT_MODE,
22
+ {
23
+ className: 'comment',
24
+ begin: '^\\=begin', end: '^\\=end',
25
+ relevance: 10
26
+ },
27
+ {
28
+ className: 'comment',
29
+ begin: '^__END__', end: '\\n$'
30
+ },
31
+ {
32
+ className: 'params',
33
+ begin: '\\(', end: '\\)',
34
+ lexems: [RUBY_IDENT_RE],
35
+ keywords: RUBY_KEYWORDS,
36
+ contains: RUBY_DEFAULT_CONTAINS
37
+ },
38
+ {
39
+ className: 'function',
40
+ begin: '\\bdef\\b', end: '$|;',
41
+ lexems: [RUBY_IDENT_RE],
42
+ keywords: RUBY_KEYWORDS,
43
+ contains: ['title', 'params', 'comment']
44
+ },
45
+ {
46
+ className: 'class',
47
+ begin: '\\b(class|module)\\b', end: '$',
48
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
49
+ keywords: RUBY_KEYWORDS,
50
+ contains: ['title', 'inheritance', 'comment'],
51
+ keywords: {'class': 1, 'module': 1}
52
+ },
53
+ {
54
+ className: 'title',
55
+ begin: '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?', end: '^',
56
+ relevance: 0
57
+ },
58
+ {
59
+ className: 'inheritance',
60
+ begin: '<\\s*', end: '^',
61
+ contains: ['parent']
62
+ },
63
+ {
64
+ className: 'parent',
65
+ begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE, end: '^'
66
+ },
67
+ {
68
+ className: 'number',
69
+ begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', end: '^',
70
+ relevance: 0
71
+ },
72
+ {
73
+ className: 'number',
74
+ begin: '\\?\\w', end: '^'
75
+ },
76
+ {
77
+ className: 'string',
78
+ begin: '\'', end: '\'',
79
+ contains: ['escape', 'subst'],
80
+ relevance: 0
81
+ },
82
+ {
83
+ className: 'string',
84
+ begin: '"', end: '"',
85
+ contains: ['escape', 'subst'],
86
+ relevance: 0
87
+ },
88
+ {
89
+ className: 'string',
90
+ begin: '%[qw]?\\(', end: '\\)',
91
+ contains: ['escape', 'subst'],
92
+ relevance: 10
93
+ },
94
+ {
95
+ className: 'string',
96
+ begin: '%[qw]?\\[', end: '\\]',
97
+ contains: ['escape', 'subst'],
98
+ relevance: 10
99
+ },
100
+ {
101
+ className: 'string',
102
+ begin: '%[qw]?{', end: '}',
103
+ contains: ['escape', 'subst'],
104
+ relevance: 10
105
+ },
106
+ {
107
+ className: 'string',
108
+ begin: '%[qw]?<', end: '>',
109
+ contains: ['escape', 'subst'],
110
+ relevance: 10
111
+ },
112
+ {
113
+ className: 'string',
114
+ begin: '%[qw]?/', end: '/',
115
+ contains: ['escape', 'subst'],
116
+ relevance: 10
117
+ },
118
+ {
119
+ className: 'string',
120
+ begin: '%[qw]?%', end: '%',
121
+ contains: ['escape', 'subst'],
122
+ relevance: 10
123
+ },
124
+ {
125
+ className: 'string',
126
+ begin: '%[qw]?-', end: '-',
127
+ contains: ['escape', 'subst'],
128
+ relevance: 10
129
+ },
130
+ {
131
+ className: 'string',
132
+ begin: '%[qw]?\\|', end: '\\|',
133
+ contains: ['escape', 'subst'],
134
+ relevance: 10
135
+ },
136
+ {
137
+ className: 'module_name',
138
+ begin: ':{2}' + RUBY_IDENT_RE, end: '^',
139
+ noMarkup: true
140
+ },
141
+ {
142
+ className: 'symbol',
143
+ begin: ':' + RUBY_IDENT_RE, end: '^'
144
+ },
145
+ {
146
+ className: 'symbol',
147
+ begin: ':', end: '^',
148
+ contains: ['string']
149
+ },
150
+ hljs.BACKSLASH_ESCAPE,
151
+ {
152
+ className: 'subst',
153
+ begin: '#\\{', end: '}',
154
+ lexems: [RUBY_IDENT_RE],
155
+ keywords: RUBY_KEYWORDS,
156
+ contains: RUBY_DEFAULT_CONTAINS
157
+ },
158
+ {
159
+ className: 'regexp_container',
160
+ begin: '(' + hljs.RE_STARTERS_RE + ')\\s*', end: '^', noMarkup: true,
161
+ contains: ['comment', 'regexp'],
162
+ relevance: 0
163
+ },
164
+ {
165
+ className: 'regexp',
166
+ begin: '/', end: '/[a-z]*',
167
+ illegal: '\\n',
168
+ contains: ['escape']
169
+ },
170
+ {
171
+ className: 'variable',
172
+ begin: '(\\$\\W)|((\\$|\\@\\@?)(\\w+))', end: '^'
173
+ }
174
+ ]
175
+ };
176
+ }();
@@ -0,0 +1,52 @@
1
+ /*
2
+ Language: Smalltalk
3
+ Author: Vladimir Gubarkov <xonixx@gmail.com>
4
+ */
5
+
6
+ hljs.LANGUAGES.smalltalk = function(){
7
+ var VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*';
8
+ return {
9
+ defaultMode: {
10
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
11
+ contains: ['comment', 'string', 'class', 'method',
12
+ 'number', 'symbol', 'char', 'localvars', 'array'],
13
+ keywords: {'self': 1, 'super': 1, 'nil': 1, 'true': 1, 'false': 1, 'thisContext': 1} // only 6
14
+ },
15
+ modes: [
16
+ {
17
+ className: 'class',
18
+ begin: '\\b[A-Z][A-Za-z0-9_]*', end: '^',
19
+ relevance: 0
20
+ },
21
+ {
22
+ className: 'symbol',
23
+ begin: '#' + hljs.UNDERSCORE_IDENT_RE, end: '^'
24
+ },
25
+ hljs.C_NUMBER_MODE,
26
+ hljs.APOS_STRING_MODE,
27
+ {
28
+ className: 'comment',
29
+ begin: '"', end: '"',
30
+ relevance: 0
31
+ },
32
+ {
33
+ className: 'method',
34
+ begin: VAR_IDENT_RE + ':', end:'^'
35
+ },
36
+ {
37
+ className: 'char',
38
+ begin: '\\$.{1}', end: '^'
39
+ },
40
+ {
41
+ className: 'localvars',
42
+ begin: '\\|\\s*((' + VAR_IDENT_RE + ')\\s*)+\\|', end: '^',
43
+ relevance: 10
44
+ },
45
+ {
46
+ className: 'array',
47
+ begin: '\\#\\(', end: '\\)',
48
+ contains: ['string', 'char', 'number', 'symbol']
49
+ }
50
+ ]
51
+ };
52
+ }();
@@ -0,0 +1,52 @@
1
+ /*
2
+ Language: SQL
3
+ */
4
+
5
+ hljs.LANGUAGES.sql =
6
+ {
7
+ case_insensitive: true,
8
+ defaultMode:
9
+ {
10
+ lexems: [hljs.IDENT_RE],
11
+ contains: ['string', 'number', 'comment'],
12
+ keywords: {
13
+ 'keyword': {'all': 1, 'partial': 1, 'global': 1, 'month': 1, 'current_timestamp': 1, 'using': 1, 'go': 1, 'revoke': 1, 'smallint': 1, 'indicator': 1, 'end-exec': 1, 'disconnect': 1, 'zone': 1, 'with': 1, 'character': 1, 'assertion': 1, 'to': 1, 'add': 1, 'current_user': 1, 'usage': 1, 'input': 1, 'local': 1, 'alter': 1, 'match': 1, 'collate': 1, 'real': 1, 'then': 1, 'rollback': 1, 'get': 1, 'read': 1, 'timestamp': 1, 'session_user': 1, 'not': 1, 'integer': 1, 'bit': 1, 'unique': 1, 'day': 1, 'minute': 1, 'desc': 1, 'insert': 1, 'execute': 1, 'like': 1, 'ilike': 2, 'level': 1, 'decimal': 1, 'drop': 1, 'continue': 1, 'isolation': 1, 'found': 1, 'where': 1, 'constraints': 1, 'domain': 1, 'right': 1, 'national': 1, 'some': 1, 'module': 1, 'transaction': 1, 'relative': 1, 'second': 1, 'connect': 1, 'escape': 1, 'close': 1, 'system_user': 1, 'for': 1, 'deferred': 1, 'section': 1, 'cast': 1, 'current': 1, 'sqlstate': 1, 'allocate': 1, 'intersect': 1, 'deallocate': 1, 'numeric': 1, 'public': 1, 'preserve': 1, 'full': 1, 'goto': 1, 'initially': 1, 'asc': 1, 'no': 1, 'key': 1, 'output': 1, 'collation': 1, 'group': 1, 'by': 1, 'union': 1, 'session': 1, 'both': 1, 'last': 1, 'language': 1, 'constraint': 1, 'column': 1, 'of': 1, 'space': 1, 'foreign': 1, 'deferrable': 1, 'prior': 1, 'connection': 1, 'unknown': 1, 'action': 1, 'commit': 1, 'view': 1, 'or': 1, 'first': 1, 'into': 1, 'float': 1, 'year': 1, 'primary': 1, 'cascaded': 1, 'except': 1, 'restrict': 1, 'set': 1, 'references': 1, 'names': 1, 'table': 1, 'outer': 1, 'open': 1, 'select': 1, 'size': 1, 'are': 1, 'rows': 1, 'from': 1, 'prepare': 1, 'distinct': 1, 'leading': 1, 'create': 1, 'only': 1, 'next': 1, 'inner': 1, 'authorization': 1, 'schema': 1, 'corresponding': 1, 'option': 1, 'declare': 1, 'precision': 1, 'immediate': 1, 'else': 1, 'timezone_minute': 1, 'external': 1, 'varying': 1, 'translation': 1, 'true': 1, 'case': 1, 'exception': 1, 'join': 1, 'hour': 1, 'default': 1, 'double': 1, 'scroll': 1, 'value': 1, 'cursor': 1, 'descriptor': 1, 'values': 1, 'dec': 1, 'fetch': 1, 'procedure': 1, 'delete': 1, 'and': 1, 'false': 1, 'int': 1, 'is': 1, 'describe': 1, 'char': 1, 'as': 1, 'at': 1, 'in': 1, 'varchar': 1, 'null': 1, 'trailing': 1, 'any': 1, 'absolute': 1, 'current_time': 1, 'end': 1, 'grant': 1, 'privileges': 1, 'when': 1, 'cross': 1, 'check': 1, 'write': 1, 'current_date': 1, 'pad': 1, 'begin': 1, 'temporary': 1, 'exec': 1, 'time': 1, 'update': 1, 'catalog': 1, 'user': 1, 'sql': 1, 'date': 1, 'on': 1, 'identity': 1, 'timezone_hour': 1, 'natural': 1, 'whenever': 1, 'interval': 1, 'work': 1, 'order': 1, 'cascade': 1, 'diagnostics': 1, 'nchar': 1, 'having': 1, 'left': 1},
14
+ 'aggregate': {'count': 1, 'sum': 1, 'min': 1, 'max': 1, 'avg': 1}
15
+ }
16
+ },
17
+
18
+ modes: [
19
+ hljs.C_NUMBER_MODE,
20
+ hljs.C_BLOCK_COMMENT_MODE,
21
+ {
22
+ className: 'comment',
23
+ begin: '--', end: '$'
24
+ },
25
+ {
26
+ className: 'string',
27
+ begin: '\'', end: '\'',
28
+ contains: ['escape', 'squote'],
29
+ relevance: 0
30
+ },
31
+ {
32
+ className: 'squote',
33
+ begin: '\'\'', end: '^', noMarkup: true
34
+ },
35
+ {
36
+ className: 'string',
37
+ begin: '"', end: '"',
38
+ contains: [ 'escape', 'dquote'],
39
+ relevance: 0
40
+ },
41
+ {
42
+ className: 'dquote',
43
+ begin: '""', end: '^', noMarkup: true
44
+ },
45
+ {
46
+ className: 'string',
47
+ begin: '`', end: '`',
48
+ contains: ['escape']
49
+ },
50
+ hljs.BACKSLASH_ESCAPE
51
+ ]
52
+ };
@@ -0,0 +1,223 @@
1
+ hljs.CPP_KEYWORDS = {
2
+ 'keyword': {'false': 1, 'int': 1, 'float': 1, 'while': 1, 'private': 1, 'char': 1, 'catch': 1, 'export': 1, 'virtual': 1, 'operator': 2, 'sizeof': 2, 'dynamic_cast': 2, 'typedef': 2, 'const_cast': 2, 'const': 1, 'struct': 1, 'for': 1, 'static_cast': 2, 'union': 1, 'namespace': 1, 'unsigned': 1, 'long': 1, 'throw': 1, 'volatile': 2, 'static': 1, 'protected': 1, 'bool': 1, 'template': 1, 'mutable': 1, 'if': 1, 'public': 1, 'friend': 2, 'do': 1, 'return': 1, 'goto': 1, 'auto': 1, 'void': 2, 'enum': 1, 'else': 1, 'break': 1, 'new': 1, 'extern': 1, 'using': 1, 'true': 1, 'class': 1, 'asm': 1, 'case': 1, 'typeid': 1, 'short': 1, 'reinterpret_cast': 2, 'default': 1, 'double': 1, 'register': 1, 'explicit': 1, 'signed': 1, 'typename': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'wchar_t': 1, 'inline': 1, 'delete': 1},
3
+ 'built_in': {'std': 1, 'string': 1, 'cin': 1, 'cout': 1, 'cerr': 1, 'clog': 1, 'stringstream': 1, 'istringstream': 1, 'ostringstream': 1, 'auto_ptr': 1, 'deque': 1, 'list': 1, 'queue': 1, 'stack': 1, 'vector': 1, 'map': 1, 'set': 1, 'bitset': 1, 'multiset': 1, 'multimap': 1}
4
+ }
5
+ hljs.LANGUAGES.cpp = {
6
+ defaultMode: {
7
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
8
+ illegal: '</',
9
+ contains: ['comment', 'string', 'number', 'preprocessor', 'stl_container'],
10
+ keywords: hljs.CPP_KEYWORDS
11
+ },
12
+ modes: [
13
+ hljs.C_LINE_COMMENT_MODE,
14
+ hljs.C_BLOCK_COMMENT_MODE,
15
+ hljs.C_NUMBER_MODE,
16
+ hljs.QUOTE_STRING_MODE,
17
+ hljs.BACKSLASH_ESCAPE,
18
+ {
19
+ className: 'string',
20
+ begin: '\'', end: '[^\\\\]\'',
21
+ illegal: '[^\\\\][^\']'
22
+ },
23
+ {
24
+ className: 'preprocessor',
25
+ begin: '#', end: '$'
26
+ },
27
+ {
28
+ className: 'stl_container',
29
+ begin: '\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap)\\s*<', end: '>',
30
+ contains: ['stl_container'],
31
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
32
+ keywords: hljs.CPP_KEYWORDS,
33
+ relevance: 10
34
+ }
35
+ ]
36
+ };
37
+
38
+
39
+ /*
40
+
41
+ Java definition (с) Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
42
+
43
+ */
44
+ hljs.LANGUAGES.java = {
45
+ defaultMode: {
46
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
47
+ contains: ['javadoc', 'comment', 'string', 'class', 'number', 'annotation'],
48
+ 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}
49
+ },
50
+ modes: [
51
+ {
52
+ className: 'class',
53
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
54
+ begin: '(class |interface )', end: '{',
55
+ illegal: ':',
56
+ keywords: {'class': 1, 'interface': 1},
57
+ contains: ['inheritance', 'title']
58
+ },
59
+ {
60
+ className: 'inheritance',
61
+ begin: '(implements|extends)', end: '^',
62
+ lexems: [hljs.IDENT_RE],
63
+ keywords: {'extends': 1, 'implements': 1},
64
+ relevance: 10
65
+ },
66
+ {
67
+ className: 'title',
68
+ begin: hljs.UNDERSCORE_IDENT_RE, end: '^'
69
+ },
70
+ {
71
+ className: 'params',
72
+ begin: '\\(', end: '\\)',
73
+ contains: ['string', 'annotation']
74
+ },
75
+ hljs.C_NUMBER_MODE,
76
+ hljs.APOS_STRING_MODE,
77
+ hljs.QUOTE_STRING_MODE,
78
+ hljs.BACKSLASH_ESCAPE,
79
+ hljs.C_LINE_COMMENT_MODE,
80
+ {
81
+ className: 'javadoc',
82
+ begin: '/\\*\\*', end: '\\*/',
83
+ contains: ['javadoctag'],
84
+ relevance: 10
85
+ },
86
+ {
87
+ className: 'javadoctag',
88
+ begin: '@[A-Za-z]+', end: '^'
89
+ },
90
+ hljs.C_BLOCK_COMMENT_MODE,
91
+ {
92
+ className: 'annotation',
93
+ begin: '@[A-Za-z]+', end: '^'
94
+ }
95
+ ]
96
+ };
97
+
98
+
99
+ hljs.DELPHI_KEYWORDS = {'and': 1, 'safecall': 1, 'cdecl': 1, 'then': 1, 'string': 1, 'exports': 1, 'library': 1, 'not': 1, 'pascal': 1, 'set': 1, 'virtual': 1, 'file': 1, 'in': 1, 'array': 1, 'label': 1, 'packed': 1, 'end.': 1, 'index': 1, 'while': 1, 'const': 1, 'raise': 1, 'for': 1, 'to': 1, 'implementation': 1, 'with': 1, 'except': 1, 'overload': 1, 'destructor': 1, 'downto': 1, 'finally': 1, 'program': 1, 'exit': 1, 'unit': 1, 'inherited': 1, 'override': 1, 'if': 1, 'type': 1, 'until': 1, 'function': 1, 'do': 1, 'begin': 1, 'repeat': 1, 'goto': 1, 'nil': 1, 'far': 1, 'initialization': 1, 'object': 1, 'else': 1, 'var': 1, 'uses': 1, 'external': 1, 'resourcestring': 1, 'interface': 1, 'end': 1, 'finalization': 1, 'class': 1, 'asm': 1, 'mod': 1, 'case': 1, 'on': 1, 'shr': 1, 'shl': 1, 'of': 1, 'register': 1, 'xorwrite': 1, 'threadvar': 1, 'try': 1, 'record': 1, 'near': 1, 'stored': 1, 'constructor': 1, 'stdcall': 1, 'inline': 1, 'div': 1, 'out': 1, 'or': 1, 'procedure': 1};
100
+ hljs.DELPHI_CLASS_KEYWORDS = {'safecall': 1, 'stdcall': 1, 'pascal': 1, 'stored': 1, 'const': 1, 'implementation': 1, 'finalization': 1, 'except': 1, 'to': 1, 'finally': 1, 'program': 1, 'inherited': 1, 'override': 1, 'then': 1, 'exports': 1, 'string': 1, 'read': 1, 'not': 1, 'mod': 1, 'shr': 1, 'try': 1, 'div': 1, 'shl': 1, 'set': 1, 'library': 1, 'message': 1, 'packed': 1, 'index': 1, 'for': 1, 'near': 1, 'overload': 1, 'label': 1, 'downto': 1, 'exit': 1, 'public': 1, 'goto': 1, 'interface': 1, 'asm': 1, 'on': 1, 'of': 1, 'constructor': 1, 'or': 1, 'private': 1, 'array': 1, 'unit': 1, 'raise': 1, 'destructor': 1, 'var': 1, 'type': 1, 'until': 1, 'function': 1, 'else': 1, 'external': 1, 'with': 1, 'case': 1, 'default': 1, 'record': 1, 'while': 1, 'protected': 1, 'property': 1, 'procedure': 1, 'published': 1, 'and': 1, 'cdecl': 1, 'do': 1, 'threadvar': 1, 'file': 1, 'in': 1, 'if': 1, 'end': 1, 'virtual': 1, 'write': 1, 'far': 1, 'out': 1, 'begin': 1, 'repeat': 1, 'nil': 1, 'initialization': 1, 'object': 1, 'uses': 1, 'resourcestring': 1, 'class': 1, 'register': 1, 'xorwrite': 1, 'inline': 1};
101
+
102
+ hljs.LANGUAGES.delphi = {
103
+ defaultMode: {
104
+ lexems: [hljs.IDENT_RE],
105
+ illegal: '("|\\$[G-Zg-z]|\\/\\*|</)',
106
+ contains: ['comment', 'string', 'number', 'function', 'class'],
107
+ keywords: hljs.DELPHI_KEYWORDS
108
+ },
109
+ case_insensitive: true,
110
+ modes: [
111
+ {
112
+ className: 'comment',
113
+ begin: '{', end: '}'
114
+ },
115
+ {
116
+ className: 'comment',
117
+ begin: '\\(\\*', end: '\\*\\)',
118
+ relevance: 10
119
+ },
120
+ hljs.C_LINE_COMMENT_MODE,
121
+ {
122
+ className: 'number',
123
+ begin: hljs.NUMBER_RE, end: '^',
124
+ relevance: 0
125
+ },
126
+ {
127
+ className: 'string',
128
+ begin: '\'', end: '\'',
129
+ contains: ['quote'],
130
+ relevance: 0
131
+ },
132
+ {
133
+ className: 'string',
134
+ begin: '(#\\d+)+', end: '^'
135
+ },
136
+ {
137
+ className: 'quote',
138
+ begin: '\'\'', end: '^'
139
+ },
140
+ {
141
+ className: 'function',
142
+ begin: 'function', end: '[:;]',
143
+ lexems: [hljs.IDENT_RE],
144
+ keywords: {'function': 1},
145
+ contains: ['title', 'params', 'comment'],
146
+ relevance: 0
147
+ },
148
+ {
149
+ className: 'function',
150
+ begin: '(procedure|constructor|destructor)', end: ';',
151
+ lexems: [hljs.IDENT_RE],
152
+ keywords: {'constructor': 1, 'destructor': 1, 'procedure': 1},
153
+ contains: ['title', 'params', 'comment'],
154
+ relevance: 10
155
+ },
156
+ {
157
+ className: 'title',
158
+ begin: hljs.IDENT_RE, end: '^'
159
+ },
160
+ {
161
+ className: 'params',
162
+ begin: '\\(', end: '\\)',
163
+ lexems: [hljs.IDENT_RE],
164
+ keywords: hljs.DELPHI_KEYWORDS,
165
+ contains: ['string']
166
+ },
167
+ {
168
+ className: 'class',
169
+ begin: '=\\s*class', end: 'end;',
170
+ lexems: [hljs.IDENT_RE],
171
+ keywords: hljs.DELPHI_CLASS_KEYWORDS,
172
+ contains: ['string', 'comment', 'function']
173
+ }
174
+ ]
175
+ };
176
+
177
+ /*
178
+
179
+ C# definition (с) Jason Diamond <jason@diamond.name>
180
+
181
+ */
182
+ hljs.LANGUAGES.cs = {
183
+ defaultMode: {
184
+ lexems: [hljs.UNDERSCORE_IDENT_RE],
185
+ contains: ['comment', 'string', 'number'],
186
+ keywords: {
187
+ // Normal keywords.
188
+ 'abstract': 1, 'as': 1, 'base': 1, 'bool': 1, 'break': 1, 'byte': 1, 'case': 1, 'catch': 1, 'char': 1, 'checked': 1, 'class': 1, 'const': 1, 'continue': 1, 'decimal': 1, 'default': 1, 'delegate': 1, 'do': 1, 'do': 1, 'double': 1, 'else': 1, 'enum': 1, 'event': 1, 'explicit': 1, 'extern': 1, 'false': 1, 'finally': 1, 'fixed': 1, 'float': 1, 'for': 1, 'foreach': 1, 'goto': 1, 'if': 1, 'implicit': 1, 'in': 1, 'int': 1, 'interface': 1, 'internal': 1, 'is': 1, 'lock': 1, 'long': 1, 'namespace': 1, 'new': 1, 'null': 1, 'object': 1, 'operator': 1, 'out': 1, 'override': 1, 'params': 1, 'private': 1, 'protected': 1, 'public': 1, 'readonly': 1, 'ref': 1, 'return': 1, 'sbyte': 1, 'sealed': 1, 'short': 1, 'sizeof': 1, 'stackalloc': 1, 'static': 1, 'string': 1, 'struct': 1, 'switch': 1, 'this': 1, 'throw': 1, 'true': 1, 'try': 1, 'typeof': 1, 'uint': 1, 'ulong': 1, 'unchecked': 1, 'unsafe': 1, 'ushort': 1, 'using': 1, 'virtual': 1, 'volatile': 1, 'void': 1, 'while': 1,
189
+ // Contextual keywords.
190
+ 'ascending': 1, 'descending': 1, 'from': 1, 'get': 1, 'group': 1, 'into': 1, 'join': 1, 'let': 1, 'orderby': 1, 'partial': 1, 'select': 1, 'set': 1, 'value': 1, 'var': 1, 'where': 1, 'yield': 1
191
+ }
192
+ },
193
+ modes: [
194
+ {
195
+ className: 'comment',
196
+ begin: '///', end: '$', returnBegin: true,
197
+ contains: ['xmlDocTag']
198
+ },
199
+ {
200
+ className: 'xmlDocTag',
201
+ begin: '///|<!--|-->', end: '^'
202
+ },
203
+ {
204
+ className: 'xmlDocTag',
205
+ begin: '</?', end: '>'
206
+ },
207
+ {
208
+ className: 'string',
209
+ begin: '@"', end: '"',
210
+ contains: ['quoteQuote']
211
+ },
212
+ {
213
+ className: 'quoteQuote',
214
+ begin: '""', end: '^'
215
+ },
216
+ hljs.C_LINE_COMMENT_MODE,
217
+ hljs.C_BLOCK_COMMENT_MODE,
218
+ hljs.APOS_STRING_MODE,
219
+ hljs.QUOTE_STRING_MODE,
220
+ hljs.BACKSLASH_ESCAPE,
221
+ hljs.C_NUMBER_MODE
222
+ ]
223
+ };