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.
- checksums.yaml +4 -4
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/prism-abap.js +48 -0
- data/vendor/assets/javascripts/prism-actionscript.js +17 -0
- data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
- data/vendor/assets/javascripts/prism-apl.js +29 -0
- data/vendor/assets/javascripts/prism-applescript.js +20 -0
- data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
- data/vendor/assets/javascripts/prism-aspnet.js +36 -0
- data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
- data/vendor/assets/javascripts/prism-autoit.js +33 -0
- data/vendor/assets/javascripts/prism-bash.js +80 -0
- data/vendor/assets/javascripts/prism-basic.js +14 -0
- data/vendor/assets/javascripts/prism-batch.js +99 -0
- data/vendor/assets/javascripts/prism-bison.js +39 -0
- data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
- data/vendor/assets/javascripts/prism-bro.js +50 -0
- data/vendor/assets/javascripts/prism-c.js +33 -0
- data/vendor/assets/javascripts/prism-clike.js +29 -0
- data/vendor/assets/javascripts/prism-coffeescript.js +91 -0
- data/vendor/assets/javascripts/prism-cpp.js +12 -0
- data/vendor/assets/javascripts/prism-crystal.js +53 -0
- data/vendor/assets/javascripts/prism-csharp.js +32 -0
- data/vendor/assets/javascripts/prism-css-extras.js +15 -0
- data/vendor/assets/javascripts/prism-css.js +48 -0
- data/vendor/assets/javascripts/prism-d.js +64 -0
- data/vendor/assets/javascripts/prism-dart.js +18 -0
- data/vendor/assets/javascripts/prism-diff.js +20 -0
- data/vendor/assets/javascripts/prism-docker.js +9 -0
- data/vendor/assets/javascripts/prism-eiffel.js +24 -0
- data/vendor/assets/javascripts/prism-elixir.js +90 -0
- data/vendor/assets/javascripts/prism-erlang.js +41 -0
- data/vendor/assets/javascripts/prism-fortran.js +37 -0
- data/vendor/assets/javascripts/prism-fsharp.js +33 -0
- data/vendor/assets/javascripts/prism-gherkin.js +78 -0
- data/vendor/assets/javascripts/prism-git.js +68 -0
- data/vendor/assets/javascripts/prism-glsl.js +16 -0
- data/vendor/assets/javascripts/prism-go.js +9 -0
- data/vendor/assets/javascripts/prism-groovy.js +65 -0
- data/vendor/assets/javascripts/prism-haml.js +154 -0
- data/vendor/assets/javascripts/prism-handlebars.js +83 -0
- data/vendor/assets/javascripts/prism-haskell.js +35 -0
- data/vendor/assets/javascripts/prism-haxe.js +43 -0
- data/vendor/assets/javascripts/prism-http.js +50 -0
- data/vendor/assets/javascripts/prism-icon.js +17 -0
- data/vendor/assets/javascripts/prism-inform7.js +58 -0
- data/vendor/assets/javascripts/prism-ini.js +11 -0
- data/vendor/assets/javascripts/prism-j.js +22 -0
- data/vendor/assets/javascripts/prism-jade.js +198 -0
- data/vendor/assets/javascripts/prism-java.js +16 -0
- data/vendor/assets/javascripts/prism-javascript.js +47 -0
- data/vendor/assets/javascripts/prism-json.js +11 -0
- data/vendor/assets/javascripts/prism-jsx.js +27 -0
- data/vendor/assets/javascripts/prism-julia.js +12 -0
- data/vendor/assets/javascripts/prism-keyman.js +14 -0
- data/vendor/assets/javascripts/prism-kotlin.js +62 -0
- data/vendor/assets/javascripts/prism-latex.js +61 -0
- data/vendor/assets/javascripts/prism-less.js +60 -0
- data/vendor/assets/javascripts/prism-lolcode.js +54 -0
- data/vendor/assets/javascripts/prism-lua.js +20 -0
- data/vendor/assets/javascripts/prism-makefile.js +31 -0
- data/vendor/assets/javascripts/prism-markdown.js +120 -0
- data/vendor/assets/javascripts/prism-markup.js +46 -0
- data/vendor/assets/javascripts/prism-matlab.js +14 -0
- data/vendor/assets/javascripts/prism-mel.js +39 -0
- data/vendor/assets/javascripts/prism-mizar.js +12 -0
- data/vendor/assets/javascripts/prism-monkey.js +25 -0
- data/vendor/assets/javascripts/prism-nasm.js +24 -0
- data/vendor/assets/javascripts/prism-nginx.js +11 -0
- data/vendor/assets/javascripts/prism-nim.js +30 -0
- data/vendor/assets/javascripts/prism-nix.js +39 -0
- data/vendor/assets/javascripts/prism-normalize-whitespace.js +3 -1
- data/vendor/assets/javascripts/prism-nsis.js +19 -0
- data/vendor/assets/javascripts/prism-objectivec.js +5 -0
- data/vendor/assets/javascripts/prism-ocaml.js +21 -0
- data/vendor/assets/javascripts/prism-oz.js +21 -0
- data/vendor/assets/javascripts/prism-parigp.js +27 -0
- data/vendor/assets/javascripts/prism-parser.js +66 -0
- data/vendor/assets/javascripts/prism-pascal.js +50 -0
- data/vendor/assets/javascripts/prism-perl.js +140 -0
- data/vendor/assets/javascripts/prism-php-extras.js +11 -0
- data/vendor/assets/javascripts/prism-php.js +110 -0
- data/vendor/assets/javascripts/prism-powershell.js +52 -0
- data/vendor/assets/javascripts/prism-processing.js +18 -0
- data/vendor/assets/javascripts/prism-prolog.js +17 -0
- data/vendor/assets/javascripts/prism-protobuf.js +8 -0
- data/vendor/assets/javascripts/prism-puppet.js +131 -0
- data/vendor/assets/javascripts/prism-pure.js +77 -0
- data/vendor/assets/javascripts/prism-python.js +27 -0
- data/vendor/assets/javascripts/prism-q.js +44 -0
- data/vendor/assets/javascripts/prism-qore.js +17 -0
- data/vendor/assets/javascripts/prism-r.js +19 -0
- data/vendor/assets/javascripts/prism-rest.js +205 -0
- data/vendor/assets/javascripts/prism-rip.js +28 -0
- data/vendor/assets/javascripts/prism-roboconf.js +27 -0
- data/vendor/assets/javascripts/prism-ruby.js +110 -0
- data/vendor/assets/javascripts/prism-rust.js +53 -0
- data/vendor/assets/javascripts/prism-sas.js +31 -0
- data/vendor/assets/javascripts/prism-sass.js +73 -0
- data/vendor/assets/javascripts/prism-scala.js +18 -0
- data/vendor/assets/javascripts/prism-scheme.js +26 -0
- data/vendor/assets/javascripts/prism-scss.js +60 -0
- data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
- data/vendor/assets/javascripts/prism-smarty.js +127 -0
- data/vendor/assets/javascripts/prism-sql.js +17 -0
- data/vendor/assets/javascripts/prism-stylus.js +102 -0
- data/vendor/assets/javascripts/prism-swift.js +25 -0
- data/vendor/assets/javascripts/prism-tcl.js +43 -0
- data/vendor/assets/javascripts/prism-textile.js +254 -0
- data/vendor/assets/javascripts/prism-twig.js +46 -0
- data/vendor/assets/javascripts/prism-typescript.js +3 -0
- data/vendor/assets/javascripts/prism-verilog.js +17 -0
- data/vendor/assets/javascripts/prism-vhdl.js +23 -0
- data/vendor/assets/javascripts/prism-vim.js +10 -0
- data/vendor/assets/javascripts/prism-wiki.js +81 -0
- data/vendor/assets/javascripts/prism-yaml.js +44 -0
- data/vendor/assets/javascripts/prism.js +37 -308
- data/vendor/assets/stylesheets/prism-vs.css +139 -0
- metadata +120 -163
- data/vendor/assets/javascripts/prism-abap.min.js +0 -1
- data/vendor/assets/javascripts/prism-actionscript.min.js +0 -1
- data/vendor/assets/javascripts/prism-apacheconf.min.js +0 -1
- data/vendor/assets/javascripts/prism-apl.min.js +0 -1
- data/vendor/assets/javascripts/prism-applescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-asciidoc.min.js +0 -1
- data/vendor/assets/javascripts/prism-aspnet.min.js +0 -1
- data/vendor/assets/javascripts/prism-autohotkey.min.js +0 -1
- data/vendor/assets/javascripts/prism-autoit.min.js +0 -1
- data/vendor/assets/javascripts/prism-bash.min.js +0 -1
- data/vendor/assets/javascripts/prism-basic.min.js +0 -1
- data/vendor/assets/javascripts/prism-batch.min.js +0 -1
- data/vendor/assets/javascripts/prism-bison.min.js +0 -1
- data/vendor/assets/javascripts/prism-brainfuck.min.js +0 -1
- data/vendor/assets/javascripts/prism-bro.min.js +0 -1
- data/vendor/assets/javascripts/prism-c.min.js +0 -1
- data/vendor/assets/javascripts/prism-clike.min.js +0 -1
- data/vendor/assets/javascripts/prism-coffeescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-core.min.js +0 -1
- data/vendor/assets/javascripts/prism-cpp.min.js +0 -1
- data/vendor/assets/javascripts/prism-crystal.min.js +0 -1
- data/vendor/assets/javascripts/prism-csharp.min.js +0 -1
- data/vendor/assets/javascripts/prism-css-extras.min.js +0 -1
- data/vendor/assets/javascripts/prism-css.min.js +0 -1
- data/vendor/assets/javascripts/prism-d.min.js +0 -1
- data/vendor/assets/javascripts/prism-dart.min.js +0 -1
- data/vendor/assets/javascripts/prism-diff.min.js +0 -1
- data/vendor/assets/javascripts/prism-docker.min.js +0 -1
- data/vendor/assets/javascripts/prism-eiffel.min.js +0 -1
- data/vendor/assets/javascripts/prism-elixir.min.js +0 -1
- data/vendor/assets/javascripts/prism-erlang.min.js +0 -1
- data/vendor/assets/javascripts/prism-fortran.min.js +0 -1
- data/vendor/assets/javascripts/prism-fsharp.min.js +0 -1
- data/vendor/assets/javascripts/prism-gherkin.min.js +0 -1
- data/vendor/assets/javascripts/prism-git.min.js +0 -1
- data/vendor/assets/javascripts/prism-glsl.min.js +0 -1
- data/vendor/assets/javascripts/prism-go.min.js +0 -1
- data/vendor/assets/javascripts/prism-groovy.min.js +0 -1
- data/vendor/assets/javascripts/prism-haml.min.js +0 -1
- data/vendor/assets/javascripts/prism-handlebars.min.js +0 -1
- data/vendor/assets/javascripts/prism-haskell.min.js +0 -1
- data/vendor/assets/javascripts/prism-haxe.min.js +0 -1
- data/vendor/assets/javascripts/prism-http.min.js +0 -1
- data/vendor/assets/javascripts/prism-icon.min.js +0 -1
- data/vendor/assets/javascripts/prism-inform7.min.js +0 -1
- data/vendor/assets/javascripts/prism-ini.min.js +0 -1
- data/vendor/assets/javascripts/prism-j.min.js +0 -1
- data/vendor/assets/javascripts/prism-jade.min.js +0 -1
- data/vendor/assets/javascripts/prism-java.min.js +0 -1
- data/vendor/assets/javascripts/prism-javascript.min.js +0 -1
- data/vendor/assets/javascripts/prism-json.min.js +0 -1
- data/vendor/assets/javascripts/prism-jsx.min.js +0 -1
- data/vendor/assets/javascripts/prism-julia.min.js +0 -1
- data/vendor/assets/javascripts/prism-keyman.min.js +0 -1
- data/vendor/assets/javascripts/prism-kotlin.min.js +0 -1
- data/vendor/assets/javascripts/prism-latex.min.js +0 -1
- data/vendor/assets/javascripts/prism-less.min.js +0 -1
- data/vendor/assets/javascripts/prism-lolcode.min.js +0 -1
- data/vendor/assets/javascripts/prism-lua.min.js +0 -1
- data/vendor/assets/javascripts/prism-makefile.min.js +0 -1
- data/vendor/assets/javascripts/prism-markdown.min.js +0 -1
- data/vendor/assets/javascripts/prism-markup.min.js +0 -1
- data/vendor/assets/javascripts/prism-matlab.min.js +0 -1
- data/vendor/assets/javascripts/prism-mel.min.js +0 -1
- data/vendor/assets/javascripts/prism-mizar.min.js +0 -1
- data/vendor/assets/javascripts/prism-monkey.min.js +0 -1
- data/vendor/assets/javascripts/prism-nasm.min.js +0 -1
- data/vendor/assets/javascripts/prism-nginx.min.js +0 -1
- data/vendor/assets/javascripts/prism-nim.min.js +0 -1
- data/vendor/assets/javascripts/prism-nix.min.js +0 -1
- data/vendor/assets/javascripts/prism-nsis.min.js +0 -1
- data/vendor/assets/javascripts/prism-objectivec.min.js +0 -1
- data/vendor/assets/javascripts/prism-ocaml.min.js +0 -1
- data/vendor/assets/javascripts/prism-oz.min.js +0 -1
- data/vendor/assets/javascripts/prism-parigp.min.js +0 -1
- data/vendor/assets/javascripts/prism-parser.min.js +0 -1
- data/vendor/assets/javascripts/prism-pascal.min.js +0 -1
- data/vendor/assets/javascripts/prism-perl.min.js +0 -1
- data/vendor/assets/javascripts/prism-php-extras.min.js +0 -1
- data/vendor/assets/javascripts/prism-php.min.js +0 -1
- data/vendor/assets/javascripts/prism-powershell.min.js +0 -1
- data/vendor/assets/javascripts/prism-processing.min.js +0 -1
- data/vendor/assets/javascripts/prism-prolog.min.js +0 -1
- data/vendor/assets/javascripts/prism-protobuf.min.js +0 -1
- data/vendor/assets/javascripts/prism-puppet.min.js +0 -1
- data/vendor/assets/javascripts/prism-pure.min.js +0 -1
- data/vendor/assets/javascripts/prism-python.min.js +0 -1
- data/vendor/assets/javascripts/prism-q.min.js +0 -1
- data/vendor/assets/javascripts/prism-qore.min.js +0 -1
- data/vendor/assets/javascripts/prism-r.min.js +0 -1
- data/vendor/assets/javascripts/prism-rest.min.js +0 -1
- data/vendor/assets/javascripts/prism-rip.min.js +0 -1
- data/vendor/assets/javascripts/prism-roboconf.min.js +0 -1
- data/vendor/assets/javascripts/prism-ruby.min.js +0 -1
- data/vendor/assets/javascripts/prism-rust.min.js +0 -1
- data/vendor/assets/javascripts/prism-sas.min.js +0 -1
- data/vendor/assets/javascripts/prism-sass.min.js +0 -1
- data/vendor/assets/javascripts/prism-scala.min.js +0 -1
- data/vendor/assets/javascripts/prism-scheme.min.js +0 -1
- data/vendor/assets/javascripts/prism-scss.min.js +0 -1
- data/vendor/assets/javascripts/prism-smalltalk.min.js +0 -1
- data/vendor/assets/javascripts/prism-smarty.min.js +0 -1
- data/vendor/assets/javascripts/prism-sql.min.js +0 -1
- data/vendor/assets/javascripts/prism-stylus.min.js +0 -1
- data/vendor/assets/javascripts/prism-swift.min.js +0 -1
- data/vendor/assets/javascripts/prism-tcl.min.js +0 -1
- data/vendor/assets/javascripts/prism-textile.min.js +0 -1
- data/vendor/assets/javascripts/prism-twig.min.js +0 -1
- data/vendor/assets/javascripts/prism-typescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-verilog.min.js +0 -1
- data/vendor/assets/javascripts/prism-vhdl.min.js +0 -1
- data/vendor/assets/javascripts/prism-vim.min.js +0 -1
- data/vendor/assets/javascripts/prism-wiki.min.js +0 -1
- data/vendor/assets/javascripts/prism-yaml.min.js +0 -1
@@ -0,0 +1,41 @@
|
|
1
|
+
Prism.languages.erlang = {
|
2
|
+
'comment': /%.+/,
|
3
|
+
'string': /"(?:\\?.)*?"/,
|
4
|
+
'quoted-function': {
|
5
|
+
pattern: /'(?:\\.|[^'\\])+'(?=\()/,
|
6
|
+
alias: 'function'
|
7
|
+
},
|
8
|
+
'quoted-atom': {
|
9
|
+
pattern: /'(?:\\.|[^'\\])+'/,
|
10
|
+
alias: 'atom'
|
11
|
+
},
|
12
|
+
'boolean': /\b(?:true|false)\b/,
|
13
|
+
'keyword': /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,
|
14
|
+
'number': [
|
15
|
+
/\$\\?./,
|
16
|
+
/\d+#[a-z0-9]+/i,
|
17
|
+
/(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/
|
18
|
+
],
|
19
|
+
'function': /\b[a-z][\w@]*(?=\()/,
|
20
|
+
'variable': {
|
21
|
+
// Look-behind is used to prevent wrong highlighting of atoms containing "@"
|
22
|
+
pattern: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,
|
23
|
+
lookbehind: true
|
24
|
+
},
|
25
|
+
'operator': [
|
26
|
+
/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,
|
27
|
+
{
|
28
|
+
// We don't want to match <<
|
29
|
+
pattern: /(^|[^<])<(?!<)/,
|
30
|
+
lookbehind: true
|
31
|
+
},
|
32
|
+
{
|
33
|
+
// We don't want to match >>
|
34
|
+
pattern: /(^|[^>])>(?!>)/,
|
35
|
+
lookbehind: true
|
36
|
+
}
|
37
|
+
],
|
38
|
+
'atom': /\b[a-z][\w@]*/,
|
39
|
+
'punctuation': /[()[\]{}:;,.#|]|<<|>>/
|
40
|
+
|
41
|
+
};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Prism.languages.fortran = {
|
2
|
+
'quoted-number': {
|
3
|
+
pattern: /[BOZ](['"])[A-F0-9]+\1/i,
|
4
|
+
alias: 'number'
|
5
|
+
},
|
6
|
+
'string': {
|
7
|
+
pattern: /(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!\1).)*(?:\1|&)/,
|
8
|
+
inside: {
|
9
|
+
'comment': {
|
10
|
+
pattern: /(&(?:\r\n?|\n)\s*)!.*/,
|
11
|
+
lookbehind: true
|
12
|
+
}
|
13
|
+
}
|
14
|
+
},
|
15
|
+
'comment': /!.*/,
|
16
|
+
'boolean': /\.(?:TRUE|FALSE)\.(?:_\w+)?/i,
|
17
|
+
'number': /(?:\b|[+-])(?:\d+(?:\.\d*)?|\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,
|
18
|
+
'keyword': [
|
19
|
+
// Types
|
20
|
+
/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i,
|
21
|
+
// END statements
|
22
|
+
/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,
|
23
|
+
// Statements
|
24
|
+
/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,
|
25
|
+
// Others
|
26
|
+
/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i
|
27
|
+
],
|
28
|
+
'operator': [
|
29
|
+
/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i,
|
30
|
+
{
|
31
|
+
// Use lookbehind to prevent confusion with (/ /)
|
32
|
+
pattern: /(^|(?!\().)\/(?!\))/,
|
33
|
+
lookbehind: true
|
34
|
+
}
|
35
|
+
],
|
36
|
+
'punctuation': /\(\/|\/\)|[(),;:&]/
|
37
|
+
};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Prism.languages.fsharp = Prism.languages.extend('clike', {
|
2
|
+
'comment': [
|
3
|
+
{
|
4
|
+
pattern: /(^|[^\\])\(\*[\w\W]*?\*\)/,
|
5
|
+
lookbehind: true
|
6
|
+
},
|
7
|
+
{
|
8
|
+
pattern: /(^|[^\\:])\/\/.*/,
|
9
|
+
lookbehind: true
|
10
|
+
}
|
11
|
+
],
|
12
|
+
'keyword': /\b(?:let|return|use|yield)(?:!\B|\b)|\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,
|
13
|
+
'string': /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|("|')(?:\\\1|\\?(?!\1)[\s\S])*\1)B?/,
|
14
|
+
'number': [
|
15
|
+
/\b-?0x[\da-fA-F]+(un|lf|LF)?\b/,
|
16
|
+
/\b-?0b[01]+(y|uy)?\b/,
|
17
|
+
/\b-?(\d*\.?\d+|\d+\.)([fFmM]|[eE][+-]?\d+)?\b/,
|
18
|
+
/\b-?\d+(y|uy|s|us|l|u|ul|L|UL|I)?\b/
|
19
|
+
]
|
20
|
+
});
|
21
|
+
Prism.languages.insertBefore('fsharp', 'keyword', {
|
22
|
+
'preprocessor': {
|
23
|
+
pattern: /^[^\r\n\S]*#.*/m,
|
24
|
+
alias: 'property',
|
25
|
+
inside: {
|
26
|
+
'directive': {
|
27
|
+
pattern: /(\s*#)\b(else|endif|if|light|line|nowarn)\b/,
|
28
|
+
lookbehind: true,
|
29
|
+
alias: 'keyword'
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
});
|
@@ -0,0 +1,78 @@
|
|
1
|
+
Prism.languages.gherkin = {
|
2
|
+
'pystring': {
|
3
|
+
pattern: /("""|''')[\s\S]+?\1/,
|
4
|
+
alias: 'string'
|
5
|
+
},
|
6
|
+
'comment': {
|
7
|
+
pattern: /((^|\r?\n|\r)[ \t]*)#.*/,
|
8
|
+
lookbehind: true
|
9
|
+
},
|
10
|
+
'tag': {
|
11
|
+
pattern: /((^|\r?\n|\r)[ \t]*)@\S*/,
|
12
|
+
lookbehind: true
|
13
|
+
},
|
14
|
+
'feature': {
|
15
|
+
pattern: /((^|\r?\n|\r)[ \t]*)(Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):([^:]+(?:\r?\n|\r|$))*/,
|
16
|
+
lookbehind: true,
|
17
|
+
inside: {
|
18
|
+
'important': {
|
19
|
+
pattern: /(:)[^\r\n]+/,
|
20
|
+
lookbehind: true
|
21
|
+
},
|
22
|
+
keyword: /[^:\r\n]+:/
|
23
|
+
}
|
24
|
+
},
|
25
|
+
'scenario': {
|
26
|
+
pattern: /((^|\r?\n|\r)[ \t]*)(Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|ghantoH|Grundlage|Hannergrond|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|Lýsing Atburðarásar|Lýsing Dæma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo\-ho\-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/,
|
27
|
+
lookbehind: true,
|
28
|
+
inside: {
|
29
|
+
'important': {
|
30
|
+
pattern: /(:)[^\r\n]*/,
|
31
|
+
lookbehind: true
|
32
|
+
},
|
33
|
+
keyword: /[^:\r\n]+:/
|
34
|
+
}
|
35
|
+
},
|
36
|
+
'table-body': {
|
37
|
+
pattern: /((?:\r?\n|\r)[ \t]*\|.+\|[^\r\n]*)+/,
|
38
|
+
lookbehind: true,
|
39
|
+
inside: {
|
40
|
+
'outline': {
|
41
|
+
pattern: /<[^>]+?>/,
|
42
|
+
alias: 'variable'
|
43
|
+
},
|
44
|
+
'td': {
|
45
|
+
pattern: /\s*[^\s|][^|]*/,
|
46
|
+
alias: 'string'
|
47
|
+
},
|
48
|
+
'punctuation': /\|/
|
49
|
+
}
|
50
|
+
},
|
51
|
+
'table-head': {
|
52
|
+
pattern: /((?:\r?\n|\r)[ \t]*\|.+\|[^\r\n]*)/,
|
53
|
+
inside: {
|
54
|
+
'th': {
|
55
|
+
pattern: /\s*[^\s|][^|]*/,
|
56
|
+
alias: 'variable'
|
57
|
+
},
|
58
|
+
'punctuation': /\|/
|
59
|
+
}
|
60
|
+
},
|
61
|
+
'atrule': {
|
62
|
+
pattern: /((?:\r?\n|\r)[ \t]+)('ach|'a|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cando|Cand|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|Entonces|En|Epi|E|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kadar|Kada|Kad|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|ugeholl|Und|Un|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t]+)/,
|
63
|
+
lookbehind: true
|
64
|
+
},
|
65
|
+
'string': {
|
66
|
+
pattern: /("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/,
|
67
|
+
inside: {
|
68
|
+
'outline': {
|
69
|
+
pattern: /<[^>]+?>/,
|
70
|
+
alias: 'variable'
|
71
|
+
}
|
72
|
+
}
|
73
|
+
},
|
74
|
+
'outline': {
|
75
|
+
pattern: /<[^>]+?>/,
|
76
|
+
alias: 'variable'
|
77
|
+
}
|
78
|
+
};
|
@@ -0,0 +1,68 @@
|
|
1
|
+
Prism.languages.git = {
|
2
|
+
/*
|
3
|
+
* A simple one line comment like in a git status command
|
4
|
+
* For instance:
|
5
|
+
* $ git status
|
6
|
+
* # On branch infinite-scroll
|
7
|
+
* # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,
|
8
|
+
* # and have 1 and 2 different commits each, respectively.
|
9
|
+
* nothing to commit (working directory clean)
|
10
|
+
*/
|
11
|
+
'comment': /^#.*/m,
|
12
|
+
|
13
|
+
/*
|
14
|
+
* Regexp to match the changed lines in a git diff output. Check the example below.
|
15
|
+
*/
|
16
|
+
'deleted': /^[-–].*/m,
|
17
|
+
'inserted': /^\+.*/m,
|
18
|
+
|
19
|
+
/*
|
20
|
+
* a string (double and simple quote)
|
21
|
+
*/
|
22
|
+
'string': /("|')(\\?.)*?\1/m,
|
23
|
+
|
24
|
+
/*
|
25
|
+
* a git command. It starts with a random prompt finishing by a $, then "git" then some other parameters
|
26
|
+
* For instance:
|
27
|
+
* $ git add file.txt
|
28
|
+
*/
|
29
|
+
'command': {
|
30
|
+
pattern: /^.*\$ git .*$/m,
|
31
|
+
inside: {
|
32
|
+
/*
|
33
|
+
* A git command can contain a parameter starting by a single or a double dash followed by a string
|
34
|
+
* For instance:
|
35
|
+
* $ git diff --cached
|
36
|
+
* $ git log -p
|
37
|
+
*/
|
38
|
+
'parameter': /\s(--|-)\w+/m
|
39
|
+
}
|
40
|
+
},
|
41
|
+
|
42
|
+
/*
|
43
|
+
* Coordinates displayed in a git diff command
|
44
|
+
* For instance:
|
45
|
+
* $ git diff
|
46
|
+
* diff --git file.txt file.txt
|
47
|
+
* index 6214953..1d54a52 100644
|
48
|
+
* --- file.txt
|
49
|
+
* +++ file.txt
|
50
|
+
* @@ -1 +1,2 @@
|
51
|
+
* -Here's my tetx file
|
52
|
+
* +Here's my text file
|
53
|
+
* +And this is the second line
|
54
|
+
*/
|
55
|
+
'coord': /^@@.*@@$/m,
|
56
|
+
|
57
|
+
/*
|
58
|
+
* Match a "commit [SHA1]" line in a git log output.
|
59
|
+
* For instance:
|
60
|
+
* $ git log
|
61
|
+
* commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09
|
62
|
+
* Author: lgiraudel
|
63
|
+
* Date: Mon Feb 17 11:18:34 2014 +0100
|
64
|
+
*
|
65
|
+
* Add of a new line
|
66
|
+
*/
|
67
|
+
'commit_sha1': /^commit \w{40}$/m
|
68
|
+
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Prism.languages.glsl = Prism.languages.extend('clike', {
|
2
|
+
'comment': [
|
3
|
+
/\/\*[\w\W]*?\*\//,
|
4
|
+
/\/\/(?:\\(?:\r\n|[\s\S])|.)*/
|
5
|
+
],
|
6
|
+
'number': /\b(?:0x[\da-f]+|(?:\.\d+|\d+\.?\d*)(?:e[+-]?\d+)?)[ulf]*\b/i,
|
7
|
+
'keyword': /\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/
|
8
|
+
});
|
9
|
+
|
10
|
+
Prism.languages.insertBefore('glsl', 'comment', {
|
11
|
+
'preprocessor': {
|
12
|
+
pattern: /(^[ \t]*)#(?:(?:define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\b)?/m,
|
13
|
+
lookbehind: true,
|
14
|
+
alias: 'builtin'
|
15
|
+
}
|
16
|
+
});
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Prism.languages.go = Prism.languages.extend('clike', {
|
2
|
+
'keyword': /\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,
|
3
|
+
'builtin': /\b(bool|byte|complex(64|128)|error|float(32|64)|rune|string|u?int(8|16|32|64|)|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(ln)?|real|recover)\b/,
|
4
|
+
'boolean': /\b(_|iota|nil|true|false)\b/,
|
5
|
+
'operator': /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,
|
6
|
+
'number': /\b(-?(0x[a-f\d]+|(\d+\.?\d*|\.\d+)(e[-+]?\d+)?)i?)\b/i,
|
7
|
+
'string': /("|'|`)(\\?.|\r|\n)*?\1/
|
8
|
+
});
|
9
|
+
delete Prism.languages.go['class-name'];
|
@@ -0,0 +1,65 @@
|
|
1
|
+
Prism.languages.groovy = Prism.languages.extend('clike', {
|
2
|
+
'keyword': /\b(as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,
|
3
|
+
'string': [
|
4
|
+
{
|
5
|
+
pattern: /("""|''')[\W\w]*?\1|(\$\/)(\$\/\$|[\W\w])*?\/\$/,
|
6
|
+
greedy: true
|
7
|
+
},
|
8
|
+
{
|
9
|
+
pattern: /("|'|\/)(?:\\?.)*?\1/,
|
10
|
+
greedy: true
|
11
|
+
},
|
12
|
+
],
|
13
|
+
'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i,
|
14
|
+
'operator': {
|
15
|
+
pattern: /(^|[^.])(~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.{1,2}(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
|
16
|
+
lookbehind: true
|
17
|
+
},
|
18
|
+
'punctuation': /\.+|[{}[\];(),:$]/
|
19
|
+
});
|
20
|
+
|
21
|
+
Prism.languages.insertBefore('groovy', 'string', {
|
22
|
+
'shebang': {
|
23
|
+
pattern: /#!.+/,
|
24
|
+
alias: 'comment'
|
25
|
+
}
|
26
|
+
});
|
27
|
+
|
28
|
+
Prism.languages.insertBefore('groovy', 'punctuation', {
|
29
|
+
'spock-block': /\b(setup|given|when|then|and|cleanup|expect|where):/
|
30
|
+
});
|
31
|
+
|
32
|
+
Prism.languages.insertBefore('groovy', 'function', {
|
33
|
+
'annotation': {
|
34
|
+
alias: 'punctuation',
|
35
|
+
pattern: /(^|[^.])@\w+/,
|
36
|
+
lookbehind: true
|
37
|
+
}
|
38
|
+
});
|
39
|
+
|
40
|
+
// Handle string interpolation
|
41
|
+
Prism.hooks.add('wrap', function(env) {
|
42
|
+
if (env.language === 'groovy' && env.type === 'string') {
|
43
|
+
var delimiter = env.content[0];
|
44
|
+
|
45
|
+
if (delimiter != "'") {
|
46
|
+
var pattern = /([^\\])(\$(\{.*?\}|[\w\.]+))/;
|
47
|
+
if (delimiter === '$') {
|
48
|
+
pattern = /([^\$])(\$(\{.*?\}|[\w\.]+))/;
|
49
|
+
}
|
50
|
+
|
51
|
+
// To prevent double HTML-ecoding we have to decode env.content first
|
52
|
+
env.content = env.content.replace(/&/g, '&').replace(/</g, '<');
|
53
|
+
|
54
|
+
env.content = Prism.highlight(env.content, {
|
55
|
+
'expression': {
|
56
|
+
pattern: pattern,
|
57
|
+
lookbehind: true,
|
58
|
+
inside: Prism.languages.groovy
|
59
|
+
}
|
60
|
+
});
|
61
|
+
|
62
|
+
env.classes.push(delimiter === '/' ? 'regex' : 'gstring');
|
63
|
+
}
|
64
|
+
}
|
65
|
+
});
|
@@ -0,0 +1,154 @@
|
|
1
|
+
/* TODO
|
2
|
+
Handle multiline code after tag
|
3
|
+
%foo= some |
|
4
|
+
multiline |
|
5
|
+
code |
|
6
|
+
*/
|
7
|
+
|
8
|
+
(function(Prism) {
|
9
|
+
|
10
|
+
Prism.languages.haml = {
|
11
|
+
// Multiline stuff should appear before the rest
|
12
|
+
|
13
|
+
'multiline-comment': {
|
14
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/,
|
15
|
+
lookbehind: true,
|
16
|
+
alias: 'comment'
|
17
|
+
},
|
18
|
+
|
19
|
+
'multiline-code': [
|
20
|
+
{
|
21
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/,
|
22
|
+
lookbehind: true,
|
23
|
+
inside: {
|
24
|
+
rest: Prism.languages.ruby
|
25
|
+
}
|
26
|
+
},
|
27
|
+
{
|
28
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/,
|
29
|
+
lookbehind: true,
|
30
|
+
inside: {
|
31
|
+
rest: Prism.languages.ruby
|
32
|
+
}
|
33
|
+
}
|
34
|
+
],
|
35
|
+
|
36
|
+
// See at the end of the file for known filters
|
37
|
+
'filter': {
|
38
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/,
|
39
|
+
lookbehind: true,
|
40
|
+
inside: {
|
41
|
+
'filter-name': {
|
42
|
+
pattern: /^:[\w-]+/,
|
43
|
+
alias: 'variable'
|
44
|
+
}
|
45
|
+
}
|
46
|
+
},
|
47
|
+
|
48
|
+
'markup': {
|
49
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*)<.+/,
|
50
|
+
lookbehind: true,
|
51
|
+
inside: {
|
52
|
+
rest: Prism.languages.markup
|
53
|
+
}
|
54
|
+
},
|
55
|
+
'doctype': {
|
56
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,
|
57
|
+
lookbehind: true
|
58
|
+
},
|
59
|
+
'tag': {
|
60
|
+
// Allows for one nested group of braces
|
61
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,
|
62
|
+
lookbehind: true,
|
63
|
+
inside: {
|
64
|
+
'attributes': [
|
65
|
+
{
|
66
|
+
// Lookbehind tries to prevent interpolations for breaking it all
|
67
|
+
// Allows for one nested group of braces
|
68
|
+
pattern: /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,
|
69
|
+
lookbehind: true,
|
70
|
+
inside: {
|
71
|
+
rest: Prism.languages.ruby
|
72
|
+
}
|
73
|
+
},
|
74
|
+
{
|
75
|
+
pattern: /\([^)]+\)/,
|
76
|
+
inside: {
|
77
|
+
'attr-value': {
|
78
|
+
pattern: /(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/,
|
79
|
+
lookbehind: true
|
80
|
+
},
|
81
|
+
'attr-name': /[\w:-]+(?=\s*!?=|\s*[,)])/,
|
82
|
+
'punctuation': /[=(),]/
|
83
|
+
}
|
84
|
+
},
|
85
|
+
{
|
86
|
+
pattern: /\[[^\]]+\]/,
|
87
|
+
inside: {
|
88
|
+
rest: Prism.languages.ruby
|
89
|
+
}
|
90
|
+
}
|
91
|
+
],
|
92
|
+
'punctuation': /[<>]/
|
93
|
+
}
|
94
|
+
},
|
95
|
+
'code': {
|
96
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,
|
97
|
+
lookbehind: true,
|
98
|
+
inside: {
|
99
|
+
rest: Prism.languages.ruby
|
100
|
+
}
|
101
|
+
},
|
102
|
+
// Interpolations in plain text
|
103
|
+
'interpolation': {
|
104
|
+
pattern: /#\{[^}]+\}/,
|
105
|
+
inside: {
|
106
|
+
'delimiter': {
|
107
|
+
pattern: /^#\{|\}$/,
|
108
|
+
alias: 'punctuation'
|
109
|
+
},
|
110
|
+
rest: Prism.languages.ruby
|
111
|
+
}
|
112
|
+
},
|
113
|
+
'punctuation': {
|
114
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,
|
115
|
+
lookbehind: true
|
116
|
+
}
|
117
|
+
};
|
118
|
+
|
119
|
+
var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+';
|
120
|
+
|
121
|
+
// Non exhaustive list of available filters and associated languages
|
122
|
+
var filters = [
|
123
|
+
'css',
|
124
|
+
{filter:'coffee',language:'coffeescript'},
|
125
|
+
'erb',
|
126
|
+
'javascript',
|
127
|
+
'less',
|
128
|
+
'markdown',
|
129
|
+
'ruby',
|
130
|
+
'scss',
|
131
|
+
'textile'
|
132
|
+
];
|
133
|
+
var all_filters = {};
|
134
|
+
for (var i = 0, l = filters.length; i < l; i++) {
|
135
|
+
var filter = filters[i];
|
136
|
+
filter = typeof filter === 'string' ? {filter: filter, language: filter} : filter;
|
137
|
+
if (Prism.languages[filter.language]) {
|
138
|
+
all_filters['filter-' + filter.filter] = {
|
139
|
+
pattern: RegExp(filter_pattern.replace('{{filter_name}}', filter.filter)),
|
140
|
+
lookbehind: true,
|
141
|
+
inside: {
|
142
|
+
'filter-name': {
|
143
|
+
pattern: /^:[\w-]+/,
|
144
|
+
alias: 'variable'
|
145
|
+
},
|
146
|
+
rest: Prism.languages[filter.language]
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
}
|
151
|
+
|
152
|
+
Prism.languages.insertBefore('haml', 'filter', all_filters);
|
153
|
+
|
154
|
+
}(Prism));
|