highlight_js-rails 0.0.2 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/AUTHORS.en.txt +20 -2
  2. data/AUTHORS.ru.txt +20 -2
  3. data/classref.txt +122 -6
  4. data/lib/highlight_js/version.rb +1 -1
  5. data/vendor/assets/images/highlight_js/pojoaque.jpg +0 -0
  6. data/vendor/assets/javascripts/highlight_js/highlight.js +116 -80
  7. data/vendor/assets/javascripts/highlight_js/languages/1c.js +34 -8
  8. data/vendor/assets/javascripts/highlight_js/languages/actionscript.js +85 -0
  9. data/vendor/assets/javascripts/highlight_js/languages/apache.js +96 -409
  10. data/vendor/assets/javascripts/highlight_js/languages/avrasm.js +53 -66
  11. data/vendor/assets/javascripts/highlight_js/languages/axapta.js +41 -38
  12. data/vendor/assets/javascripts/highlight_js/languages/bash.js +19 -16
  13. data/vendor/assets/javascripts/highlight_js/languages/clojure.js +105 -0
  14. data/vendor/assets/javascripts/highlight_js/languages/cmake.js +33 -17
  15. data/vendor/assets/javascripts/highlight_js/languages/coffeescript.js +112 -0
  16. data/vendor/assets/javascripts/highlight_js/languages/cpp.js +26 -37
  17. data/vendor/assets/javascripts/highlight_js/languages/cs.js +46 -34
  18. data/vendor/assets/javascripts/highlight_js/languages/css.js +6 -9
  19. data/vendor/assets/javascripts/highlight_js/languages/d.js +269 -0
  20. data/vendor/assets/javascripts/highlight_js/languages/delphi.js +20 -11
  21. data/vendor/assets/javascripts/highlight_js/languages/diff.js +60 -58
  22. data/vendor/assets/javascripts/highlight_js/languages/django.js +23 -5
  23. data/vendor/assets/javascripts/highlight_js/languages/dos.js +31 -23
  24. data/vendor/assets/javascripts/highlight_js/languages/erlang-repl.js +52 -76
  25. data/vendor/assets/javascripts/highlight_js/languages/erlang.js +27 -64
  26. data/vendor/assets/javascripts/highlight_js/languages/glsl.js +101 -0
  27. data/vendor/assets/javascripts/highlight_js/languages/go.js +14 -25
  28. data/vendor/assets/javascripts/highlight_js/languages/haskell.js +34 -21
  29. data/vendor/assets/javascripts/highlight_js/languages/http.js +41 -0
  30. data/vendor/assets/javascripts/highlight_js/languages/ini.js +30 -28
  31. data/vendor/assets/javascripts/highlight_js/languages/java.js +46 -40
  32. data/vendor/assets/javascripts/highlight_js/languages/javascript.js +55 -49
  33. data/vendor/assets/javascripts/highlight_js/languages/json.js +44 -0
  34. data/vendor/assets/javascripts/highlight_js/languages/lisp.js +27 -26
  35. data/vendor/assets/javascripts/highlight_js/languages/lua.js +31 -39
  36. data/vendor/assets/javascripts/highlight_js/languages/markdown.js +87 -0
  37. data/vendor/assets/javascripts/highlight_js/languages/matlab.js +64 -0
  38. data/vendor/assets/javascripts/highlight_js/languages/mel.js +232 -34
  39. data/vendor/assets/javascripts/highlight_js/languages/nginx.js +85 -207
  40. data/vendor/assets/javascripts/highlight_js/languages/objectivec.js +33 -37
  41. data/vendor/assets/javascripts/highlight_js/languages/parser3.js +10 -10
  42. data/vendor/assets/javascripts/highlight_js/languages/perl.js +50 -22
  43. data/vendor/assets/javascripts/highlight_js/languages/php.js +106 -49
  44. data/vendor/assets/javascripts/highlight_js/languages/profile.js +44 -42
  45. data/vendor/assets/javascripts/highlight_js/languages/python.js +59 -46
  46. data/vendor/assets/javascripts/highlight_js/languages/r.js +82 -0
  47. data/vendor/assets/javascripts/highlight_js/languages/rib.js +34 -0
  48. data/vendor/assets/javascripts/highlight_js/languages/rsl.js +46 -0
  49. data/vendor/assets/javascripts/highlight_js/languages/ruby.js +96 -107
  50. data/vendor/assets/javascripts/highlight_js/languages/rust.js +62 -0
  51. data/vendor/assets/javascripts/highlight_js/languages/scala.js +10 -7
  52. data/vendor/assets/javascripts/highlight_js/languages/smalltalk.js +3 -3
  53. data/vendor/assets/javascripts/highlight_js/languages/sql.js +61 -85
  54. data/vendor/assets/javascripts/highlight_js/languages/tex.js +4 -6
  55. data/vendor/assets/javascripts/highlight_js/languages/vala.js +62 -68
  56. data/vendor/assets/javascripts/highlight_js/languages/vbscript.js +41 -23
  57. data/vendor/assets/javascripts/highlight_js/languages/vhdl.js +45 -24
  58. data/vendor/assets/javascripts/highlight_js/languages/xml.js +13 -9
  59. data/vendor/assets/stylesheets/highlight_js/arta.css +15 -11
  60. data/vendor/assets/stylesheets/highlight_js/ascetic.css +8 -3
  61. data/vendor/assets/stylesheets/highlight_js/{brown_paper.css.erb → brown_paper.scss} +11 -14
  62. data/vendor/assets/stylesheets/highlight_js/dark.css +10 -12
  63. data/vendor/assets/stylesheets/highlight_js/default.css +27 -16
  64. data/vendor/assets/stylesheets/highlight_js/far.css +14 -21
  65. data/vendor/assets/stylesheets/highlight_js/github.css +14 -12
  66. data/vendor/assets/stylesheets/highlight_js/googlecode.css +144 -0
  67. data/vendor/assets/stylesheets/highlight_js/idea.css +7 -4
  68. data/vendor/assets/stylesheets/highlight_js/ir_black.css +9 -14
  69. data/vendor/assets/stylesheets/highlight_js/magula.css +8 -7
  70. data/vendor/assets/stylesheets/highlight_js/monokai.css +112 -0
  71. data/vendor/assets/stylesheets/highlight_js/pojoaque.scss +104 -0
  72. data/vendor/assets/stylesheets/highlight_js/rainbow.css +114 -0
  73. data/vendor/assets/stylesheets/highlight_js/{school_book.css.erb → school_book.scss} +11 -13
  74. data/vendor/assets/stylesheets/highlight_js/solarized_dark.css +10 -18
  75. data/vendor/assets/stylesheets/highlight_js/solarized_light.css +10 -18
  76. data/vendor/assets/stylesheets/highlight_js/sunburst.css +8 -7
  77. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-blue.css +42 -0
  78. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-bright.css +41 -0
  79. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-eighties.css +41 -0
  80. data/vendor/assets/stylesheets/highlight_js/tomorrow-night.css +42 -0
  81. data/vendor/assets/stylesheets/highlight_js/tomorrow.css +39 -0
  82. data/vendor/assets/stylesheets/highlight_js/vs.css +8 -7
  83. data/vendor/assets/stylesheets/highlight_js/xcode.css +154 -0
  84. data/vendor/assets/stylesheets/highlight_js/zenburn.css +9 -11
  85. metadata +42 -8
  86. data/vendor/assets/javascripts/highlight_js/languages/renderman.js +0 -230
