1
1
/* PrismJS 1.23.0
2
- https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+coffeescript+crystal+d+dart+diff+django+elixir+erlang+go+groovy+java+json+julia+kotlin+latex+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+jsx+ruby+rust+scss+shell-session+sql+typescript+yaml */
2
+ https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+coffeescript+crystal+d+dart+diff+django+elixir+erlang+go+groovy+java+json+julia+kotlin+latex+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+r+ jsx+ruby+rust+scss+shell-session+sql+typescript+yaml */
3
3
/// <reference lib="WebWorker"/>
4
4
5
5
var _self = ( typeof window !== 'undefined' )
@@ -1231,7 +1231,7 @@ Prism.languages.markup = {
1231
1231
greedy : true ,
1232
1232
inside : {
1233
1233
'internal-subset' : {
1234
- pattern : / ( \[ ) [ \s \S ] + (? = \] > $ ) / ,
1234
+ pattern : / ( ^ [ ^ \[ ] * \[ ) [ \s \S ] + (? = \] > $ ) / ,
1235
1235
lookbehind : true ,
1236
1236
greedy : true ,
1237
1237
inside : null // see below
@@ -1369,7 +1369,7 @@ Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {
1369
1369
pattern : / = [ \s \S ] + / ,
1370
1370
inside : {
1371
1371
'value' : {
1372
- pattern : / ( = \s * ( [ " ' ] | (? ! [ " ' ] ) ) ) \S [ \s \S ] * (? = \2$ ) / ,
1372
+ pattern : / ( ^ = \s * ( [ " ' ] | (? ! [ " ' ] ) ) ) \S [ \s \S ] * (? = \2$ ) / ,
1373
1373
lookbehind : true ,
1374
1374
alias : [ lang , 'language-' + lang ] ,
1375
1375
inside : Prism . languages [ lang ]
@@ -1399,7 +1399,7 @@ Prism.languages.rss = Prism.languages.xml;
1399
1399
1400
1400
( function ( Prism ) {
1401
1401
1402
- var string = / ( " | ' ) (?: \\ (?: \r \n | [ \s \S ] ) | (? ! \1 ) [ ^ \\ \r \n ] ) * \1 / ;
1402
+ var string = / (?: " (?: \\ (?: \r \n | [ \s \S ] ) | [ ^ " \\ \r \n ] ) * " | ' (?: \\ (?: \r \n | [ \s \S ] ) | [ ^ ' \\ \r \n ] ) * ' ) / ;
1403
1403
1404
1404
Prism . languages . css = {
1405
1405
'comment' : / \/ \* [ \s \S ] * ?\* \/ / ,
@@ -1432,14 +1432,23 @@ Prism.languages.rss = Prism.languages.xml;
1432
1432
}
1433
1433
}
1434
1434
} ,
1435
- 'selector' : RegExp ( '[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + string . source + ')*(?=\\s*\\{)' ) ,
1435
+ 'selector' : {
1436
+ pattern : RegExp ( '(^|[{}\\s])[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + string . source + ')*(?=\\s*\\{)' ) ,
1437
+ lookbehind : true
1438
+ } ,
1436
1439
'string' : {
1437
1440
pattern : string ,
1438
1441
greedy : true
1439
1442
} ,
1440
- 'property' : / (? ! \s ) [ - _ a - z \xA0 - \uFFFF ] (?: (? ! \s ) [ - \w \xA0 - \uFFFF ] ) * (? = \s * : ) / i,
1443
+ 'property' : {
1444
+ pattern : / ( ^ | [ ^ - \w \xA0 - \uFFFF ] ) (? ! \s ) [ - _ a - z \xA0 - \uFFFF ] (?: (? ! \s ) [ - \w \xA0 - \uFFFF ] ) * (? = \s * : ) / i,
1445
+ lookbehind : true
1446
+ } ,
1441
1447
'important' : / ! i m p o r t a n t \b / i,
1442
- 'function' : / [ - a - z 0 - 9 ] + (? = \( ) / i,
1448
+ 'function' : {
1449
+ pattern : / ( ^ | [ ^ - a - z 0 - 9 ] ) [ - a - z 0 - 9 ] + (? = \( ) / i,
1450
+ lookbehind : true
1451
+ } ,
1443
1452
'punctuation' : / [ ( ) { } ; : , ] /
1444
1453
} ;
1445
1454
@@ -1479,7 +1488,7 @@ Prism.languages.clike = {
1479
1488
} ,
1480
1489
'keyword' : / \b (?: i f | e l s e | w h i l e | d o | f o r | r e t u r n | i n | i n s t a n c e o f | f u n c t i o n | n e w | t r y | t h r o w | c a t c h | f i n a l l y | n u l l | b r e a k | c o n t i n u e ) \b / ,
1481
1490
'boolean' : / \b (?: t r u e | f a l s e ) \b / ,
1482
- 'function' : / \w + (? = \( ) / ,
1491
+ 'function' : / \b \ w+ (? = \( ) / ,
1483
1492
'number' : / \b 0 x [ \d a - f ] + \b | (?: \b \d + (?: \. \d * ) ? | \B \. \d + ) (?: e [ + - ] ? \d + ) ? / i,
1484
1493
'operator' : / [ < > ] = ? | [ ! = ] = ? = ? | - - ? | \+ \+ ? | & & ? | \| \| ? | [ ? * / ~ ^ % ] / ,
1485
1494
'punctuation' : / [ { } [ \] ; ( ) , . : ] /
@@ -1523,8 +1532,8 @@ Prism.languages.insertBefore('javascript', 'keyword', {
1523
1532
alias : 'language-regex' ,
1524
1533
inside : Prism . languages . regex
1525
1534
} ,
1526
- 'regex-flags ' : / [ a - z ] + $ / ,
1527
- 'regex-delimiter ' : / ^ \/ | \/ $ /
1535
+ 'regex-delimiter ' : / ^ \/ | \/ $ / ,
1536
+ 'regex-flags ' : / ^ [ a - z ] + $ / ,
1528
1537
}
1529
1538
} ,
1530
1539
// This must be declared before keyword because we use "function" inside the look-forward
@@ -1539,7 +1548,8 @@ Prism.languages.insertBefore('javascript', 'keyword', {
1539
1548
inside : Prism . languages . javascript
1540
1549
} ,
1541
1550
{
1542
- pattern : / (? ! \s ) [ _ $ a - z A - Z \xA0 - \uFFFF ] (?: (? ! \s ) [ $ \w \xA0 - \uFFFF ] ) * (? = \s * = > ) / i,
1551
+ pattern : / ( ^ | [ ^ $ \w \xA0 - \uFFFF ] ) (? ! \s ) [ _ $ a - z A - Z \xA0 - \uFFFF ] (?: (? ! \s ) [ $ \w \xA0 - \uFFFF ] ) * (? = \s * = > ) / i,
1552
+ lookbehind : true ,
1543
1553
inside : Prism . languages . javascript
1544
1554
} ,
1545
1555
{
@@ -1837,7 +1847,7 @@ Prism.languages.c = Prism.languages.extend('clike', {
1837
1847
lookbehind : true
1838
1848
} ,
1839
1849
'keyword' : / \b (?: _ _ a t t r i b u t e _ _ | _ A l i g n a s | _ A l i g n o f | _ A t o m i c | _ B o o l | _ C o m p l e x | _ G e n e r i c | _ I m a g i n a r y | _ N o r e t u r n | _ S t a t i c _ a s s e r t | _ T h r e a d _ l o c a l | a s m | t y p e o f | i n l i n e | a u t o | b r e a k | c a s e | c h a r | c o n s t | c o n t i n u e | d e f a u l t | d o | d o u b l e | e l s e | e n u m | e x t e r n | f l o a t | f o r | g o t o | i f | i n t | l o n g | r e g i s t e r | r e t u r n | s h o r t | s i g n e d | s i z e o f | s t a t i c | s t r u c t | s w i t c h | t y p e d e f | u n i o n | u n s i g n e d | v o i d | v o l a t i l e | w h i l e ) \b / ,
1840
- 'function' : / [ a - z _ ] \w * (? = \s * \( ) / i,
1850
+ 'function' : / \b [ a - z _ ] \w * (? = \s * \( ) / i,
1841
1851
'number' : / (?: \b 0 x (?: [ \d a - f ] + (?: \. [ \d a - f ] * ) ? | \. [ \d a - f ] + ) (?: p [ + - ] ? \d + ) ? | (?: \b \d + (?: \. \d * ) ? | \B \. \d + ) (?: e [ + - ] ? \d + ) ? ) [ f u l ] { 0 , 4 } / i,
1842
1852
'operator' : / > > = ? | < < = ? | - > | ( [ - + & | : ] ) \1| [ ? : ~ ] | [ - + * / % & | ^ ! = < > ] = ? /
1843
1853
} ) ;
@@ -1846,7 +1856,7 @@ Prism.languages.insertBefore('c', 'string', {
1846
1856
'macro' : {
1847
1857
// allow for multiline macro definitions
1848
1858
// spaces after the # character compile fine with gcc
1849
- pattern : / ( ^ \s * ) # \s * [ a - z ] (?: [ ^ \r \n \\ / ] | \/ (? ! \* ) | \/ \* (?: [ ^ * ] | \* (? ! \/ ) ) * \* \/ | \\ (?: \r \n | [ \s \S ] ) ) * / im,
1859
+ pattern : / ( ^ [ \t ] * ) # \s * [ a - z ] (?: [ ^ \r \n \\ / ] | \/ (? ! \* ) | \/ \* (?: [ ^ * ] | \* (? ! \/ ) ) * \* \/ | \\ (?: \r \n | [ \s \S ] ) ) * / im,
1850
1860
lookbehind : true ,
1851
1861
greedy : true ,
1852
1862
alias : 'property' ,
@@ -1913,7 +1923,7 @@ delete Prism.languages.c['boolean'];
1913
1923
/ \b [ A - Z _ ] \w * (? = \s * : : \s * ~ \w + \s * \( ) / i,
1914
1924
// This also intends to capture the class name of method implementations but here the class has template
1915
1925
// parameters, so it can't be a namespace (until C++ adds generic namespaces).
1916
- / \w + (? = \s * < (?: [ ^ < > ] | < (?: [ ^ < > ] | < [ ^ < > ] * > ) * > ) * > \s * : : \s * \w + \s * \( ) /
1926
+ / \b \ w+ (? = \s * < (?: [ ^ < > ] | < (?: [ ^ < > ] | < [ ^ < > ] * > ) * > ) * > \s * : : \s * \w + \s * \( ) /
1917
1927
] ,
1918
1928
'keyword' : keyword ,
1919
1929
'number' : {
@@ -2732,7 +2742,7 @@ Prism.languages.elixir = {
2732
2742
alias : 'class-name'
2733
2743
} ,
2734
2744
// Look-ahead prevents bad highlighting of the :: operator
2735
- 'attr-name' : / \w + \? ? : (? ! : ) / ,
2745
+ 'attr-name' : / \b \ w+ \? ? : (? ! : ) / ,
2736
2746
'argument' : {
2737
2747
// Look-behind prevents bad highlighting of the && operator
2738
2748
pattern : / ( ^ | [ ^ & ] ) & \d + / ,
@@ -2796,7 +2806,7 @@ Prism.languages.erlang = {
2796
2806
'keyword' : / \b (?: f u n | w h e n | c a s e | o f | e n d | i f | r e c e i v e | a f t e r | t r y | c a t c h ) \b / ,
2797
2807
'number' : [
2798
2808
/ \$ \\ ? ./ ,
2799
- / \d + # [ a - z 0 - 9 ] + / i,
2809
+ / \b \ d+ # [ a - z 0 - 9 ] + / i,
2800
2810
/ (?: \b \d + (?: \. \d * ) ? | \B \. \d + ) (?: e [ + - ] ? \d + ) ? / i
2801
2811
] ,
2802
2812
'function' : / \b [ a - z ] [ \w @ ] * (? = \( ) / ,
@@ -3034,7 +3044,7 @@ Prism.languages.julia = {
3034
3044
// https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1
3035
3045
// https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1
3036
3046
// https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1
3037
- pattern : / " " " [ \s \S ] + ?" " " | \w * " (?: \\ .| [ ^ " \\ \r \n ] ) * " | ( ^ | [ ^ \w ' ] ) ' (?: \\ [ ^ \r \n ] [ ^ ' \r \n ] * | [ ^ \\ \r \n ] ) ' | ` (?: [ ^ \\ ` \r \n ] | \\ .) * ` / ,
3047
+ pattern : / " " " [ \s \S ] + ?" " " | (?: \b \w + ) ? " (?: \\ .| [ ^ " \\ \r \n ] ) * " | ( ^ | [ ^ \w ' ] ) ' (?: \\ [ ^ \r \n ] [ ^ ' \r \n ] * | [ ^ \\ \r \n ] ) ' | ` (?: [ ^ \\ ` \r \n ] | \\ .) * ` / ,
3038
3048
lookbehind : true ,
3039
3049
greedy : true
3040
3050
} ,
@@ -3058,7 +3068,7 @@ Prism.languages.julia = {
3058
3068
} ,
3059
3069
'function' : [
3060
3070
{
3061
- pattern : / (?: ` [ ^ \r \n ` ] + ` | \w + ) (? = \s * \( ) / ,
3071
+ pattern : / (?: ` [ ^ \r \n ` ] + ` | \b \ w+ ) (? = \s * \( ) / ,
3062
3072
greedy : true
3063
3073
} ,
3064
3074
{
@@ -3088,7 +3098,7 @@ Prism.languages.julia = {
3088
3098
} ) ;
3089
3099
Prism . languages . insertBefore ( 'kotlin' , 'function' , {
3090
3100
'label' : {
3091
- pattern : / \w + @ | @ \w + / ,
3101
+ pattern : / \b \ w+ @ | @ \w + \b / ,
3092
3102
alias : 'symbol'
3093
3103
}
3094
3104
} ) ;
@@ -3216,7 +3226,7 @@ Prism.languages.matlab = {
3216
3226
// FIXME We could handle imaginary numbers as a whole
3217
3227
'number' : / (?: \b \d + (?: \. \d * ) ? | \B \. \d + ) (?: [ e E ] [ + - ] ? \d + ) ? (?: [ i j ] ) ? | \b [ i j ] \b / ,
3218
3228
'keyword' : / \b (?: b r e a k | c a s e | c a t c h | c o n t i n u e | e l s e | e l s e i f | e n d | f o r | f u n c t i o n | i f | i n f | N a N | o t h e r w i s e | p a r f o r | p a u s e | p i | r e t u r n | s w i t c h | t r y | w h i l e ) \b / ,
3219
- 'function' : / (? ! \d ) \w + (? = \s * \( ) / ,
3229
+ 'function' : / \b (? ! \d ) \w + (? = \s * \( ) / ,
3220
3230
'operator' : / \. ? [ * ^ \/ \\ ' ] | [ + \- : @ ] | [ < > = ~ ] = ? | & & ? | \| \| ? / ,
3221
3231
'punctuation' : / \. { 3 } | [ . , ; \[ \] ( ) { } ! ] /
3222
3232
} ;
@@ -3943,7 +3953,7 @@ Prism.languages.python = {
3943
3953
lookbehind : true
3944
3954
} ,
3945
3955
'decorator' : {
3946
- pattern : / ( ^ \s * ) @ \w + (?: \. \w + ) * / im,
3956
+ pattern : / ( ^ [ \t ] * ) @ \w + (?: \. \w + ) * / im,
3947
3957
lookbehind : true ,
3948
3958
alias : [ 'annotation' , 'punctuation' ] ,
3949
3959
inside : {
@@ -3962,6 +3972,29 @@ Prism.languages.python['string-interpolation'].inside['interpolation'].inside.re
3962
3972
3963
3973
Prism . languages . py = Prism . languages . python ;
3964
3974
3975
+ Prism . languages . r = {
3976
+ 'comment' : / # .* / ,
3977
+ 'string' : {
3978
+ pattern : / ( [ ' " ] ) (?: \\ .| (? ! \1) [ ^ \\ \r \n ] ) * \1/ ,
3979
+ greedy : true
3980
+ } ,
3981
+ 'percent-operator' : {
3982
+ // Includes user-defined operators
3983
+ // and %%, %*%, %/%, %in%, %o%, %x%
3984
+ pattern : / % [ ^ % \s ] * % / ,
3985
+ alias : 'operator'
3986
+ } ,
3987
+ 'boolean' : / \b (?: T R U E | F A L S E ) \b / ,
3988
+ 'ellipsis' : / \. \. (?: \. | \d + ) / ,
3989
+ 'number' : [
3990
+ / \b (?: N a N | I n f ) \b / ,
3991
+ / (?: \b 0 x [ \d A - F a - f ] + (?: \. \d * ) ? | \b \d + (?: \. \d * ) ? | \B \. \d + ) (?: [ E e P p ] [ + - ] ? \d + ) ? [ i L ] ? /
3992
+ ] ,
3993
+ 'keyword' : / \b (?: i f | e l s e | r e p e a t | w h i l e | f u n c t i o n | f o r | i n | n e x t | b r e a k | N U L L | N A | N A _ i n t e g e r _ | N A _ r e a l _ | N A _ c o m p l e x _ | N A _ c h a r a c t e r _ ) \b / ,
3994
+ 'operator' : / - > ? > ? | < (?: = | < ? - ) ? | [ > = ! ] = ? | : : ? | & & ? | \| \| ? | [ + * \/ ^ $ @ ~ ] / ,
3995
+ 'punctuation' : / [ ( ) { } \[ \] , ; ] /
3996
+ } ;
3997
+
3965
3998
( function ( Prism ) {
3966
3999
3967
4000
var javascript = Prism . util . clone ( Prism . languages . javascript ) ;
@@ -4213,7 +4246,7 @@ Prism.languages.py = Prism.languages.python;
4213
4246
// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html
4214
4247
'function' : / \b [ a - z _ ] \w * (? = \s * (?: : : \s * < | \( ) ) / ,
4215
4248
'macro' : {
4216
- pattern : / \w + ! / ,
4249
+ pattern : / \b \ w+ ! / ,
4217
4250
alias : 'property'
4218
4251
} ,
4219
4252
'constant' : / \b [ A - Z _ ] [ A - Z _ \d ] + \b / ,
@@ -4283,7 +4316,7 @@ Prism.languages.insertBefore('scss', 'atrule', {
4283
4316
'keyword' : [
4284
4317
/ @ (?: i f | e l s e (?: i f ) ? | f o r w a r d | f o r | e a c h | w h i l e | i m p o r t | u s e | e x t e n d | d e b u g | w a r n | m i x i n | i n c l u d e | f u n c t i o n | r e t u r n | c o n t e n t ) \b / i,
4285
4318
{
4286
- pattern : / ( + ) (?: f r o m | t h r o u g h ) (? = ) / ,
4319
+ pattern : / ( ) (?: f r o m | t h r o u g h ) (? = ) / ,
4287
4320
lookbehind : true
4288
4321
}
4289
4322
]
@@ -4546,3 +4579,4 @@ Prism.languages.sql = {
4546
4579
Prism . languages . yml = Prism . languages . yaml ;
4547
4580
4548
4581
} ( Prism ) ) ;
4582
+
0 commit comments