prism-rails 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/prism-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/prism-abap.js +48 -0
  4. data/vendor/assets/javascripts/prism-actionscript.js +17 -0
  5. data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
  6. data/vendor/assets/javascripts/prism-apl.js +29 -0
  7. data/vendor/assets/javascripts/prism-applescript.js +20 -0
  8. data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
  9. data/vendor/assets/javascripts/prism-aspnet.js +36 -0
  10. data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
  11. data/vendor/assets/javascripts/prism-autoit.js +33 -0
  12. data/vendor/assets/javascripts/prism-bash.js +80 -0
  13. data/vendor/assets/javascripts/prism-basic.js +14 -0
  14. data/vendor/assets/javascripts/prism-batch.js +99 -0
  15. data/vendor/assets/javascripts/prism-bison.js +39 -0
  16. data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
  17. data/vendor/assets/javascripts/prism-bro.js +50 -0
  18. data/vendor/assets/javascripts/prism-c.js +33 -0
  19. data/vendor/assets/javascripts/prism-clike.js +29 -0
  20. data/vendor/assets/javascripts/prism-coffeescript.js +91 -0
  21. data/vendor/assets/javascripts/prism-cpp.js +12 -0
  22. data/vendor/assets/javascripts/prism-crystal.js +53 -0
  23. data/vendor/assets/javascripts/prism-csharp.js +32 -0
  24. data/vendor/assets/javascripts/prism-css-extras.js +15 -0
  25. data/vendor/assets/javascripts/prism-css.js +48 -0
  26. data/vendor/assets/javascripts/prism-d.js +64 -0
  27. data/vendor/assets/javascripts/prism-dart.js +18 -0
  28. data/vendor/assets/javascripts/prism-diff.js +20 -0
  29. data/vendor/assets/javascripts/prism-docker.js +9 -0
  30. data/vendor/assets/javascripts/prism-eiffel.js +24 -0
  31. data/vendor/assets/javascripts/prism-elixir.js +90 -0
  32. data/vendor/assets/javascripts/prism-erlang.js +41 -0
  33. data/vendor/assets/javascripts/prism-fortran.js +37 -0
  34. data/vendor/assets/javascripts/prism-fsharp.js +33 -0
  35. data/vendor/assets/javascripts/prism-gherkin.js +78 -0
  36. data/vendor/assets/javascripts/prism-git.js +68 -0
  37. data/vendor/assets/javascripts/prism-glsl.js +16 -0
  38. data/vendor/assets/javascripts/prism-go.js +9 -0
  39. data/vendor/assets/javascripts/prism-groovy.js +65 -0
  40. data/vendor/assets/javascripts/prism-haml.js +154 -0
  41. data/vendor/assets/javascripts/prism-handlebars.js +83 -0
  42. data/vendor/assets/javascripts/prism-haskell.js +35 -0
  43. data/vendor/assets/javascripts/prism-haxe.js +43 -0
  44. data/vendor/assets/javascripts/prism-http.js +50 -0
  45. data/vendor/assets/javascripts/prism-icon.js +17 -0
  46. data/vendor/assets/javascripts/prism-inform7.js +58 -0
  47. data/vendor/assets/javascripts/prism-ini.js +11 -0
  48. data/vendor/assets/javascripts/prism-j.js +22 -0
  49. data/vendor/assets/javascripts/prism-jade.js +198 -0
  50. data/vendor/assets/javascripts/prism-java.js +16 -0
  51. data/vendor/assets/javascripts/prism-javascript.js +47 -0
  52. data/vendor/assets/javascripts/prism-json.js +11 -0
  53. data/vendor/assets/javascripts/prism-jsx.js +27 -0
  54. data/vendor/assets/javascripts/prism-julia.js +12 -0
  55. data/vendor/assets/javascripts/prism-keyman.js +14 -0
  56. data/vendor/assets/javascripts/prism-kotlin.js +62 -0
  57. data/vendor/assets/javascripts/prism-latex.js +61 -0
  58. data/vendor/assets/javascripts/prism-less.js +60 -0
  59. data/vendor/assets/javascripts/prism-lolcode.js +54 -0
  60. data/vendor/assets/javascripts/prism-lua.js +20 -0
  61. data/vendor/assets/javascripts/prism-makefile.js +31 -0
  62. data/vendor/assets/javascripts/prism-markdown.js +120 -0
  63. data/vendor/assets/javascripts/prism-markup.js +46 -0
  64. data/vendor/assets/javascripts/prism-matlab.js +14 -0
  65. data/vendor/assets/javascripts/prism-mel.js +39 -0
  66. data/vendor/assets/javascripts/prism-mizar.js +12 -0
  67. data/vendor/assets/javascripts/prism-monkey.js +25 -0
  68. data/vendor/assets/javascripts/prism-nasm.js +24 -0
  69. data/vendor/assets/javascripts/prism-nginx.js +11 -0
  70. data/vendor/assets/javascripts/prism-nim.js +30 -0
  71. data/vendor/assets/javascripts/prism-nix.js +39 -0
  72. data/vendor/assets/javascripts/prism-normalize-whitespace.js +3 -1
  73. data/vendor/assets/javascripts/prism-nsis.js +19 -0
  74. data/vendor/assets/javascripts/prism-objectivec.js +5 -0
  75. data/vendor/assets/javascripts/prism-ocaml.js +21 -0
  76. data/vendor/assets/javascripts/prism-oz.js +21 -0
  77. data/vendor/assets/javascripts/prism-parigp.js +27 -0
  78. data/vendor/assets/javascripts/prism-parser.js +66 -0
  79. data/vendor/assets/javascripts/prism-pascal.js +50 -0
  80. data/vendor/assets/javascripts/prism-perl.js +140 -0
  81. data/vendor/assets/javascripts/prism-php-extras.js +11 -0
  82. data/vendor/assets/javascripts/prism-php.js +110 -0
  83. data/vendor/assets/javascripts/prism-powershell.js +52 -0
  84. data/vendor/assets/javascripts/prism-processing.js +18 -0
  85. data/vendor/assets/javascripts/prism-prolog.js +17 -0
  86. data/vendor/assets/javascripts/prism-protobuf.js +8 -0
  87. data/vendor/assets/javascripts/prism-puppet.js +131 -0
  88. data/vendor/assets/javascripts/prism-pure.js +77 -0
  89. data/vendor/assets/javascripts/prism-python.js +27 -0
  90. data/vendor/assets/javascripts/prism-q.js +44 -0
  91. data/vendor/assets/javascripts/prism-qore.js +17 -0
  92. data/vendor/assets/javascripts/prism-r.js +19 -0
  93. data/vendor/assets/javascripts/prism-rest.js +205 -0
  94. data/vendor/assets/javascripts/prism-rip.js +28 -0
  95. data/vendor/assets/javascripts/prism-roboconf.js +27 -0
  96. data/vendor/assets/javascripts/prism-ruby.js +110 -0
  97. data/vendor/assets/javascripts/prism-rust.js +53 -0
  98. data/vendor/assets/javascripts/prism-sas.js +31 -0
  99. data/vendor/assets/javascripts/prism-sass.js +73 -0
  100. data/vendor/assets/javascripts/prism-scala.js +18 -0
  101. data/vendor/assets/javascripts/prism-scheme.js +26 -0
  102. data/vendor/assets/javascripts/prism-scss.js +60 -0
  103. data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
  104. data/vendor/assets/javascripts/prism-smarty.js +127 -0
  105. data/vendor/assets/javascripts/prism-sql.js +17 -0
  106. data/vendor/assets/javascripts/prism-stylus.js +102 -0
  107. data/vendor/assets/javascripts/prism-swift.js +25 -0
  108. data/vendor/assets/javascripts/prism-tcl.js +43 -0
  109. data/vendor/assets/javascripts/prism-textile.js +254 -0
  110. data/vendor/assets/javascripts/prism-twig.js +46 -0
  111. data/vendor/assets/javascripts/prism-typescript.js +3 -0
  112. data/vendor/assets/javascripts/prism-verilog.js +17 -0
  113. data/vendor/assets/javascripts/prism-vhdl.js +23 -0
  114. data/vendor/assets/javascripts/prism-vim.js +10 -0
  115. data/vendor/assets/javascripts/prism-wiki.js +81 -0
  116. data/vendor/assets/javascripts/prism-yaml.js +44 -0
  117. data/vendor/assets/javascripts/prism.js +37 -308
  118. data/vendor/assets/stylesheets/prism-vs.css +139 -0
  119. metadata +120 -163
  120. data/vendor/assets/javascripts/prism-abap.min.js +0 -1
  121. data/vendor/assets/javascripts/prism-actionscript.min.js +0 -1
  122. data/vendor/assets/javascripts/prism-apacheconf.min.js +0 -1
  123. data/vendor/assets/javascripts/prism-apl.min.js +0 -1
  124. data/vendor/assets/javascripts/prism-applescript.min.js +0 -1
  125. data/vendor/assets/javascripts/prism-asciidoc.min.js +0 -1
  126. data/vendor/assets/javascripts/prism-aspnet.min.js +0 -1
  127. data/vendor/assets/javascripts/prism-autohotkey.min.js +0 -1
  128. data/vendor/assets/javascripts/prism-autoit.min.js +0 -1
  129. data/vendor/assets/javascripts/prism-bash.min.js +0 -1
  130. data/vendor/assets/javascripts/prism-basic.min.js +0 -1
  131. data/vendor/assets/javascripts/prism-batch.min.js +0 -1
  132. data/vendor/assets/javascripts/prism-bison.min.js +0 -1
  133. data/vendor/assets/javascripts/prism-brainfuck.min.js +0 -1
  134. data/vendor/assets/javascripts/prism-bro.min.js +0 -1
  135. data/vendor/assets/javascripts/prism-c.min.js +0 -1
  136. data/vendor/assets/javascripts/prism-clike.min.js +0 -1
  137. data/vendor/assets/javascripts/prism-coffeescript.min.js +0 -1
  138. data/vendor/assets/javascripts/prism-core.min.js +0 -1
  139. data/vendor/assets/javascripts/prism-cpp.min.js +0 -1
  140. data/vendor/assets/javascripts/prism-crystal.min.js +0 -1
  141. data/vendor/assets/javascripts/prism-csharp.min.js +0 -1
  142. data/vendor/assets/javascripts/prism-css-extras.min.js +0 -1
  143. data/vendor/assets/javascripts/prism-css.min.js +0 -1
  144. data/vendor/assets/javascripts/prism-d.min.js +0 -1
  145. data/vendor/assets/javascripts/prism-dart.min.js +0 -1
  146. data/vendor/assets/javascripts/prism-diff.min.js +0 -1
  147. data/vendor/assets/javascripts/prism-docker.min.js +0 -1
  148. data/vendor/assets/javascripts/prism-eiffel.min.js +0 -1
  149. data/vendor/assets/javascripts/prism-elixir.min.js +0 -1
  150. data/vendor/assets/javascripts/prism-erlang.min.js +0 -1
  151. data/vendor/assets/javascripts/prism-fortran.min.js +0 -1
  152. data/vendor/assets/javascripts/prism-fsharp.min.js +0 -1
  153. data/vendor/assets/javascripts/prism-gherkin.min.js +0 -1
  154. data/vendor/assets/javascripts/prism-git.min.js +0 -1
  155. data/vendor/assets/javascripts/prism-glsl.min.js +0 -1
  156. data/vendor/assets/javascripts/prism-go.min.js +0 -1
  157. data/vendor/assets/javascripts/prism-groovy.min.js +0 -1
  158. data/vendor/assets/javascripts/prism-haml.min.js +0 -1
  159. data/vendor/assets/javascripts/prism-handlebars.min.js +0 -1
  160. data/vendor/assets/javascripts/prism-haskell.min.js +0 -1
  161. data/vendor/assets/javascripts/prism-haxe.min.js +0 -1
  162. data/vendor/assets/javascripts/prism-http.min.js +0 -1
  163. data/vendor/assets/javascripts/prism-icon.min.js +0 -1
  164. data/vendor/assets/javascripts/prism-inform7.min.js +0 -1
  165. data/vendor/assets/javascripts/prism-ini.min.js +0 -1
  166. data/vendor/assets/javascripts/prism-j.min.js +0 -1
  167. data/vendor/assets/javascripts/prism-jade.min.js +0 -1
  168. data/vendor/assets/javascripts/prism-java.min.js +0 -1
  169. data/vendor/assets/javascripts/prism-javascript.min.js +0 -1
  170. data/vendor/assets/javascripts/prism-json.min.js +0 -1
  171. data/vendor/assets/javascripts/prism-jsx.min.js +0 -1
  172. data/vendor/assets/javascripts/prism-julia.min.js +0 -1
  173. data/vendor/assets/javascripts/prism-keyman.min.js +0 -1
  174. data/vendor/assets/javascripts/prism-kotlin.min.js +0 -1
  175. data/vendor/assets/javascripts/prism-latex.min.js +0 -1
  176. data/vendor/assets/javascripts/prism-less.min.js +0 -1
  177. data/vendor/assets/javascripts/prism-lolcode.min.js +0 -1
  178. data/vendor/assets/javascripts/prism-lua.min.js +0 -1
  179. data/vendor/assets/javascripts/prism-makefile.min.js +0 -1
  180. data/vendor/assets/javascripts/prism-markdown.min.js +0 -1
  181. data/vendor/assets/javascripts/prism-markup.min.js +0 -1
  182. data/vendor/assets/javascripts/prism-matlab.min.js +0 -1
  183. data/vendor/assets/javascripts/prism-mel.min.js +0 -1
  184. data/vendor/assets/javascripts/prism-mizar.min.js +0 -1
  185. data/vendor/assets/javascripts/prism-monkey.min.js +0 -1
  186. data/vendor/assets/javascripts/prism-nasm.min.js +0 -1
  187. data/vendor/assets/javascripts/prism-nginx.min.js +0 -1
  188. data/vendor/assets/javascripts/prism-nim.min.js +0 -1
  189. data/vendor/assets/javascripts/prism-nix.min.js +0 -1
  190. data/vendor/assets/javascripts/prism-nsis.min.js +0 -1
  191. data/vendor/assets/javascripts/prism-objectivec.min.js +0 -1
  192. data/vendor/assets/javascripts/prism-ocaml.min.js +0 -1
  193. data/vendor/assets/javascripts/prism-oz.min.js +0 -1
  194. data/vendor/assets/javascripts/prism-parigp.min.js +0 -1
  195. data/vendor/assets/javascripts/prism-parser.min.js +0 -1
  196. data/vendor/assets/javascripts/prism-pascal.min.js +0 -1
  197. data/vendor/assets/javascripts/prism-perl.min.js +0 -1
  198. data/vendor/assets/javascripts/prism-php-extras.min.js +0 -1
  199. data/vendor/assets/javascripts/prism-php.min.js +0 -1
  200. data/vendor/assets/javascripts/prism-powershell.min.js +0 -1
  201. data/vendor/assets/javascripts/prism-processing.min.js +0 -1
  202. data/vendor/assets/javascripts/prism-prolog.min.js +0 -1
  203. data/vendor/assets/javascripts/prism-protobuf.min.js +0 -1
  204. data/vendor/assets/javascripts/prism-puppet.min.js +0 -1
  205. data/vendor/assets/javascripts/prism-pure.min.js +0 -1
  206. data/vendor/assets/javascripts/prism-python.min.js +0 -1
  207. data/vendor/assets/javascripts/prism-q.min.js +0 -1
  208. data/vendor/assets/javascripts/prism-qore.min.js +0 -1
  209. data/vendor/assets/javascripts/prism-r.min.js +0 -1
  210. data/vendor/assets/javascripts/prism-rest.min.js +0 -1
  211. data/vendor/assets/javascripts/prism-rip.min.js +0 -1
  212. data/vendor/assets/javascripts/prism-roboconf.min.js +0 -1
  213. data/vendor/assets/javascripts/prism-ruby.min.js +0 -1
  214. data/vendor/assets/javascripts/prism-rust.min.js +0 -1
  215. data/vendor/assets/javascripts/prism-sas.min.js +0 -1
  216. data/vendor/assets/javascripts/prism-sass.min.js +0 -1
  217. data/vendor/assets/javascripts/prism-scala.min.js +0 -1
  218. data/vendor/assets/javascripts/prism-scheme.min.js +0 -1
  219. data/vendor/assets/javascripts/prism-scss.min.js +0 -1
  220. data/vendor/assets/javascripts/prism-smalltalk.min.js +0 -1
  221. data/vendor/assets/javascripts/prism-smarty.min.js +0 -1
  222. data/vendor/assets/javascripts/prism-sql.min.js +0 -1
  223. data/vendor/assets/javascripts/prism-stylus.min.js +0 -1
  224. data/vendor/assets/javascripts/prism-swift.min.js +0 -1
  225. data/vendor/assets/javascripts/prism-tcl.min.js +0 -1
  226. data/vendor/assets/javascripts/prism-textile.min.js +0 -1
  227. data/vendor/assets/javascripts/prism-twig.min.js +0 -1
  228. data/vendor/assets/javascripts/prism-typescript.min.js +0 -1
  229. data/vendor/assets/javascripts/prism-verilog.min.js +0 -1
  230. data/vendor/assets/javascripts/prism-vhdl.min.js +0 -1
  231. data/vendor/assets/javascripts/prism-vim.min.js +0 -1
  232. data/vendor/assets/javascripts/prism-wiki.min.js +0 -1
  233. data/vendor/assets/javascripts/prism-yaml.min.js +0 -1
