highlighting 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/highlighting/post_message.rb +4 -0
- data/lib/highlighting/version.rb +1 -1
- data/vendor/assets/javascripts/prism-bash.js +3 -1
- data/vendor/assets/javascripts/prism-bash.min.js +1 -1
- data/vendor/assets/javascripts/prism-bro.js +50 -0
- data/vendor/assets/javascripts/prism-bro.min.js +1 -0
- data/vendor/assets/javascripts/prism-clike.js +4 -1
- data/vendor/assets/javascripts/prism-clike.min.js +1 -1
- data/vendor/assets/javascripts/prism-coffeescript.js +7 -1
- data/vendor/assets/javascripts/prism-coffeescript.min.js +1 -1
- data/vendor/assets/javascripts/prism-core.js +82 -29
- data/vendor/assets/javascripts/prism-core.min.js +1 -1
- data/vendor/assets/javascripts/prism-csharp.js +8 -0
- data/vendor/assets/javascripts/prism-csharp.min.js +1 -1
- data/vendor/assets/javascripts/prism-groovy.js +15 -1
- data/vendor/assets/javascripts/prism-groovy.min.js +1 -1
- data/vendor/assets/javascripts/prism-haskell.js +4 -1
- data/vendor/assets/javascripts/prism-haskell.min.js +1 -1
- data/vendor/assets/javascripts/prism-java.js +9 -1
- data/vendor/assets/javascripts/prism-java.min.js +1 -1
- data/vendor/assets/javascripts/prism-javascript.js +4 -2
- data/vendor/assets/javascripts/prism-javascript.min.js +1 -1
- data/vendor/assets/javascripts/prism-kotlin.js +1 -7
- data/vendor/assets/javascripts/prism-kotlin.min.js +1 -1
- data/vendor/assets/javascripts/prism-lua.js +4 -1
- data/vendor/assets/javascripts/prism-lua.min.js +1 -1
- data/vendor/assets/javascripts/prism-powershell.js +5 -1
- data/vendor/assets/javascripts/prism-powershell.min.js +1 -1
- data/vendor/assets/javascripts/prism-protobuf.js +8 -0
- data/vendor/assets/javascripts/prism-protobuf.min.js +1 -0
- data/vendor/assets/javascripts/prism-python.js +4 -1
- data/vendor/assets/javascripts/prism-python.min.js +1 -1
- data/vendor/assets/javascripts/prism-sas.js +2 -2
- data/vendor/assets/javascripts/prism-sas.min.js +1 -1
- data/vendor/assets/javascripts/prism-scala.js +10 -1
- data/vendor/assets/javascripts/prism-scala.min.js +1 -1
- data/vendor/assets/javascripts/prism-swift.js +1 -0
- data/vendor/assets/javascripts/prism-swift.min.js +1 -1
- data/vendor/assets/javascripts/prism-yaml.js +1 -1
- data/vendor/assets/javascripts/prism-yaml.min.js +1 -1
- data/vendor/assets/javascripts/prism.js +115 -47
- data/vendor/assets/stylesheets/prism-coy.css +0 -1
- data/vendor/assets/stylesheets/prism-dark.css +0 -1
- data/vendor/assets/stylesheets/prism-funky.css +0 -1
- data/vendor/assets/stylesheets/prism-okaidia.css +0 -1
- data/vendor/assets/stylesheets/prism-solarizedlight.css +0 -1
- data/vendor/assets/stylesheets/prism-tomorrow.css +0 -1
- data/vendor/assets/stylesheets/prism-twilight.css +4 -5
- data/vendor/assets/stylesheets/prism.css +0 -1
- metadata +10 -5
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.java=Prism.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}});
|
1
|
+
Prism.languages.java=Prism.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),Prism.languages.insertBefore("java","function",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0}});
|
@@ -8,13 +8,15 @@ Prism.languages.javascript = Prism.languages.extend('clike', {
|
|
8
8
|
Prism.languages.insertBefore('javascript', 'keyword', {
|
9
9
|
'regex': {
|
10
10
|
pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
|
11
|
-
lookbehind: true
|
11
|
+
lookbehind: true,
|
12
|
+
greedy: true
|
12
13
|
}
|
13
14
|
});
|
14
15
|
|
15
16
|
Prism.languages.insertBefore('javascript', 'class-name', {
|
16
17
|
'template-string': {
|
17
|
-
pattern: /`(
|
18
|
+
pattern: /`(?:\\\\|\\?[^\\])*?`/,
|
19
|
+
greedy: true,
|
18
20
|
inside: {
|
19
21
|
'interpolation': {
|
20
22
|
pattern: /\$\{[^}]+\}/,
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),Prism.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(
|
1
|
+
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript"}}),Prism.languages.js=Prism.languages.javascript;
|
@@ -55,13 +55,7 @@
|
|
55
55
|
}
|
56
56
|
];
|
57
57
|
|
58
|
-
Prism.languages.kotlin['string'] = {
|
59
|
-
pattern: Prism.languages.kotlin['string'],
|
60
|
-
inside: {
|
61
|
-
interpolation: interpolation
|
62
|
-
}
|
63
|
-
};
|
64
|
-
Prism.languages.kotlin['raw-string'].inside = {
|
58
|
+
Prism.languages.kotlin['string'].inside = Prism.languages.kotlin['raw-string'].inside = {
|
65
59
|
interpolation: interpolation
|
66
60
|
};
|
67
61
|
|
@@ -1 +1 @@
|
|
1
|
-
!function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|else|enum|final|finally|for|fun|get|if|import|in|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|to|try|val|var|when|where|while)\b/,lookbehind:!0},"function":[/\w+(?=\s*\()/,{pattern:/(\.)\w+(?=\s*\{)/,lookbehind:!0}],number:/\b(?:0[bx][\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"],n.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/(["'])\1\1[\s\S]*?\1{3}/,alias:"string"}}),n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var e=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:n.util.clone(n.languages.kotlin)}},{pattern:/\$\w+/,alias:"variable"}];n.languages.kotlin.string
|
1
|
+
!function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|else|enum|final|finally|for|fun|get|if|import|in|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|to|try|val|var|when|where|while)\b/,lookbehind:!0},"function":[/\w+(?=\s*\()/,{pattern:/(\.)\w+(?=\s*\{)/,lookbehind:!0}],number:/\b(?:0[bx][\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"],n.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/(["'])\1\1[\s\S]*?\1{3}/,alias:"string"}}),n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var e=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:n.util.clone(n.languages.kotlin)}},{pattern:/\$\w+/,alias:"variable"}];n.languages.kotlin.string.inside=n.languages.kotlin["raw-string"].inside={interpolation:e}}(Prism);
|
@@ -1,7 +1,10 @@
|
|
1
1
|
Prism.languages.lua = {
|
2
2
|
'comment': /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,
|
3
3
|
// \z may be used to skip the following space
|
4
|
-
'string':
|
4
|
+
'string': {
|
5
|
+
pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
|
6
|
+
greedy: true
|
7
|
+
},
|
5
8
|
'number': /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
|
6
9
|
'keyword': /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,
|
7
10
|
'function': /(?!\d)\w+(?=\s*(?:[({]))/,
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,"function":/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/};
|
1
|
+
Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,"function":/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/};
|
@@ -12,6 +12,7 @@ Prism.languages.powershell = {
|
|
12
12
|
'string': [
|
13
13
|
{
|
14
14
|
pattern: /"(`?[\w\W])*?"/,
|
15
|
+
greedy: true,
|
15
16
|
inside: {
|
16
17
|
'function': {
|
17
18
|
pattern: /[^`]\$\(.*?\)/,
|
@@ -20,7 +21,10 @@ Prism.languages.powershell = {
|
|
20
21
|
}
|
21
22
|
}
|
22
23
|
},
|
23
|
-
|
24
|
+
{
|
25
|
+
pattern: /'([^']|'')*'/,
|
26
|
+
greedy: true
|
27
|
+
}
|
24
28
|
],
|
25
29
|
// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
|
26
30
|
'namespace': /\[[a-z][\w\W]*?\]/i,
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\w\W]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.+/,lookbehind:!0}],string:[{pattern:/"(`?[\w\W])*?"/,inside:{"function":{pattern:/[^`]\$\(.*?\)/,inside:{}}}}
|
1
|
+
Prism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\w\W]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.+/,lookbehind:!0}],string:[{pattern:/"(`?[\w\W])*?"/,greedy:!0,inside:{"function":{pattern:/[^`]\$\(.*?\)/,inside:{}}}},{pattern:/'([^']|'')*'/,greedy:!0}],namespace:/\[[a-z][\w\W]*?\]/i,"boolean":/\$(true|false)\b/i,variable:/\$\w+\b/i,"function":[/\b(Add-(Computer|Content|History|Member|PSSnapin|Type)|Checkpoint-Computer|Clear-(Content|EventLog|History|Item|ItemProperty|Variable)|Compare-Object|Complete-Transaction|Connect-PSSession|ConvertFrom-(Csv|Json|StringData)|Convert-Path|ConvertTo-(Csv|Html|Json|Xml)|Copy-(Item|ItemProperty)|Debug-Process|Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Disconnect-PSSession|Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Enter-PSSession|Exit-PSSession|Export-(Alias|Clixml|Console|Csv|FormatData|ModuleMember|PSSession)|ForEach-Object|Format-(Custom|List|Table|Wide)|Get-(Alias|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Culture|Date|Event|EventLog|EventSubscriber|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|WmiObject)|Group-Object|Import-(Alias|Clixml|Csv|LocalizedData|Module|PSSession)|Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)|Join-Path|Limit-EventLog|Measure-(Command|Object)|Move-(Item|ItemProperty)|New-(Alias|Event|EventLog|Item|ItemProperty|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy)|Out-(Default|File|GridView|Host|Null|Printer|String)|Pop-Location|Push-Location|Read-Host|Receive-(Job|PSSession)|Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)|Remove-(Computer|Event|EventLog|Item|ItemProperty|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)|Rename-(Computer|Item|ItemProperty)|Reset-ComputerMachinePassword|Resolve-Path|Restart-(Computer|Service)|Restore-Computer|Resume-(Job|Service)|Save-Help|Select-(Object|String|Xml)|Send-MailMessage|Set-(Alias|Content|Date|Item|ItemProperty|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)|Show-(Command|ControlPanelItem|EventLog)|Sort-Object|Split-Path|Start-(Job|Process|Service|Sleep|Transaction)|Stop-(Computer|Job|Process|Service)|Suspend-(Job|Service)|Tee-Object|Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)|Trace-Command|Unblock-File|Undo-Transaction|Unregister-(Event|PSSessionConfiguration)|Update-(FormatData|Help|List|TypeData)|Use-Transaction|Wait-(Event|Job|Process)|Where-Object|Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning))\b/i,/\b(ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(\W?)(!|-(eq|ne|gt|ge|lt|le|sh[lr]|not|b?(and|x?or)|(Not)?(Like|Match|Contains|In)|Replace|Join|is(Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/},Prism.languages.powershell.string[0].inside.boolean=Prism.languages.powershell.boolean,Prism.languages.powershell.string[0].inside.variable=Prism.languages.powershell.variable,Prism.languages.powershell.string[0].inside.function.inside=Prism.util.clone(Prism.languages.powershell);
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Prism.languages.protobuf = Prism.languages.extend('clike', {
|
2
|
+
keyword: /\b(package|import|message|enum)\b/,
|
3
|
+
builtin: /\b(required|repeated|optional|reserved)\b/,
|
4
|
+
primitive: {
|
5
|
+
pattern: /\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\b/,
|
6
|
+
alias: 'symbol'
|
7
|
+
}
|
8
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.protobuf=Prism.languages.extend("clike",{keyword:/\b(package|import|message|enum)\b/,builtin:/\b(required|repeated|optional|reserved)\b/,primitive:{pattern:/\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\b/,alias:"symbol"}});
|
@@ -7,7 +7,10 @@ Prism.languages.python= {
|
|
7
7
|
pattern: /(^|[^\\])#.*/,
|
8
8
|
lookbehind: true
|
9
9
|
},
|
10
|
-
'string':
|
10
|
+
'string': {
|
11
|
+
pattern: /("|')(?:\\\\|\\?[^\\\r\n])*?\1/,
|
12
|
+
greedy: true
|
13
|
+
},
|
11
14
|
'function' : {
|
12
15
|
pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,
|
13
16
|
lookbehind: true
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.python={"triple-quoted-string":{pattern:/"""[\s\S]+?"""|'''[\s\S]+?'''/,alias:"string"},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/("|')(
|
1
|
+
Prism.languages.python={"triple-quoted-string":{pattern:/"""[\s\S]+?"""|'''[\s\S]+?'''/,alias:"string"},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/("|')(?:\\\\|\\?[^\\\r\n])*?\1/,greedy:!0},"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/};
|
@@ -23,9 +23,9 @@ Prism.languages.sas = {
|
|
23
23
|
alias: 'number'
|
24
24
|
},
|
25
25
|
'string': /(["'])(?:\1\1|(?!\1)[\s\S])*\1/,
|
26
|
-
'keyword': /\b(?:data|else|format|if|input|proc|run|then)\b/i,
|
26
|
+
'keyword': /\b(?:data|else|format|if|input|proc\s\w+|quit|run|then)\b/i,
|
27
27
|
// Decimal (1.2e23), hexadecimal (0c1x)
|
28
28
|
'number': /(?:\B-|\b)(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,
|
29
29
|
'operator': /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,
|
30
30
|
'punctuation': /[$%@.(){}\[\];,\\]/
|
31
|
-
};
|
31
|
+
};
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.sas={datalines:{pattern:/^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im,alias:"string",inside:{keyword:{pattern:/^(\s*)(?:(?:data)?lines|cards)/i,lookbehind:!0},punctuation:/;/}},comment:[{pattern:/(^\s*|;\s*)\*.*;/m,lookbehind:!0},/\/\*[\s\S]+?\*\//],datetime:{pattern:/'[^']+'(?:dt?|t)\b/i,alias:"number"},string:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,keyword:/\b(?:data|else|format|if|input|proc|run|then)\b/i,number:/(?:\B-|\b)(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,punctuation:/[$%@.(){}\[\];,\\]/};
|
1
|
+
Prism.languages.sas={datalines:{pattern:/^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im,alias:"string",inside:{keyword:{pattern:/^(\s*)(?:(?:data)?lines|cards)/i,lookbehind:!0},punctuation:/;/}},comment:[{pattern:/(^\s*|;\s*)\*.*;/m,lookbehind:!0},/\/\*[\s\S]+?\*\//],datetime:{pattern:/'[^']+'(?:dt?|t)\b/i,alias:"number"},string:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,keyword:/\b(?:data|else|format|if|input|proc\s\w+|quit|run|then)\b/i,number:/(?:\B-|\b)(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,punctuation:/[$%@.(){}\[\];,\\]/};
|
@@ -1,6 +1,15 @@
|
|
1
1
|
Prism.languages.scala = Prism.languages.extend('java', {
|
2
2
|
'keyword': /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,
|
3
|
-
'string':
|
3
|
+
'string': [
|
4
|
+
{
|
5
|
+
pattern: /"""[\W\w]*?"""/,
|
6
|
+
greedy: true
|
7
|
+
},
|
8
|
+
{
|
9
|
+
pattern: /("|')(?:\\\\|\\?[^\\\r\n])*?\1/,
|
10
|
+
greedy: true
|
11
|
+
},
|
12
|
+
],
|
4
13
|
'builtin': /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,
|
5
14
|
'number': /\b(?:0x[\da-f]*\.?[\da-f]+|\d*\.?\d+e?\d*[dfl]?)\b/i,
|
6
15
|
'symbol': /'[^\d\s\\]\w*/
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.scala=Prism.languages.extend("java",{keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,string:/"""[\W\w]*?"""
|
1
|
+
Prism.languages.scala=Prism.languages.extend("java",{keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,string:[{pattern:/"""[\W\w]*?"""/,greedy:!0},{pattern:/("|')(?:\\\\|\\?[^\\\r\n])*?\1/,greedy:!0}],builtin:/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,number:/\b(?:0x[\da-f]*\.?[\da-f]+|\d*\.?\d+e?\d*[dfl]?)\b/i,symbol:/'[^\d\s\\]\w*/}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala["function"];
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.swift=Prism.languages.extend("clike",{string:{pattern:/("|')(\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,inside:{interpolation:{pattern:/\\\((?:[^()]|\([^)]+\))+\)/,inside:{delimiter:{pattern:/^\\\(|\)$/,alias:"variable"}}}}},keyword:/\b(as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|Protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/,number:/\b([\d_]+(\.[\de_]+)?|0x[a-f0-9_]+(\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,constant:/\b(nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,atrule:/@\b(IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/,builtin:/\b([A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/}),Prism.languages.swift.string.inside.interpolation.inside.rest=Prism.util.clone(Prism.languages.swift);
|
1
|
+
Prism.languages.swift=Prism.languages.extend("clike",{string:{pattern:/("|')(\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/\\\((?:[^()]|\([^)]+\))+\)/,inside:{delimiter:{pattern:/^\\\(|\)$/,alias:"variable"}}}}},keyword:/\b(as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|Protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/,number:/\b([\d_]+(\.[\de_]+)?|0x[a-f0-9_]+(\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,constant:/\b(nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,atrule:/@\b(IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/,builtin:/\b([A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/}),Prism.languages.swift.string.inside.interpolation.inside.rest=Prism.util.clone(Prism.languages.swift);
|
@@ -6,7 +6,7 @@ Prism.languages.yaml = {
|
|
6
6
|
},
|
7
7
|
'comment': /#.*/,
|
8
8
|
'key': {
|
9
|
-
pattern: /(\s*[:\-,[{\r\n?][ \t]*(![^\s]+)?[ \t]*)[^\r\n{[\]}
|
9
|
+
pattern: /(\s*(?:^|[:\-,[{\r\n?])[ \t]*(![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,
|
10
10
|
lookbehind: true,
|
11
11
|
alias: 'atrule'
|
12
12
|
},
|
@@ -1 +1 @@
|
|
1
|
-
Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*[:\-,[{\r\n?][ \t]*(![^\s]+)?[ \t]*)[^\r\n{[\]}
|
1
|
+
Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(\d{4}-\d\d?-\d\d?([tT]|[ \t]+)\d\d?:\d{2}:\d{2}(\.\d*)?[ \t]*(Z|[-+]\d\d?(:\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(:\d{2}(\.\d*)?)?)(?=[ \t]*($|,|]|}))/m,lookbehind:!0,alias:"number"},"boolean":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},"null":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')(?=[ \t]*($|,|]|}))/m,lookbehind:!0},number:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)[+\-]?(0x[\da-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./};
|
@@ -20,7 +20,8 @@ var _self = (typeof window !== 'undefined')
|
|
20
20
|
var Prism = (function(){
|
21
21
|
|
22
22
|
// Private helper vars
|
23
|
-
var lang = /\blang(?:uage)?-(
|
23
|
+
var lang = /\blang(?:uage)?-(\w+)\b/i;
|
24
|
+
var uniqueId = 0;
|
24
25
|
|
25
26
|
var _ = _self.Prism = {
|
26
27
|
util: {
|
@@ -38,6 +39,13 @@ var _ = _self.Prism = {
|
|
38
39
|
return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
|
39
40
|
},
|
40
41
|
|
42
|
+
objId: function (obj) {
|
43
|
+
if (!obj['__id']) {
|
44
|
+
Object.defineProperty(obj, '__id', { value: ++uniqueId });
|
45
|
+
}
|
46
|
+
return obj['__id'];
|
47
|
+
},
|
48
|
+
|
41
49
|
// Deep clone a language definition (e.g. to extend it)
|
42
50
|
clone: function (o) {
|
43
51
|
var type = _.util.type(o);
|
@@ -86,19 +94,19 @@ var _ = _self.Prism = {
|
|
86
94
|
insertBefore: function (inside, before, insert, root) {
|
87
95
|
root = root || _.languages;
|
88
96
|
var grammar = root[inside];
|
89
|
-
|
97
|
+
|
90
98
|
if (arguments.length == 2) {
|
91
99
|
insert = arguments[1];
|
92
|
-
|
100
|
+
|
93
101
|
for (var newToken in insert) {
|
94
102
|
if (insert.hasOwnProperty(newToken)) {
|
95
103
|
grammar[newToken] = insert[newToken];
|
96
104
|
}
|
97
105
|
}
|
98
|
-
|
106
|
+
|
99
107
|
return grammar;
|
100
108
|
}
|
101
|
-
|
109
|
+
|
102
110
|
var ret = {};
|
103
111
|
|
104
112
|
for (var token in grammar) {
|
@@ -118,7 +126,7 @@ var _ = _self.Prism = {
|
|
118
126
|
ret[token] = grammar[token];
|
119
127
|
}
|
120
128
|
}
|
121
|
-
|
129
|
+
|
122
130
|
// Update references in other language definitions
|
123
131
|
_.languages.DFS(_.languages, function(key, value) {
|
124
132
|
if (value === root[inside] && key != inside) {
|
@@ -130,28 +138,38 @@ var _ = _self.Prism = {
|
|
130
138
|
},
|
131
139
|
|
132
140
|
// Traverse a language definition with Depth First Search
|
133
|
-
DFS: function(o, callback, type) {
|
141
|
+
DFS: function(o, callback, type, visited) {
|
142
|
+
visited = visited || {};
|
134
143
|
for (var i in o) {
|
135
144
|
if (o.hasOwnProperty(i)) {
|
136
145
|
callback.call(o, i, o[i], type || i);
|
137
146
|
|
138
|
-
if (_.util.type(o[i]) === 'Object') {
|
139
|
-
_.
|
147
|
+
if (_.util.type(o[i]) === 'Object' && !visited[_.util.objId(o[i])]) {
|
148
|
+
visited[_.util.objId(o[i])] = true;
|
149
|
+
_.languages.DFS(o[i], callback, null, visited);
|
140
150
|
}
|
141
|
-
else if (_.util.type(o[i]) === 'Array') {
|
142
|
-
_.
|
151
|
+
else if (_.util.type(o[i]) === 'Array' && !visited[_.util.objId(o[i])]) {
|
152
|
+
visited[_.util.objId(o[i])] = true;
|
153
|
+
_.languages.DFS(o[i], callback, i, visited);
|
143
154
|
}
|
144
155
|
}
|
145
156
|
}
|
146
157
|
}
|
147
158
|
},
|
148
159
|
plugins: {},
|
149
|
-
|
160
|
+
|
150
161
|
highlightAll: function(async, callback) {
|
151
|
-
var
|
162
|
+
var env = {
|
163
|
+
callback: callback,
|
164
|
+
selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
|
165
|
+
};
|
166
|
+
|
167
|
+
_.hooks.run("before-highlightall", env);
|
168
|
+
|
169
|
+
var elements = env.elements || document.querySelectorAll(env.selector);
|
152
170
|
|
153
171
|
for (var i=0, element; element = elements[i++];) {
|
154
|
-
_.highlightElement(element, async === true, callback);
|
172
|
+
_.highlightElement(element, async === true, env.callback);
|
155
173
|
}
|
156
174
|
},
|
157
175
|
|
@@ -187,7 +205,9 @@ var _ = _self.Prism = {
|
|
187
205
|
code: code
|
188
206
|
};
|
189
207
|
|
190
|
-
|
208
|
+
_.hooks.run('before-sanity-check', env);
|
209
|
+
|
210
|
+
if (!env.code || !env.grammar) {
|
191
211
|
_.hooks.run('complete', env);
|
192
212
|
return;
|
193
213
|
}
|
@@ -261,6 +281,7 @@ var _ = _self.Prism = {
|
|
261
281
|
var pattern = patterns[j],
|
262
282
|
inside = pattern.inside,
|
263
283
|
lookbehind = !!pattern.lookbehind,
|
284
|
+
greedy = !!pattern.greedy,
|
264
285
|
lookbehindLength = 0,
|
265
286
|
alias = pattern.alias;
|
266
287
|
|
@@ -281,36 +302,76 @@ var _ = _self.Prism = {
|
|
281
302
|
|
282
303
|
pattern.lastIndex = 0;
|
283
304
|
|
284
|
-
var match = pattern.exec(str)
|
305
|
+
var match = pattern.exec(str),
|
306
|
+
delNum = 1;
|
307
|
+
|
308
|
+
// Greedy patterns can override/remove up to two previously matched tokens
|
309
|
+
if (!match && greedy && i != strarr.length - 1) {
|
310
|
+
// Reconstruct the original text using the next two tokens
|
311
|
+
var nextToken = strarr[i + 1].matchedStr || strarr[i + 1],
|
312
|
+
combStr = str + nextToken;
|
313
|
+
|
314
|
+
if (i < strarr.length - 2) {
|
315
|
+
combStr += strarr[i + 2].matchedStr || strarr[i + 2];
|
316
|
+
}
|
285
317
|
|
286
|
-
|
287
|
-
|
288
|
-
|
318
|
+
// Try the pattern again on the reconstructed text
|
319
|
+
pattern.lastIndex = 0;
|
320
|
+
match = pattern.exec(combStr);
|
321
|
+
if (!match) {
|
322
|
+
continue;
|
289
323
|
}
|
290
324
|
|
291
|
-
var from = match.index
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
325
|
+
var from = match.index + (lookbehind ? match[1].length : 0);
|
326
|
+
// To be a valid candidate, the new match has to start inside of str
|
327
|
+
if (from >= str.length) {
|
328
|
+
continue;
|
329
|
+
}
|
330
|
+
var to = match.index + match[0].length,
|
331
|
+
len = str.length + nextToken.length;
|
297
332
|
|
298
|
-
|
333
|
+
// Number of tokens to delete and replace with the new match
|
334
|
+
delNum = 3;
|
299
335
|
|
300
|
-
if (
|
301
|
-
|
336
|
+
if (to <= len) {
|
337
|
+
if (strarr[i + 1].greedy) {
|
338
|
+
continue;
|
339
|
+
}
|
340
|
+
delNum = 2;
|
341
|
+
combStr = combStr.slice(0, len);
|
302
342
|
}
|
343
|
+
str = combStr;
|
344
|
+
}
|
303
345
|
|
304
|
-
|
346
|
+
if (!match) {
|
347
|
+
continue;
|
348
|
+
}
|
349
|
+
|
350
|
+
if(lookbehind) {
|
351
|
+
lookbehindLength = match[1].length;
|
352
|
+
}
|
305
353
|
|
306
|
-
|
354
|
+
var from = match.index + lookbehindLength,
|
355
|
+
match = match[0].slice(lookbehindLength),
|
356
|
+
to = from + match.length,
|
357
|
+
before = str.slice(0, from),
|
358
|
+
after = str.slice(to);
|
307
359
|
|
308
|
-
|
309
|
-
args.push(after);
|
310
|
-
}
|
360
|
+
var args = [i, delNum];
|
311
361
|
|
312
|
-
|
362
|
+
if (before) {
|
363
|
+
args.push(before);
|
313
364
|
}
|
365
|
+
|
366
|
+
var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);
|
367
|
+
|
368
|
+
args.push(wrapped);
|
369
|
+
|
370
|
+
if (after) {
|
371
|
+
args.push(after);
|
372
|
+
}
|
373
|
+
|
374
|
+
Array.prototype.splice.apply(strarr, args);
|
314
375
|
}
|
315
376
|
}
|
316
377
|
}
|
@@ -343,10 +404,13 @@ var _ = _self.Prism = {
|
|
343
404
|
}
|
344
405
|
};
|
345
406
|
|
346
|
-
var Token = _.Token = function(type, content, alias) {
|
407
|
+
var Token = _.Token = function(type, content, alias, matchedStr, greedy) {
|
347
408
|
this.type = type;
|
348
409
|
this.content = content;
|
349
410
|
this.alias = alias;
|
411
|
+
// Copy of the full string this token was created from
|
412
|
+
this.matchedStr = matchedStr || null;
|
413
|
+
this.greedy = !!greedy;
|
350
414
|
};
|
351
415
|
|
352
416
|
Token.stringify = function(o, language, parent) {
|
@@ -412,10 +476,8 @@ if (!_self.document) {
|
|
412
476
|
return _self.Prism;
|
413
477
|
}
|
414
478
|
|
415
|
-
//
|
416
|
-
var script = document.getElementsByTagName(
|
417
|
-
|
418
|
-
script = script[script.length - 1];
|
479
|
+
//Get current script and highlight
|
480
|
+
var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
|
419
481
|
|
420
482
|
if (script) {
|
421
483
|
_.filename = script.src;
|
@@ -559,7 +621,10 @@ Prism.languages.clike = {
|
|
559
621
|
lookbehind: true
|
560
622
|
}
|
561
623
|
],
|
562
|
-
'string':
|
624
|
+
'string': {
|
625
|
+
pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
|
626
|
+
greedy: true
|
627
|
+
},
|
563
628
|
'class-name': {
|
564
629
|
pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
|
565
630
|
lookbehind: true,
|
@@ -590,13 +655,15 @@ Prism.languages.javascript = Prism.languages.extend('clike', {
|
|
590
655
|
Prism.languages.insertBefore('javascript', 'keyword', {
|
591
656
|
'regex': {
|
592
657
|
pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
|
593
|
-
lookbehind: true
|
658
|
+
lookbehind: true,
|
659
|
+
greedy: true
|
594
660
|
}
|
595
661
|
});
|
596
662
|
|
597
663
|
Prism.languages.insertBefore('javascript', 'class-name', {
|
598
664
|
'template-string': {
|
599
|
-
pattern: /`(
|
665
|
+
pattern: /`(?:\\\\|\\?[^\\])*?`/,
|
666
|
+
greedy: true,
|
600
667
|
inside: {
|
601
668
|
'interpolation': {
|
602
669
|
pattern: /\$\{[^}]+\}/,
|
@@ -639,13 +706,14 @@ Prism.languages.js = Prism.languages.javascript;
|
|
639
706
|
|
640
707
|
var Extensions = {
|
641
708
|
'js': 'javascript',
|
642
|
-
'html': 'markup',
|
643
|
-
'svg': 'markup',
|
644
|
-
'xml': 'markup',
|
645
709
|
'py': 'python',
|
646
710
|
'rb': 'ruby',
|
647
711
|
'ps1': 'powershell',
|
648
|
-
'psm1': 'powershell'
|
712
|
+
'psm1': 'powershell',
|
713
|
+
'sh': 'bash',
|
714
|
+
'bat': 'batch',
|
715
|
+
'h': 'c',
|
716
|
+
'tex': 'latex'
|
649
717
|
};
|
650
718
|
|
651
719
|
if(Array.prototype.forEach) { // Check to prevent error in IE8
|
@@ -703,6 +771,6 @@ Prism.languages.js = Prism.languages.javascript;
|
|
703
771
|
|
704
772
|
};
|
705
773
|
|
706
|
-
self.Prism.fileHighlight
|
774
|
+
document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
|
707
775
|
|
708
776
|
})();
|