@@ -1,38 +1,35 @@
1
1
  /*
2
2
  Language: Objective C
3
3
  Author: Valerii Hiora <valerii.hiora@gmail.com>
4
+ Contributors: Angel G. Olloqui <angelgarcia.mail@gmail.com>
4
5
  */
5
6
 
6
- hljs.LANGUAGES.objectivec = function(){
7
+ hljs.LANGUAGES['objectivec'] = function(hljs) {
7
8
  var OBJC_KEYWORDS = {
8
- 'keyword': {
9
- 'false': 1, 'int': 1, 'float': 1, 'while': 1, 'private': 1, 'char': 1,
10
- 'catch': 1, 'export': 1, 'sizeof': 2, 'typedef': 2, 'const': 1,
11
- 'struct': 1, 'for': 1, 'union': 1, 'unsigned': 1, 'long': 1,
12
- 'volatile': 2, 'static': 1, 'protected': 1, 'bool': 1, 'mutable': 1,
13
- 'if': 1, 'public': 1, 'do': 1, 'return': 1, 'goto': 1, 'void': 2,
14
- 'enum': 1, 'else': 1, 'break': 1, 'extern': 1, 'true': 1, 'class': 1,
15
- 'asm': 1, 'case': 1, 'short': 1, 'default': 1, 'double': 1, 'throw': 1,
16
- 'register': 1, 'explicit': 1, 'signed': 1, 'typename': 1, 'try': 1,
17
- 'this': 1, 'switch': 1, 'continue': 1, 'wchar_t': 1, 'inline': 1,
18
- 'readonly': 1, 'assign': 1, 'property': 1, 'protocol': 10, 'self': 1,
19
- 'synchronized': 1, 'end': 1, 'synthesize': 50, 'id': 1, 'optional': 1,
20
- 'required': 1, 'implementation': 10, 'nonatomic': 1,'interface': 1,
21
- 'super': 1, 'unichar': 1, 'finally': 2, 'dynamic': 2, 'nil': 1
22
- },
23
- 'built_in': {
24
- 'YES': 5, 'NO': 5, 'NULL': 1, 'IBOutlet': 50, 'IBAction': 50,
25
- 'NSString': 50, 'NSDictionary': 50, 'CGRect': 50, 'CGPoint': 50,
26
- 'NSRange': 50, 'release': 1, 'retain': 1, 'autorelease': 50,
27
- 'UIButton': 50, 'UILabel': 50, 'UITextView': 50, 'UIWebView': 50,
28
- 'MKMapView': 50, 'UISegmentedControl': 50, 'NSObject': 50,
29
- 'UITableViewDelegate': 50, 'UITableViewDataSource': 50, 'NSThread': 50,
30
- 'UIActivityIndicator': 50, 'UITabbar': 50, 'UIToolBar': 50,
31
- 'UIBarButtonItem': 50, 'UIImageView': 50, 'NSAutoreleasePool': 50,
32
- 'UITableView': 50, 'BOOL': 1, 'NSInteger': 20, 'CGFloat': 20,
33
- 'NSException': 50, 'NSLog': 50, 'NSMutableString': 50,
34
- 'NSMutableArray': 50, 'NSMutableDictionary': 50, 'NSURL': 50
35
- }
9
+ keyword:
10
+ 'int float while private char catch export sizeof typedef const struct for union ' +
11
+ 'unsigned long volatile static protected bool mutable if public do return goto void ' +
12
+ 'enum else break extern class asm case short default double throw register explicit ' +
13
+ 'signed typename try this switch continue wchar_t inline readonly assign property ' +
14
+ 'protocol self synchronized end synthesize id optional required implementation ' +
15
+ 'nonatomic interface super unichar finally dynamic IBOutlet IBAction selector strong ' +
16
+ 'weak readonly',
17
+ literal:
18
+ 'false true FALSE TRUE nil YES NO NULL',
19
+ built_in:
20
+ 'NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView ' +
21
+ 'UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread ' +
22
+ 'UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool ' +
23
+ 'UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray ' +
24
+ 'NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController ' +
25
+ 'UINavigationBar UINavigationController UITabBarController UIPopoverController ' +
26
+ 'UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController ' +
27
+ 'NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor ' +
28
+ 'UIFont UIApplication NSNotFound NSNotificationCenter NSNotification ' +
29
+ 'UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar ' +
30
+ 'NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection class ' +
31
+ 'UIInterfaceOrientation MPMoviePlayerController dispatch_once_t ' +
32
+ 'dispatch_queue_t dispatch_sync dispatch_async dispatch_once'
36
33
  };
37
34
  return {
38
35
  defaultMode: {
@@ -74,21 +71,20 @@ hljs.LANGUAGES.objectivec = function(){
74
71
  },
75
72
  {
76
73
  className: 'class',
77
- begin: 'interface|class|protocol|implementation',
74
+ beginWithKeyword: true,
78
75
  end: '({|$)',
79
- keywords: {
80
- 'interface': 1,
81
- 'class': 1,
82
- 'protocol': 5,
83
- 'implementation': 5
84
- },
76
+ keywords: 'interface class protocol implementation',
85
77
  contains: [{
86
78
  className: 'id',
87
79
  begin: hljs.UNDERSCORE_IDENT_RE
88
80
  }
89
81
  ]
82
+ },
83
+ {
84
+ className: 'variable',
85
+ begin: '\\.'+hljs.UNDERSCORE_IDENT_RE
90
86
  }
91
87
  ]
92
88
  }
93
89
  };
94
- }();
90
+ }(hljs);
@@ -4,15 +4,10 @@ Requires: xml.js
4
4
  Author: Oleg Volchkov <oleg@volchkov.net>