@@ -0,0 +1,91 @@
1
+ (function(Prism) {
2
+
3
+ // Ignore comments starting with { to privilege string interpolation highlighting
4
+ var comment = /#(?!\{).+/,
5
+ interpolation = {
6
+ pattern: /#\{[^}]+\}/,
7
+ alias: 'variable'
8
+ };
9
+
10
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
11
+ 'comment': comment,
12
+ 'string': [
13
+
14
+ // Strings are multiline
15
+ {
16
+ pattern: /'(?:\\?[^\\])*?'/,
17
+ greedy: true,
18
+ },
19
+
20
+ {
21
+ // Strings are multiline
22
+ pattern: /"(?:\\?[^\\])*?"/,
23
+ greedy: true,
24
+ inside: {
25
+ 'interpolation': interpolation
26
+ }
27
+ }
28
+ ],
29
+ 'keyword': /\b(and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,
30
+ 'class-member': {
31
+ pattern: /@(?!\d)\w+/,
32
+ alias: 'variable'
33
+ }
34
+ });
35
+
36
+ Prism.languages.insertBefore('coffeescript', 'comment', {
37
+ 'multiline-comment': {
38
+ pattern: /###[\s\S]+?###/,
39
+ alias: 'comment'
40
+ },
41
+
42
+ // Block regexp can contain comments and interpolation
43
+ 'block-regex': {
44
+ pattern: /\/{3}[\s\S]*?\/{3}/,
45
+ alias: 'regex',
46
+ inside: {
47
+ 'comment': comment,
48
+ 'interpolation': interpolation
49
+ }
50
+ }
51
+ });
52
+
53
+ Prism.languages.insertBefore('coffeescript', 'string', {
54
+ 'inline-javascript': {
55
+ pattern: /`(?:\\?[\s\S])*?`/,
56
+ inside: {
57
+ 'delimiter': {
58
+ pattern: /^`|`$/,
59
+ alias: 'punctuation'
60
+ },
61
+ rest: Prism.languages.javascript
62
+ }
63
+ },
64
+
65
+ // Block strings
66
+ 'multiline-string': [
67
+ {
68
+ pattern: /'''[\s\S]*?'''/,
69
+ greedy: true,
70
+ alias: 'string'
71
+ },
72
+ {
73
+ pattern: /"""[\s\S]*?"""/,
74
+ greedy: true,
75
+ alias: 'string',
76
+ inside: {
77
+ interpolation: interpolation
78
+ }
79
+ }
80
+ ]
81
+
82
+ });
83
+
84
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
85
+ // Object property
86
+ 'property': /(?!\d)\w+(?=\s*:(?!:))/
87
+ });
88
+
89
+ delete Prism.languages.coffeescript['template-string'];
90
+
91
+ }(Prism));
@@ -0,0 +1,12 @@
1
+ Prism.languages.cpp = Prism.languages.extend('c', {
2
+ 'keyword': /\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,
3
+ 'boolean': /\b(true|false)\b/,
4
+ 'operator': /[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/
5
+ });
6
+
7
+ Prism.languages.insertBefore('cpp', 'keyword', {
8
+ 'class-name': {
9
+ pattern: /(class\s+)[a-z0-9_]+/i,
10
+ lookbehind: true
11
+ }
12
+ });
@@ -0,0 +1,53 @@
1
+ (function(Prism) {
2
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
3
+ keyword: [
4
+ /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|self|sizeof|struct|super|then|type|typeof|union|unless|until|when|while|with|yield|__DIR__|__FILE__|__LINE__)\b/,
5
+ {
6
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
7
+ lookbehind: true
8
+ }
9
+ ],
10
+
11
+ number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[0-9a-fA-F_]*[0-9a-fA-F]|(?:[0-9](?:[0-9_]*[0-9])?)(?:\.[0-9_]*[0-9])?(?:[eE][+-]?[0-9_]*[0-9])?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,
12
+ });
13
+
14
+ var rest = Prism.util.clone(Prism.languages.crystal);
15
+
16
+ Prism.languages.insertBefore('crystal', 'string', {
17
+ attribute: {
18
+ pattern: /@\[.+?\]/,
19
+ alias: 'attr-name',
20
+ inside: {
21
+ delimiter: {
22
+ pattern: /^@\[|\]$/,
23
+ alias: 'tag'
24
+ },
25
+ rest: rest
26
+ }
27
+ },
28
+
29
+ expansion: [
30
+ {
31
+ pattern: /\{\{.+?\}\}/,
32
+ inside: {
33
+ delimiter: {
34
+ pattern: /^\{\{|\}\}$/,
35
+ alias: 'tag'
36
+ },
37
+ rest: rest
38
+ }
39
+ },
40
+ {
41
+ pattern: /\{%.+?%\}/,
42
+ inside: {
43
+ delimiter: {
44
+ pattern: /^\{%|%\}$/,
45
+ alias: 'tag'
46
+ },
47
+ rest: rest
48
+ }
49
+ }
50
+ ]
51
+ });
52
+
53
+ }(Prism));
@@ -0,0 +1,32 @@
1
+ Prism.languages.csharp = Prism.languages.extend('clike', {
2
+ 'keyword': /\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,
3
+ 'string': [
4
+ /@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,
5
+ /("|')(\\?.)*?\1/
6
+ ],
7
+ 'number': /\b-?(0x[\da-f]+|\d*\.?\d+f?)\b/i
8
+ });
9
+
10
+ Prism.languages.insertBefore('csharp', 'keyword', {
11
+ 'generic-method': {
12
+ pattern: /[a-z0-9_]+\s*<[^>\r\n]+?>\s*(?=\()/i,
13
+ alias: 'function',
14
+ inside: {
15
+ keyword: Prism.languages.csharp.keyword,
16
+ punctuation: /[<>(),.:]/
17
+ }
18
+ },
19
+ 'preprocessor': {
20
+ pattern: /(^\s*)#.*/m,
21
+ lookbehind: true,
22
+ alias: 'property',
23
+ inside: {
24
+ // highlight preprocessor directives as keywords
25
+ 'directive': {
26
+ pattern: /(\s*#)\b(define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,
27
+ lookbehind: true,
28
+ alias: 'keyword'
29
+ }
30
+ }
31
+ }
32
+ });
@@ -0,0 +1,15 @@
1
+ Prism.languages.css.selector = {
2
+ pattern: /[^\{\}\s][^\{\}]*(?=\s*\{)/,
3
+ inside: {
4
+ 'pseudo-element': /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
5
+ 'pseudo-class': /:[-\w]+(?:\(.*\))?/,
6
+ 'class': /\.[-:\.\w]+/,
7
+ 'id': /#[-:\.\w]+/
8
+ }
9
+ };
10
+
11
+ Prism.languages.insertBefore('css', 'function', {
12
+ 'hexcode': /#[\da-f]{3,6}/i,
13
+ 'entity': /\\[\da-f]{1,8}/i,
14
+ 'number': /[\d%\.]+/
15
+ });
@@ -0,0 +1,48 @@
1
+ Prism.languages.css = {
2
+ 'comment': /\/\*[\w\W]*?\*\//,
3
+ 'atrule': {
4
+ pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
5
+ inside: {
6
+ 'rule': /@[\w-]+/
7
+ // See rest below
8
+ }
9
+ },
10
+ 'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
11
+ 'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
12
+ 'string': /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
13
+ 'property': /(\b|\B)[\w-]+(?=\s*:)/i,
14
+ 'important': /\B!important\b/i,
15
+ 'function': /[-a-z0-9]+(?=\()/i,
16
+ 'punctuation': /[(){};:]/
17
+ };
18
+
19
+ Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
20
+
21
+ if (Prism.languages.markup) {
22
+ Prism.languages.insertBefore('markup', 'tag', {
23
+ 'style': {
24
+ pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
25
+ lookbehind: true,
26
+ inside: Prism.languages.css,
27
+ alias: 'language-css'
28
+ }
29
+ });
30
+
31
+ Prism.languages.insertBefore('inside', 'attr-value', {
32
+ 'style-attr': {
33
+ pattern: /\s*style=("|').*?\1/i,
34
+ inside: {
35
+ 'attr-name': {
36
+ pattern: /^\s*style/i,
37
+ inside: Prism.languages.markup.tag.inside
38
+ },
39
+ 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
40
+ 'attr-value': {
41
+ pattern: /.+/i,
42
+ inside: Prism.languages.css
43
+ }
44
+ },
45
+ alias: 'language-css'
46
+ }
47
+ }, Prism.languages.markup.tag);
48
+ }
@@ -0,0 +1,64 @@
1
+ Prism.languages.d = Prism.languages.extend('clike', {
2
+ 'string': [
3
+ // r"", x""
4
+ /\b[rx]"(\\.|[^\\"])*"[cwd]?/,
5
+ // q"[]", q"()", q"<>", q"{}"
6
+ /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/,
7
+ // q"IDENT
8
+ // ...
9
+ // IDENT"
10
+ /\bq"([_a-zA-Z][_a-zA-Z\d]*)(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\1"/,
11
+ // q"//", q"||", etc.
12
+ /\bq"(.)[\s\S]*?\1"/,
13
+ // Characters
14
+ /'(?:\\'|\\?[^']+)'/,
15
+
16
+ /(["`])(\\.|(?!\1)[^\\])*\1[cwd]?/
17
+ ],
18
+
19
+ 'number': [
20
+ // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
21
+ // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
22
+ /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i,
23
+ {
24
+ pattern: /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]*/i,
25
+ lookbehind: true
26
+ }
27
+ ],
28
+
29
+ // In order: $, keywords and special tokens, globally defined symbols
30
+ 'keyword': /\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/,
31
+ 'operator': /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
32
+ });
33
+
34
+
35
+ Prism.languages.d.comment = [
36
+ // Shebang
37
+ /^\s*#!.+/,
38
+ // /+ +/
39
+ {
40
+ // Allow one level of nesting
41
+ pattern: /(^|[^\\])\/\+(?:\/\+[\w\W]*?\+\/|[\w\W])*?\+\//,
42
+ lookbehind: true
43
+ }
44
+ ].concat(Prism.languages.d.comment);
45
+
46
+ Prism.languages.insertBefore('d', 'comment', {
47
+ 'token-string': {
48
+ // Allow one level of nesting
49
+ pattern: /\bq\{(?:|\{[^}]*\}|[^}])*\}/,
50
+ alias: 'string'
51
+ }
52
+ });
53
+
54
+ Prism.languages.insertBefore('d', 'keyword', {
55
+ 'property': /\B@\w*/
56
+ });
57
+
58
+ Prism.languages.insertBefore('d', 'function', {
59
+ 'register': {
60
+ // Iasm registers
61
+ pattern: /\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,
62
+ alias: 'variable'
63
+ }
64
+ });
@@ -0,0 +1,18 @@
1
+ Prism.languages.dart = Prism.languages.extend('clike', {
2
+ 'string': [
3
+ /r?("""|''')[\s\S]*?\1/,
4
+ /r?("|')(\\?.)*?\1/
5
+ ],
6
+ 'keyword': [
7
+ /\b(?:async|sync|yield)\*/,
8
+ /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/
9
+ ],
10
+ 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
11
+ });
12
+
13
+ Prism.languages.insertBefore('dart','function',{
14
+ 'metadata': {
15
+ pattern: /@\w+/,
16
+ alias: 'symbol'
17
+ }
18
+ });
@@ -0,0 +1,20 @@
1
+ Prism.languages.diff = {
2
+ 'coord': [
3
+ // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
4
+ /^(?:\*{3}|-{3}|\+{3}).*$/m,
5
+ // Match "@@ ... @@" coord lines in unified diff.
6
+ /^@@.*@@$/m,
7
+ // Match coord lines in normal diff (starts with a number).
8
+ /^\d+.*$/m
9
+ ],
10
+
11
+ // Match inserted and deleted lines. Support both +/- and >/< styles.
12
+ 'deleted': /^[-<].*$/m,
13
+ 'inserted': /^[+>].*$/m,
14
+
15
+ // Match "different" lines (prefixed with "!") in context diff.
16
+ 'diff': {
17
+ 'pattern': /^!(?!!).+$/m,
18
+ 'alias': 'important'
19
+ }
20
+ };
@@ -0,0 +1,9 @@
1
+ Prism.languages.docker = {
2
+ 'keyword': {
3
+ pattern: /(^\s*)(?:ONBUILD|FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|COPY|VOLUME|USER|WORKDIR|CMD|LABEL|ENTRYPOINT)(?=\s)/mi,
4
+ lookbehind: true
5
+ },
6
+ 'string': /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/,
7
+ 'comment': /#.*/,
8
+ 'punctuation': /---|\.\.\.|[:[\]{}\-,|>?]/
9
+ };
@@ -0,0 +1,24 @@
1
+ Prism.languages.eiffel = {
2
+ 'string': [
3
+ // Aligned-verbatim-strings
4
+ /"([^[]*)\[[\s\S]+?\]\1"/,
5
+ // Non-aligned-verbatim-strings
6
+ /"([^{]*)\{[\s\S]+?\}\1"/,
7
+ // Single-line string
8
+ /"(?:%\s+%|%"|.)*?"/
9
+ ],
10
+ // (comments including quoted strings not supported)
11
+ 'comment': /--.*/,
12
+ // normal char | special char | char code
13
+ 'char': /'(?:%'|.)+?'/,
14
+ 'keyword': /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
15
+ 'boolean': /\b(?:True|False)\b/i,
16
+ 'number': [
17
+ // hexa | octal | bin
18
+ /\b0[xcb][\da-f](?:_*[\da-f])*\b/i,
19
+ // Decimal
20
+ /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/
21
+ ],
22
+ 'punctuation': /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,
23
+ 'operator': /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/
24
+ };
@@ -0,0 +1,90 @@
1
+ Prism.languages.elixir = {
2
+ // Negative look-ahead is needed for string interpolation
3
+ // Negative look-behind is needed to avoid highlighting markdown headers in
4
+ // multi-line doc strings
5
+ 'comment': {
6
+ pattern: /(^|[^#])#(?![{#]).*/m,
7
+ lookbehind: true
8
+ },
9
+ // ~r"""foo""", ~r'''foo''', ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
10
+ 'regex': /~[rR](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|[^}])+\}|<(?:\\>|[^>])+>)[uismxfr]*/,
11
+ 'string': [
12
+ {
13
+ // ~s"""foo""", ~s'''foo''', ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo}, ~s<foo>
14
+ pattern: /~[cCsSwW](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|#\{[^}]+\}|[^}])+\}|<(?:\\>|[^>])+>)[csa]?/,
15
+ inside: {
16
+ // See interpolation below
17
+ }
18
+ },
19
+ {
20
+ pattern: /("""|''')[\s\S]*?\1/,
21
+ inside: {
22
+ // See interpolation below
23
+ }
24
+ },
25
+ {
26
+ // Multi-line strings are allowed
27
+ pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
28
+ inside: {
29
+ // See interpolation below
30
+ }
31
+ }
32
+ ],
33
+ 'atom': {
34
+ // Look-behind prevents bad highlighting of the :: operator
35
+ pattern: /(^|[^:]):\w+/,
36
+ lookbehind: true,
37
+ alias: 'symbol'
38
+ },
39
+ // Look-ahead prevents bad highlighting of the :: operator
40
+ 'attr-name': /\w+:(?!:)/,
41
+ 'capture': {
42
+ // Look-behind prevents bad highlighting of the && operator
43
+ pattern: /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,
44
+ lookbehind: true,
45
+ alias: 'function'
46
+ },
47
+ 'argument': {
48
+ // Look-behind prevents bad highlighting of the && operator
49
+ pattern: /(^|[^&])&\d+/,
50
+ lookbehind: true,
51
+ alias: 'variable'
52
+ },
53
+ 'attribute': {
54
+ pattern: /@[\S]+/,
55
+ alias: 'variable'
56
+ },
57
+ 'number': /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,
58
+ 'keyword': /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,
59
+ 'boolean': /\b(?:true|false|nil)\b/,
60
+ 'operator': [
61
+ /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,
62
+ {
63
+ // We don't want to match <<
64
+ pattern: /([^<])<(?!<)/,
65
+ lookbehind: true
66
+ },
67
+ {
68
+ // We don't want to match >>
69
+ pattern: /([^>])>(?!>)/,
70
+ lookbehind: true
71
+ }
72
+ ],
73
+ 'punctuation': /<<|>>|[.,%\[\]{}()]/
74
+ };
75
+
76
+ Prism.languages.elixir.string.forEach(function(o) {
77
+ o.inside = {
78
+ 'interpolation': {
79
+ pattern: /#\{[^}]+\}/,
80
+ inside: {
81
+ 'delimiter': {
82
+ pattern: /^#\{|\}$/,
83
+ alias: 'punctuation'
84
+ },
85
+ rest: Prism.util.clone(Prism.languages.elixir)
86
+ }
87
+ }
88
+ };
89
+ });
90
+