5
5
  */
6
6
 
7
- hljs.LANGUAGES.parser3 = function() {
8
- var COMMENTED_BLOCK = {
9
- begin: '{', end: '}'
10
- };
11
- COMMENTED_BLOCK.contains = [COMMENTED_BLOCK];
12
-
7
+ hljs.LANGUAGES['parser3'] = function(hljs) {
13
8
  return {
14
9
  defaultMode: {
15
- subLanguage: 'html',
10
+ subLanguage: 'xml',
16
11
  contains: [
17
12
  {
18
13
  className: 'comment',
@@ -20,9 +15,14 @@ hljs.LANGUAGES.parser3 = function() {
20
15
  },
21
16
  {
22
17
  className: 'comment',
23
- contains: [COMMENTED_BLOCK],
24
18
  begin: '\\^rem{', end: '}',
25
- relevance: 10
19
+ relevance: 10,
20
+ contains: [
21
+ {
22
+ begin: '{', end: '}',
23
+ contains: ['self']
24
+ }
25
+ ]
26
26
  },
27
27
  {
28
28
  className: 'preprocessor',
@@ -49,4 +49,4 @@ hljs.LANGUAGES.parser3 = function() {
49
49
  ]
50
50
  }
51
51
  };
52
- }();
52
+ }(hljs);
@@ -3,11 +3,29 @@ Language: Perl
3
3
  Author: Peter Leonov <gojpeg@yandex.ru>
4
4
  */
5
5
 
6
- hljs.LANGUAGES.perl = function(){
7
- 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};
6
+ hljs.LANGUAGES['perl'] = function(hljs) {
7
+ var PERL_KEYWORDS = 'getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ' +
8
+ 'ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime ' +
9
+ 'readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq' +
10
+ 'fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent ' +
11
+ 'shutdown dump chomp connect getsockname die socketpair close flock exists index shmget' +
12
+ 'sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr ' +
13
+ 'unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 ' +
14
+ 'getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline ' +
15
+ 'endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand ' +
16
+ 'mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink ' +
17
+ 'getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr ' +
18
+ 'untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link ' +
19
+ 'getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller ' +
20
+ 'lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and ' +
21
+ 'sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 ' +
22
+ 'chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach ' +
23
+ 'tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir' +
24
+ 'ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe ' +
25
+ 'atan2 getgrent exp time push setgrent gt lt or ne m|0';
8
26
  var SUBST = {
9
27
  className: 'subst',
10
- begin: '[$@]\\{', end: '\}',
28
+ begin: '[$@]\\{', end: '\\}',
11
29
  keywords: PERL_KEYWORDS,
12
30
  relevance: 10
13
31
  };
@@ -27,13 +45,18 @@ hljs.LANGUAGES.perl = function(){
27
45
  {begin: '{', end: '}'}
28
46
  ]
29
47
  };
48
+ var COMMENT = {
49
+ className: 'comment',
50
+ begin: '^(__END__|__DATA__)', end: '\\n$',
51
+ relevance: 5
52
+ }
30
53
  var PERL_DEFAULT_CONTAINS = [
31
54
  VAR1, VAR2,
32
55
  hljs.HASH_COMMENT_MODE,
56
+ COMMENT,
33
57
  {
34
58
  className: 'comment',
35
- begin: '^(__END__|__DATA__)', end: '\\n$',
36
- relevance: 5
59
+ begin: '^\\=\\w', end: '\\=cut', endsWithParent: true
37
60
  },
38
61
  METHOD,
39
62
  {
@@ -104,31 +127,36 @@ hljs.LANGUAGES.perl = function(){
104
127
  begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b',
105
128
  relevance: 0
106
129
  },
107
- {
108
- className: 'regexp',
109
- begin: '(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*',
110
- relevance: 10
111
- },
112
- {
113
- className: 'regexp',
114
- begin: '(m|qr)?/', end: '/[a-z]*',
115
- contains: [hljs.BACKSLASH_ESCAPE],
116
- relevance: 0 // allows empty "//" which is a common comment delimiter in other languages
130
+ { // regexp container
131
+ begin: '(' + hljs.RE_STARTERS_RE + '|\\b(split|return|print|reverse|grep)\\b)\\s*',
132
+ keywords: 'split return print reverse grep',
133
+ relevance: 0,
134
+ contains: [
135
+ hljs.HASH_COMMENT_MODE,
136
+ COMMENT,
137
+ {
138
+ className: 'regexp',
139
+ begin: '(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*',
140
+ relevance: 10
141
+ },
142
+ {
143
+ className: 'regexp',
144
+ begin: '(m|qr)?/', end: '/[a-z]*',
145
+ contains: [hljs.BACKSLASH_ESCAPE],
146
+ relevance: 0 // allows empty "//" which is a common comment delimiter in other languages
147
+ }
148
+ ]
117
149
  },
118
150
  {
119
151
  className: 'sub',
120
- begin: '\\bsub\\b', end: '(\\s*\\(.*?\\))?[;{]',
121
- keywords: {'sub':1},
152
+ beginWithKeyword: true, end: '(\\s*\\(.*?\\))?[;{]',
153
+ keywords: 'sub',
122
154
  relevance: 5
123
155
  },
124
156
  {
125
157
  className: 'operator',
126
158
  begin: '-\\w\\b',
127
159
  relevance: 0
128
- },
129
- {
130
- className: 'pod',
131
- begin: '\\=\\w', end: '\\=cut'
132
160
  }
133
161
  ];
134
162
  SUBST.contains = PERL_DEFAULT_CONTAINS;
@@ -140,4 +168,4 @@ hljs.LANGUAGES.perl = function(){
140
168
  contains: PERL_DEFAULT_CONTAINS
141
169
  }
142
170
  };
143
- }();
171
+ }(hljs);
@@ -1,55 +1,112 @@
1
1
  /*
2
2
  Language: PHP
3
3
  Author: Victor Karamzin <Victor.Karamzin@enterra-inc.com>
4
+ Contributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>
4
5
  */
5
6
 
6
- hljs.LANGUAGES.php = {
7
- case_insensitive: true,
8
- defaultMode: {
9
- keywords: {
10
- 'and': 1, 'include_once': 1, 'list': 1, 'abstract': 1, 'global': 1,
11
- 'private': 1, 'echo': 1, 'interface': 1, 'as': 1, 'static': 1,
12
- 'endswitch': 1, 'array': 1, 'null': 1, 'if': 1, 'endwhile': 1, 'or': 1,
13
- 'const': 1, 'for': 1, 'endforeach': 1, 'self': 1, 'var': 1, 'while': 1,
14
- 'isset': 1, 'public': 1, 'protected': 1, 'exit': 1, 'foreach': 1,
15
- 'throw': 1, 'elseif': 1, 'extends': 1, 'include': 1, '__FILE__': 1,
16
- 'empty': 1, 'require_once': 1, 'function': 1, 'do': 1, 'xor': 1,
17
- 'return': 1, 'implements': 1, 'parent': 1, 'clone': 1, 'use': 1,
18
- '__CLASS__': 1, '__LINE__': 1, 'else': 1, 'break': 1, 'print': 1,
19
- 'eval': 1, 'new': 1, 'catch': 1, '__METHOD__': 1, 'class': 1, 'case': 1,
20
- 'exception': 1, 'php_user_filter': 1, 'default': 1, 'die': 1,
21
- 'require': 1, '__FUNCTION__': 1, 'enddeclare': 1, 'final': 1, 'try': 1,
22
- 'this': 1, 'switch': 1, 'continue': 1, 'endfor': 1, 'endif': 1,
23
- 'declare': 1, 'unset': 1, 'true': 1, 'false': 1, 'namespace': 1
7
+ hljs.LANGUAGES['php'] = function(hljs) {
8
+ var VARIABLE = {
9
+ className: 'variable', begin: '\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
10
+ };
11
+ var STRINGS = [
12
+ hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),
13
+ hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}),
14
+ {
15
+ className: 'string',
16
+ begin: 'b"', end: '"',
17
+ contains: [hljs.BACKSLASH_ESCAPE]
24
18
  },
25
- contains: [
26
- hljs.C_LINE_COMMENT_MODE,
27
- hljs.HASH_COMMENT_MODE,
28
- {
29
- className: 'comment',
30
- begin: '/\\*', end: '\\*/',
31
- contains: [{
32
- className: 'phpdoc',
33
- begin: '\\s@[A-Za-z]+',
34
- relevance: 10
35
- }]
36
- },
37
- hljs.C_NUMBER_MODE,
38
- hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),
39
- hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}),
40
- {
41
- className: 'variable',
42
- begin: '\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
43
- },
44
- {
45
- className: 'preprocessor',
46
- begin: '<\\?php',
47
- relevance: 10
48
- },
49
- {
50
- className: 'preprocessor',
51
- begin: '\\?>'
52
- }
53
- ]
54
- }
55
- };
19
+ {
20
+ className: 'string',
21
+ begin: 'b\'', end: '\'',
22
+ contains: [hljs.BACKSLASH_ESCAPE]
23
+ }
24
+ ];
25
+ var NUMBERS = [
26
+ hljs.C_NUMBER_MODE, // 0x..., 0..., decimal, float
27
+ hljs.BINARY_NUMBER_MODE // 0b...
28
+ ];
29
+ var TITLE = {
30
+ className: 'title', begin: hljs.UNDERSCORE_IDENT_RE
31
+ };
32
+ return {
33
+ case_insensitive: true,
34
+ defaultMode: {
35
+ keywords:
36
+ 'and include_once list abstract global private echo interface as static endswitch ' +
37
+ 'array null if endwhile or const for endforeach self var while isset public ' +
38
+ 'protected exit foreach throw elseif include __FILE__ empty require_once do xor ' +
39
+ 'return implements parent clone use __CLASS__ __LINE__ else break print eval new ' +
40
+ 'catch __METHOD__ case exception php_user_filter default die require __FUNCTION__ ' +
41
+ 'enddeclare final try this switch continue endfor endif declare unset true false ' +
42
+ 'namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ __halt_compiler',
43
+ contains: [
44
+ hljs.C_LINE_COMMENT_MODE,
45
+ hljs.HASH_COMMENT_MODE,
46
+ {
47
+ className: 'comment',
48
+ begin: '/\\*', end: '\\*/',
49
+ contains: [{
50
+ className: 'phpdoc',
51
+ begin: '\\s@[A-Za-z]+'
52
+ }]
53
+ },
54
+ {
55
+ className: 'comment',
56
+ excludeBegin: true,
57
+ begin: '__halt_compiler.+?;', endsWithParent: true
58
+ },
59
+ {
60
+ className: 'string',
61
+ begin: '<<<[\'"]?\\w+[\'"]?$', end: '^\\w+;',
62
+ contains: [hljs.BACKSLASH_ESCAPE]
63
+ },
64
+ {
65
+ className: 'preprocessor',
66
+ begin: '<\\?php',
67
+ relevance: 10
68
+ },
69
+ {
70
+ className: 'preprocessor',
71
+ begin: '\\?>'
72
+ },
73
+ VARIABLE,
74
+ {
75
+ className: 'function',
76
+ beginWithKeyword: true, end: '{',
77
+ keywords: 'function',
78
+ illegal: '\\$|\\[|%',
79
+ contains: [
80
+ TITLE,
81
+ {
82
+ className: 'params',
83
+ begin: '\\(', end: '\\)',
84
+ contains: [
85
+ 'self',
86
+ VARIABLE,
87
+ hljs.C_BLOCK_COMMENT_MODE
88
+ ].concat(STRINGS).concat(NUMBERS)
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ className: 'class',
94
+ beginWithKeyword: true, end: '{',
95
+ keywords: 'class',
96
+ illegal: '[:\\(\\$]',
97
+ contains: [
98
+ {
99
+ beginWithKeyword: true, endsWithParent: true,
100
+ keywords: 'extends',
101
+ contains: [TITLE]
102
+ },
103
+ TITLE
104
+ ]
105
+ },
106
+ {
107
+ begin: '=>' // No markup, just a relevance booster
108
+ }
109
+ ].concat(STRINGS).concat(NUMBERS)
110
+ }
111
+ };
112
+ }(hljs);
@@ -4,46 +4,48 @@ Description: Python profiler results
4
4
  Author: Brian Beck <exogen@gmail.com>
5
5
  */
6
6
 
7
- hljs.LANGUAGES.profile = {
8
- defaultMode: {
9
- contains: [
10
- hljs.C_NUMBER_MODE,
11
- {
12
- className: 'builtin',
13
- begin: '{', end: '}$',
14
- excludeBegin: true, excludeEnd: true,
15
- contains: [hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE],
16
- relevance: 0
17
- },
18
- {
19
- className: 'filename',
20
- begin: '(/\w|[a-zA-Z_][\da-zA-Z_]+\\.[\da-zA-Z_]{1,3})', end: ':',
21
- excludeEnd: true
22
- },
23
- {
24
- className: 'header',
25
- begin: '(ncalls|tottime|cumtime)', end: '$',
26
- keywords: {'ncalls': 1, 'tottime': 10, 'cumtime': 10, 'filename': 1},
27
- relevance: 10
28
- },
29
- {
30
- className: 'summary',
31
- begin: 'function calls', end: '$',
32
- contains: [hljs.C_NUMBER_MODE],
33
- relevance: 10
34
- },
35
- hljs.APOS_STRING_MODE,
36
- hljs.QUOTE_STRING_MODE,
37
- {
38
- className: 'function',
39
- begin: '\\(', end: '\\)$',
40
- contains: [{
41
- className: 'title',
42
- begin: hljs.UNDERSCORE_IDENT_RE,
7
+ hljs.LANGUAGES['profile'] = function(hljs) {
8
+ return {
9
+ defaultMode: {
10
+ contains: [
11
+ hljs.C_NUMBER_MODE,
12
+ {
13
+ className: 'builtin',
14
+ begin: '{', end: '}$',
15
+ excludeBegin: true, excludeEnd: true,
16
+ contains: [hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE],
43
17
  relevance: 0
44
- }],
45
- relevance: 0
46
- }
47
- ]
48
- }
49
- };
18
+ },
19
+ {
20
+ className: 'filename',
21
+ begin: '[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}', end: ':',
22
+ excludeEnd: true
23
+ },
24
+ {
25
+ className: 'header',
26
+ begin: '(ncalls|tottime|cumtime)', end: '$',
27
+ keywords: 'ncalls tottime|10 cumtime|10 filename',
28
+ relevance: 10
29
+ },
30
+ {
31
+ className: 'summary',
32
+ begin: 'function calls', end: '$',
33
+ contains: [hljs.C_NUMBER_MODE],
34
+ relevance: 10
35
+ },
36
+ hljs.APOS_STRING_MODE,
37
+ hljs.QUOTE_STRING_MODE,
38
+ {
39
+ className: 'function',
40
+ begin: '\\(', end: '\\)$',
41
+ contains: [{
42
+ className: 'title',
43
+ begin: hljs.UNDERSCORE_IDENT_RE,
44
+ relevance: 0
45
+ }],
46
+ relevance: 0
47
+ }
48
+ ]
49
+ }
50
+ };
51
+ }(hljs);