2019-01-28 03:11:02 +03:00
/ * P r i s m J S 1 . 1 5 . 0
2019-03-31 20:18:08 +03:00
https : //prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+markup-templating+docker+elixir+elm+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+php+json+kotlin+latex+markdown+makefile+django+typescript+objectivec+ocaml+perl+php-extras+sql+processing+scss+python+r+jsx+reason+textile+rust+sass+stylus+scheme+twig+swift+yaml+haml+toml+pug+tsx+visual-basic+vim+wasm&plugins=line-highlight+line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : { } , Prism = function ( g ) { var c = /\blang(?:uage)?-([\w-]+)\b/i , a = 0 , C = { manual : g . Prism && g . Prism . manual , disableWorkerMessageHandler : g . Prism && g . Prism . disableWorkerMessageHandler , util : { encode : function ( e ) { return e instanceof M ? new M ( e . type , C . util . encode ( e . content ) , e . alias ) : Array . isArray ( e ) ? e . map ( C . util . encode ) : e . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( /\u00a0/g , " " ) } , type : function ( e ) { return Object . prototype . toString . call ( e ) . slice ( 8 , - 1 ) } , objId : function ( e ) { return e . _ _id || Object . defineProperty ( e , "__id" , { value : ++ a } ) , e . _ _id } , clone : function t ( e , n ) { var r , a , i = C . util . type ( e ) ; switch ( n = n || { } , i ) { case "Object" : if ( a = C . util . objId ( e ) , n [ a ] ) return n [ a ] ; for ( var l in r = { } , n [ a ] = r , e ) e . hasOwnProperty ( l ) && ( r [ l ] = t ( e [ l ] , n ) ) ; return r ; case "Array" : return a = C . util . objId ( e ) , n [ a ] ? n [ a ] : ( r = [ ] , n [ a ] = r , e . forEach ( function ( e , a ) { r [ a ] = t ( e , n ) } ) , r ) ; default : return e } } } , languages : { extend : function ( e , a ) { var t = C . util . clone ( C . languages [ e ] ) ; for ( var n in a ) t [ n ] = a [ n ] ; return t } , insertBefore : function ( t , e , a , n ) { var r = ( n = n || C . languages ) [ t ] , i = { } ; for ( var l in r ) if ( r . hasOwnProperty ( l ) ) { if ( l == e ) for ( var o in a ) a . hasOwnProperty ( o ) && ( i [ o ] = a [ o ] ) ; a . hasOwnProperty ( l ) || ( i [ l ] = r [ l ] ) } var s = n [ t ] ; return n [ t ] = i , C . languages . DFS ( C . languages , function ( e , a ) { a === s && e != t && ( this [ e ] = i ) } ) , i } , DFS : function e ( a , t , n , r ) { r = r || { } ; var i = C . util . objId ; for ( var l in a ) if ( a . hasOwnProperty ( l ) ) { t . call ( a , l , a [ l ] , n || l ) ; var o = a [ l ] , s = C . util . type ( o ) ; "Object" !== s || r [ i ( o ) ] ? "Array" !== s || r [ i ( o ) ] || ( r [ i ( o ) ] = ! 0 , e ( o , t , l , r ) ) : ( r [ i ( o ) ] = ! 0 , e ( o , t , null , r ) ) } } } , plugins : { } , highlightAll : function ( e , a ) { C . highlightAllUnder ( document , e , a ) } , highlightAllUnder : function ( e , a , t ) { var n = { callback : t , selector : 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' } ; C . hooks . run ( "before-highlightall" , n ) ; for ( var r , i = n . elements || e . querySelectorAll ( n . selector ) , l = 0 ; r = i [ l ++ ] ; ) C . highlightElement ( r , ! 0 === a , n . callback ) } , highlightElement : function ( e , a , t ) { for ( var n , r , i = e ; i && ! c . test ( i . className ) ; ) i = i . parentNode ; i && ( n = ( i . className . match ( c ) || [ , "" ] ) [ 1 ] . toLowerCase ( ) , r = C . languages [ n ] ) , e . className = e . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + n , e . parentNode && ( i = e . parentNode , /pre/i . test ( i . nodeName ) && ( i . className = i . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + n ) ) ; var l = { element : e , language : n , grammar : r , code : e . textContent } , o = function ( e ) { l . highlightedCode = e , C . hooks . run ( "before-insert" , l ) , l . element . innerHTML = l . highlightedCode , C . hooks . run ( "after-highlight" , l ) , C . hooks . run ( "complete" , l ) , t && t . call ( l . element ) } ; if ( C . hooks . run ( "before-sanity-check" , l ) , l . code ) if ( C . hooks . run ( "before-highlight" , l ) , l . grammar ) if ( a && g . Worker ) { var s = new Worker ( C . filename ) ; s . onmessage = function ( e ) { o ( e . data ) } , s . postMessage ( JSON . stringify ( { language : l . language , code : l . code , immediateClose : ! 0 } ) ) } else o ( C . highlight ( l . code , l . grammar , l . language ) ) ; else o ( C . util . encode ( l . code ) ) ; else C . hooks . run ( "complete" , l ) } , highlight : function ( e , a , t ) { var n = { code : e , grammar : a , language : t } ; return C . hooks . run ( "before-tokenize" , n ) , n . tokens = C . tokenize ( n . code , n . grammar ) , C . hooks . run ( "after-tokenize" , n ) , M . stringify ( C . util . encode ( n . tokens ) , n . language ) } , matchGrammar : function ( e , a , t , n , r , i , l ) { for ( var o in t ) if ( t . hasOwnProperty ( o ) && t [ o ] ) { if ( o == l ) return ; var s = t [ o ] ; s = "Array" === C . util . type ( s ) ? s : [ s ] ; for ( var g = 0 ; g < s . length ; ++ g ) { var c = s [ g ] , u = c . inside , h = ! ! c . lookbehind , f = ! ! c . greedy , d = 0 , m = c . alias ; if ( f && ! c . pattern . global ) { var p = c . pattern . toString ( ) . match ( /[imuy]*$/ ) [ 0 ] ; c . pattern = RegExp ( c . pattern . source , p + "g" ) } c = c . pattern || c ; for ( var y = n , v = r ; y < a . length ; v += a [ y ] . length , ++ y ) { var k = a [ y ] ; if ( a . length > e . length ) return ; if ( ! ( k instanceof M ) ) { if ( f && y != a . length - 1 ) { if ( c . lastIndex = v , ! ( x = c . exec ( e ) ) ) break ; for ( var b = x . index + ( h ? x [ 1 ] . length : 0 ) , w = x . index + x [ 0 ] . length , A = y , P = v , O = a . length ; A < O && ( P < w || ! a [ A ] . type && ! a [ A - 1 ] . greedy ) ; ++ A ) ( P += a [ A ] . length ) <= b && ( ++ y , v = P ) ; if ( a [ y ] instanceof M ) continue ; N = A - y , k = e . slice ( v , P ) , x . index -= v } else { c . lastIndex = 0 ; var x = c . exec ( k ) , N = 1 } if ( x ) { h && ( d = x [ 1 ] ? x [ 1 ] . length : 0 ) ; w = ( b = x . index + d ) + ( x = x [ 0 ] . slice ( d ) ) . length ; var j = k . slice ( 0 , b ) , S = k . slice ( w ) , E = [ y , N ] ; j && ( ++ y , v += j . length , E . push ( j ) ) ; var _ =
Prism . languages . markup = { comment : /<!--[\s\S]*?-->/ , prolog : /<\?[\s\S]+?\?>/ , doctype : /<!DOCTYPE[\s\S]+?>/i , cdata : /<!\[CDATA\[[\s\S]*?]]>/i , tag : { pattern : /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i , greedy : ! 0 , inside : { tag : { pattern : /^<\/?[^\s>\/]+/i , inside : { punctuation : /^<\/?/ , namespace : /^[^\s>\/:]+:/ } } , "attr-value" : { pattern : /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i , inside : { punctuation : [ /^=/ , { pattern : /^(\s*)["']|["']$/ , lookbehind : ! 0 } ] } } , punctuation : /\/?>/ , "attr-name" : { pattern : /[^\s>\/]+/ , inside : { namespace : /^[^\s>\/:]+:/ } } } } , entity : /&#?[\da-z]{1,8};/i } , Prism . languages . markup . tag . inside [ "attr-value" ] . inside . entity = Prism . languages . markup . entity , Prism . hooks . add ( "wrap" , function ( a ) { "entity" === a . type && ( a . attributes . title = a . content . replace ( /&/ , "&" ) ) } ) , Object . defineProperty ( Prism . languages . markup . tag , "addInlined" , { value : function ( a , e ) { var s = { } ; s [ "language-" + e ] = { pattern : /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i , lookbehind : ! 0 , inside : Prism . languages [ e ] } , s . cdata = /^<!\[CDATA\[|\]\]>$/i ; var n = { "included-cdata" : { pattern : /<!\[CDATA\[[\s\S]*?\]\]>/i , inside : s } } ; n [ "language-" + e ] = { pattern : /[\s\S]+/ , inside : Prism . languages [ e ] } ; var i = { } ; i [ a ] = { pattern : RegExp ( "(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)" . replace ( /__/g , a ) , "i" ) , lookbehind : ! 0 , greedy : ! 0 , inside : n } , Prism . languages . insertBefore ( "markup" , "cdata" , i ) } } ) , Prism . languages . xml = Prism . languages . extend ( "markup" , { } ) , Prism . languages . html = Prism . languages . markup , Prism . languages . mathml = Prism . languages . markup , Prism . languages . svg = Prism . languages . markup ;
! function ( s ) { var e = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ ; s . languages . css = { comment : /\/\*[\s\S]*?\*\// , atrule : { pattern : /@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i , inside : { rule : /@[\w-]+/ } } , url : RegExp ( "url\\((?:" + e . source + "|.*?)\\)" , "i" ) , selector : RegExp ( "[^{}\\s](?:[^{};\"']|" + e . source + ")*?(?=\\s*\\{)" ) , string : { pattern : e , greedy : ! 0 } , property : /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i , important : /!important\b/i , function : /[-a-z0-9]+(?=\()/i , punctuation : /[(){};:,]/ } , s . languages . css . atrule . inside . rest = s . languages . css ; var a = s . languages . markup ; a && ( a . tag . addInlined ( "style" , "css" ) , s . languages . insertBefore ( "inside" , "attr-value" , { "style-attr" : { pattern : /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i , inside : { "attr-name" : { pattern : /^\s*style/i , inside : a . tag . inside } , punctuation : /^\s*=\s*['"]|['"]\s*$/ , "attr-value" : { pattern : /.+/i , inside : s . languages . css } } , alias : "language-css" } } , a . tag ) ) } ( Prism ) ;
Prism . languages . clike = { comment : [ { pattern : /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/ , lookbehind : ! 0 } , { pattern : /(^|[^\\:])\/\/.*/ , lookbehind : ! 0 , greedy : ! 0 } ] , string : { pattern : /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , "class-name" : { pattern : /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i , lookbehind : ! 0 , inside : { punctuation : /[.\\]/ } } , keyword : /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ , boolean : /\b(?:true|false)\b/ , function : /\w+(?=\()/ , number : /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i , operator : /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/ , punctuation : /[{}[\];(),.:]/ } ;
Prism . languages . javascript = Prism . languages . extend ( "clike" , { "class-name" : [ Prism . languages . clike [ "class-name" ] , { pattern : /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/ , lookbehind : ! 0 } ] , keyword : [ { pattern : /((?:^|})\s*)(?:catch|finally)\b/ , lookbehind : ! 0 } , { pattern : /(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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|undefined|var|void|while|with|yield)\b/ , lookbehind : ! 0 } ] , number : /\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/ , function : /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ , operator : /-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ } ) , Prism . languages . javascript [ "class-name" ] [ 0 ] . pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/ , Prism . languages . insertBefore ( "javascript" , "keyword" , { regex : { pattern : /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/ , lookbehind : ! 0 , greedy : ! 0 } , "function-variable" : { pattern : /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/ , alias : "function" } , parameter : [ { pattern : /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i , inside : Prism . languages . javascript } , { pattern : /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /((?:\b|\s|^)(?!(?: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|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } ] , constant : /\b[A-Z](?:[A-Z_]|\dx?)*\b/ } ) , Prism . languages . insertBefore ( "javascript" , "string" , { "template-string" : { pattern : /`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/ , greedy : ! 0 , inside : { interpolation : { pattern : /\${[^}]+}/ , inside : { "interpolation-punctuation" : { pattern : /^\${|}$/ , alias : "punctuation" } , rest : Prism . languages . javascript } } , string : /[\s\S]+/ } } } ) , Prism . languages . markup && Prism . languages . markup . tag . addInlined ( "script" , "javascript" ) , Prism . languages . js = Prism . languages . javascript ;
2019-01-28 03:11:02 +03:00
Prism . languages . actionscript = Prism . languages . extend ( "javascript" , { keyword : /\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ , operator : /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ } ) , Prism . languages . actionscript [ "class-name" ] . alias = "function" , Prism . languages . markup && Prism . languages . insertBefore ( "actionscript" , "string" , { xml : { pattern : /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/ , lookbehind : ! 0 , inside : { rest : Prism . languages . markup } } } ) ;
2019-03-31 20:18:08 +03:00
Prism . languages . apacheconf = { comment : /#.*/ , "directive-inline" : { pattern : / ( ^ \ s * ) \ b ( ? : A c c e p t F i l t e r | A c c e p t P a t h I n f o | A c c e s s F i l e N a m e | A c t i o n | A d d ( ? : A l t | A l t B y E n c o d i n g | A l t B y T y p e | C h a r s e t | D e f a u l t C h a r s e t | D e s c r i p t i o n | E n c o d i n g | H a n d l e r | I c o n | I c o n B y E n c o d i n g | I c o n B y T y p e | I n p u t F i l t e r | L a n g u a g e | M o d u l e I n f o | O u t p u t F i l t e r | O u t p u t F i l t e r B y T y p e | T y p e ) | A l i a s | A l i a s M a t c h | A l l o w ( ? : C O N N E C T | E n c o d e d S l a s h e s | M e t h o d s | O v e r r i d e | O v e r r i d e L i s t ) ? | A n o n y m o u s ( ? : _ L o g E m a i l | _ M u s t G i v e E m a i l | _ N o U s e r I D | _ V e r i f y E m a i l ) ? | A s y n c R e q u e s t W o r k e r F a c t o r | A u t h ( ? : B a s i c A u t h o r i t a t i v e | B a s i c F a k e | B a s i c P r o v i d e r | B a s i c U s e D i g e s t A l g o r i t h m | D B D U s e r P W Q u e r y | D B D U s e r R e a l m Q u e r y | D B M G r o u p F i l e | D B M T y p e | D B M U s e r F i l e | D i g e s t ( ? : A l g o r i t h m | D o m a i n | N o n c e L i f e t i m e | P r o v i d e r | Q o p | S h m e m S i z e ) | F o r m ( ? : A u t h o r i t a t i v e | B o d y | D i s a b l e N o S t o r e | F a k e B a s i c A u t h | L o c a t i o n | L o g i n R e q u i r e d L o c a t i o n | L o g i n S u c c e s s L o c a t i o n | L o g o u t L o c a t i o n | M e t h o d | M i m e t y p e | P a s s w o r d | P r o v i d e r | S i t e P a s s p h r a s e | S i z e | U s e r n a m e ) | G r o u p F i l e | L D A P ( ? : A u t h o r i z e P r e f i x | B i n d A u t h o r i t a t i v e | B i n d D N | B i n d P a s s w o r d | C h a r s e t C o n f i g | C o m p a r e A s U s e r | C o m p a r e D N O n S e r v e r | D e r e f e r e n c e A l i a s e s | G r o u p A t t r i b u t e | G r o u p A t t r i b u t e I s D N | I n i t i a l B i n d A s U s e r | I n i t i a l B i n d P a t t e r n | M a x S u b G r o u p D e p t h | R e m o t e U s e r A t t r i b u t e | R e m o t e U s e r I s D N | S e a r c h A s U s e r | S u b G r o u p A t t r i b u t e | S u b G r o u p C l a s s | U r l ) | M e r g i n g | N a m e | T y p e | U s e r F i l e | n C a c h e ( ? : C o n t e x t | E n a b l e | P r o v i d e F o r | S O C a c h e | T i m e o u t ) | n z F c g i C h e c k A u t h n P r o v i d e r | n z F c g i D e f i n e P r o v i d e r | z D B D L o g i n T o R e f e r e r | z D B D Q u e r y | z D B D R e d i r e c t Q u e r y | z D B M T y p e | z S e n d F o r b i d d e n O n F a i l u r e ) | B a l a n c e r G r o w t h | B a l a n c e r I n h e r i t | B a l a n c e r M e m b e r | B a l a n c e r P e r s i s t | B r o w s e r M a t c h | B r o w s e r M a t c h N o C a s e | B u f f e r S i z e | B u f f e r e d L o g s | C G I D S c r i p t T i m e o u t | C G I M a p E x t e n s i o n | C a c h e ( ? : D e f a u l t E x p i r e | D e t a i l H e a d e r | D i r L e n g t h | D i r L e v e l s | D i s a b l e | E n a b l e | F i l e | H e a d e r | I g n o r e C a c h e C o n t r o l | I g n o r e H e a d e r s | I g n o r e N o L a s t M o d | I g n o r e Q u e r y S t r i n g | I g n o r e U R L S e s s i o n I d e n t i f i e r s | K e y B a s e U R L | L a s t M o d i f i e d F a c t o r | L o c k | L o c k M a x A g e | L o c k P a t h | M a x E x p i r e | M a x F i l e S i z e | M i n E x p i r e | M i n F i l e S i z e | N e g o t i a t e d D o c s | Q u i c k H a n d l e r | R e a d S i z e | R e a d T i m e | R o o t | S o c a c h e ( ? : M a x S i z e | M a x T i m e | M i n T i m e | R e a d S i z e | R e a d T i m e ) ? | S t a l e O n E r r o r | S t o r e E x p i r e d | S t o r e N o S t o r e | S t o r e P r i v a t e ) | C h a r s e t D e f a u l t | C h a r s e t O p t i o n s | C h a r s e t S o u r c e E n c | C h e c k C a s e O n l y | C h e c k S p e l l i n g | C h r o o t D i r | C o n t e n t D i g e s t | C o o k i e D o m a i n | C o o k i e E x p i r e s | C o o k i e N a m e | C o o k i e S t y l e | C o o k i e T r a c k i n g | C o r e D u m p D i r e c t o r y | C u s t o m L o g | D B D E x p t i m e | D B D I n i t S Q L | D B D K e e p | D B D M a x | D B D M i n | D B D P a r a m s | D B D P e r s i s t | D B D P r e p a r e S Q L | D B D r i v e r | D T r a c e P r i v i l e g e s | D a v | D a v D e p t h I n f i n i t y | D a v G e n e r i c L o c k D B | D a v L o c k D B | D a v M i n T i m e o u t | D e f a u l t I c o n | D e f a u l t L a n g u a g e | D e f a u l t R u n t i m e D i r | D e f a u l t T y p e | D e f i n e | D e f l a t e ( ? : B u f f e r S i z e | C o m p r e s s i o n L e v e l | F i l t e r N o t e | I n f l a t e L i m i t R e q u e s t B o d y | I n f l a t e R a t i o ( ? : B u r s t | L i m i t ) | M e m L e v e l | W i n d o w S i z e ) | D e n y | D i r e c t o r y C h e c k H a n d l e r | D i r e c t o r y I n d e x | D i r e c t o r y I n d e x R e d i r e c t | D i r e c t o r y S l a s h | D o c u m e n t R o o t | D u m p I O I n p u t | D u m p I O O u t p u t | E n a b l e E x c e p t i o n H o o k | E n a b l e M M A P | E n a b l e S e n d f i l e | E r r o r | E r r o r D o c u m e n t | E r r o r L o g | E r r o r L o g F o r m a t | E x a m p l e | E x p i r e s A c t i v e | E x p i r e s B y T y p e | E x p i r e s D e f a u l t | E x t F i l t e r D e f i n e | E x t F i l t e r O p t i o n s | E x t e n d e d S t a t u s | F a l l b a c k R e s o u r c e | F i l e E T a g | F i l t e r C h a i n | F i l t e r D e c l a r e | F i l t e r P r o t o c o l | F i l t e r P r o v i d e r | F i l t e r T r a c e | F o r c e L a n g u a g e P r i o r i t y | F o r c e T y p e | F o r e n s i c L o g | G p r o f D i r | G r a c e f u l S h u t d o w n T i m e o u t | G r o u p | H e a d e r | H e a d e r N a m e | H e a r t b e a t ( ? : A d d r e s s | L i s t e n | M a x S e r v e r s | S t o r a g e ) | H o s t n a m e L o o k u p s | I S A P I ( ? : A p p e n d L o g T o E r r o r s | A p p e n d L o g T o Q u e r y | C a c h e F i l e | F a k e A s y n c | L o g N o t S u p p o r t e d | R e a d A h e a d B u f f e r ) | I d e n t i t y C h e c k | I d e n t i t y C h e c k T i m e o u t | I m a p B a s e | I m a p D e f a u l t | I m a p M e n u | I n c l u d e | I n c l u d e O p t i o n a l | I n d e x ( ? : H e a d I n s e r t | I g n o r e | I g n o r e R e s e t | O p t i o n s | O r d e r D e f a u l t | S t y l e S h e e t ) | I n p u t S e d | K e e p A l i v e | K e e p A l i v e T i m e o u t | K e p t B o d y S i z e | L D A P ( ? : C a c h e E n t r i e s | C a c h e T T L | C o n n e c t i o n P o o l T T L | C o n n e c t i o n T i m e o u t | L i b r a r y D e b u g | O p C a c h e E n t r i e s | O p C a c h e T T L | R e f e r r a l H o p L i m i t | R e f e r r a l s | R e t r i e s | R e t r y D e l a y | S h a r e d C a c h e F i l e | S h a r e d C a c h e S i z e | T i m e o u t | T r u s t e d C l i e n t C e r t | T r u s t e d G l o b a l C e r t | T r u s t e d M o d e | V e r i f y S e r v e r C e r t ) | L a n g u a g e P r i o r i t y | L i m i t ( ? : I n t e r n a l R e c u r s i o n | R e q u e s t ( ? : B o d y | F i e l d S i z e | F i e l d s | L i n e ) | X M L R e q u e s t B o d y ) | L i s t e n | L i s t e n B a c k L o g | L o a d F i l e | L o a d M o d u l e | L o g F o r m a t | L o g L e v e l | L o g M e s s a g e | L u a A u t h z P r o v i d e r | L u a C o d e C a c h e | L u a ( ? : H o o k ( ? : A c c e s s C h e c k e r | A u t h C h e c k e r | C h e c k U s e r I D | F i x u p s | I n s e r t F i l t e r | L o g | M a p T o S t o r a g e | T r a n s l a t e N a m e | T y p e C h e c k e r ) | I n h e r i t | I n p u t F i l t e r | M a p H a n d l e r | O u t p u t F i l t e r | P a c k a g e C P a t h | P a c k a g e P a t h | Q u i c k H a n d l e r | R o o t | S c o p e ) | M M a p F i l e | M a x ( ? : C o n n e c t i o n s P e r C h i l d | K e e p
Prism . languages . applescript = { comment : [ /\(\*(?:\(\*[\s\S]*?\*\)|[\s\S])*?\*\)/ , /--.+/ , /#.+/ ] , string : /"(?:\\.|[^"\\\r\n])*"/ , number : /(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i , operator : [ /[&=≠≤≥*+\-\/÷^]|[<>]=?/ , /\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/ ] , keyword : /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ , class : { pattern : /\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ , alias : "builtin" } , punctuation : /[{}():,¬«»《》]/ } ;
Prism . languages . c = Prism . languages . extend ( "clike" , { "class-name" : { pattern : /(\b(?:enum|struct)\s+)\w+/ , lookbehind : ! 0 } , keyword : /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ , operator : />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/ , number : /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i } ) , Prism . languages . insertBefore ( "c" , "string" , { macro : { pattern : /(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im , lookbehind : ! 0 , alias : "property" , inside : { string : { pattern : /(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/ , lookbehind : ! 0 } , directive : { pattern : /(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/ , lookbehind : ! 0 , alias : "keyword" } } } , constant : /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ } ) , delete Prism . languages . c . boolean ;
Prism . languages . csharp = Prism . languages . extend ( "clike" , { keyword : /\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\b/ , string : [ { pattern : /@("|')(?:\1\1|\\[\s\S]|(?!\1)[^\\])*\1/ , greedy : ! 0 } , { pattern : /("|')(?:\\.|(?!\1)[^\\\r\n])*?\1/ , greedy : ! 0 } ] , "class-name" : [ { pattern : /\b[A-Z]\w*(?:\.\w+)*\b(?=\s+\w+)/ , inside : { punctuation : /\./ } } , { pattern : /(\[)[A-Z]\w*(?:\.\w+)*\b/ , lookbehind : ! 0 , inside : { punctuation : /\./ } } , { pattern : /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/ , lookbehind : ! 0 , inside : { punctuation : /\./ } } , { pattern : /((?:\b(?:class|interface|new)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/ , lookbehind : ! 0 , inside : { punctuation : /\./ } } ] , number : /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)f?/i , operator : />>=?|<<=?|[-=]>|([-+&|?])\1|~|[-+*/%&|^!=<>]=?/ , punctuation : /\?\.?|::|[{}[\];(),.:]/ } ) , Prism . languages . insertBefore ( "csharp" , "class-name" , { "generic-method" : { pattern : /\w+\s*<[^>\r\n]+?>\s*(?=\()/ , inside : { function : /^\w+/ , "class-name" : { pattern : /\b[A-Z]\w*(?:\.\w+)*\b/ , inside : { punctuation : /\./ } } , keyword : Prism . languages . csharp . keyword , punctuation : /[<>(),.:]/ } } , preprocessor : { pattern : /(^\s*)#.*/m , lookbehind : ! 0 , alias : "property" , inside : { directive : { pattern : /(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ , lookbehind : ! 0 , alias : "keyword" } } } } ) , Prism . languages . dotnet = Prism . languages . csharp ;
! function ( e ) { var a = { variable : [ { pattern : /\$?\(\([\s\S]+?\)\)/ , inside : { variable : [ { pattern : /(^\$\(\([\s\S]+)\)\)/ , lookbehind : ! 0 } , /^\$\(\(/ ] , number : /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ , operator : /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ , punctuation : /\(\(?|\)\)?|,|;/ } } , { pattern : /\$\([^)]+\)|`[^`]+`/ , greedy : ! 0 , inside : { variable : /^\$\(|^`|\)$|`$/ } } , /\$(?:[\w#?*!@]+|\{[^}]+\})/i ] } ; e . languages . bash = { shebang : { pattern : /^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/ , alias : "important" } , comment : { pattern : /(^|[^"{\\])#.*/ , lookbehind : ! 0 } , string : [ { pattern : /((?:^|[^<])<<\s*)["']?(\w+?)["']?\s*\r?\n(?:[\s\S])*?\r?\n\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : a } , { pattern : /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/ , greedy : ! 0 , inside : a } ] , variable : a . variable , function : { pattern : /(^|[\s;|&])(?:add|alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zip|zypper)(?=$|[\s;|&])/ , lookbehind : ! 0 } , keyword : { pattern : /(^|[\s;|&])(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\s;|&])/ , lookbehind : ! 0 } , boolean : { pattern : /(^|[\s;|&])(?:true|false)(?=$|[\s;|&])/ , lookbehind : ! 0 } , operator : /&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/ , punctuation : /\$?\(\(?|\)\)?|\.\.|[{}[\];]/ } ; var t = a . variable [ 1 ] . inside ; t . string = e . languages . bash . string , t . function = e . languages . bash . function , t . keyword = e . languages . bash . keyword , t . boolean = e . languages . bash . boolean , t . operator = e . languages . bash . operator , t . punctuation = e . languages . bash . punctuation , e . languages . shell = e . languages . bash } ( Prism ) ;
Prism . languages . cpp = Prism . languages . extend ( "c" , { "class-name" : { pattern : /(\b(?:class|enum|struct)\s+)\w+/ , lookbehind : ! 0 } , 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|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|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/ , boolean : /\b(?:true|false)\b/ , operator : />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ } ) , Prism . languages . insertBefore ( "cpp" , "string" , { "raw-string" : { pattern : /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/ , alias : "string" , greedy : ! 0 } } ) ;
2019-01-28 03:11:02 +03:00
! function ( e ) { var t = /#(?!\{).+/ , n = { pattern : /#\{[^}]+\}/ , alias : "variable" } ; e . languages . coffeescript = e . languages . extend ( "javascript" , { comment : t , string : [ { pattern : /'(?:\\[\s\S]|[^\\'])*'/ , greedy : ! 0 } , { pattern : /"(?:\\[\s\S]|[^\\"])*"/ , greedy : ! 0 , inside : { interpolation : n } } ] , 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/ , "class-member" : { pattern : /@(?!\d)\w+/ , alias : "variable" } } ) , e . languages . insertBefore ( "coffeescript" , "comment" , { "multiline-comment" : { pattern : /###[\s\S]+?###/ , alias : "comment" } , "block-regex" : { pattern : /\/{3}[\s\S]*?\/{3}/ , alias : "regex" , inside : { comment : t , interpolation : n } } } ) , e . languages . insertBefore ( "coffeescript" , "string" , { "inline-javascript" : { pattern : /`(?:\\[\s\S]|[^\\`])*`/ , inside : { delimiter : { pattern : /^`|`$/ , alias : "punctuation" } , rest : e . languages . javascript } } , "multiline-string" : [ { pattern : /'''[\s\S]*?'''/ , greedy : ! 0 , alias : "string" } , { pattern : /"""[\s\S]*?"""/ , greedy : ! 0 , alias : "string" , inside : { interpolation : n } } ] } ) , e . languages . insertBefore ( "coffeescript" , "keyword" , { property : /(?!\d)\w+(?=\s*:(?!:))/ } ) , delete e . languages . coffeescript [ "template-string" ] , e . languages . coffee = e . languages . coffeescript } ( Prism ) ;
2019-03-31 20:18:08 +03:00
! function ( e ) { e . languages . ruby = e . languages . extend ( "clike" , { comment : [ /#.*/ , { pattern : /^=begin\s[\s\S]*?^=end/m , greedy : ! 0 } ] , keyword : /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ } ) ; var n = { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "tag" } , rest : e . languages . ruby } } ; delete e . languages . ruby . function , e . languages . insertBefore ( "ruby" , "keyword" , { regex : [ { pattern : /%r([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/ , lookbehind : ! 0 , greedy : ! 0 } ] , variable : /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/ , symbol : { pattern : /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/ , lookbehind : ! 0 } , "method-definition" : { pattern : /(\bdef\s+)[\w.]+/ , lookbehind : ! 0 , inside : { function : /\w+$/ , rest : e . languages . ruby } } } ) , e . languages . insertBefore ( "ruby" , "number" , { builtin : /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ , constant : /\b[A-Z]\w*(?:[?!]|\b)/ } ) , e . languages . ruby . string = [ { pattern : /%[qQiIwWxs]?([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/ , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 , inside : { interpolation : n } } ] , e . languages . rb = e . languages . ruby } ( Prism ) ;
Prism . languages . csp = { directive : { pattern : /\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i , alias : "keyword" } , safe : { pattern : /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/ , alias : "selector" } , unsafe : { pattern : /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/ , alias : "function" } } ;
Prism . languages . css . selector = { pattern : Prism . languages . css . selector , inside : { "pseudo-element" : /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ , "pseudo-class" : /:[-\w]+/ , class : /\.[-:.\w]+/ , id : /#[-:.\w]+/ , attribute : { pattern : /\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/ , greedy : ! 0 , inside : { punctuation : /^\[|\]$/ , "case-sensitivity" : { pattern : /(\s)[si]$/i , lookbehind : ! 0 , alias : "keyword" } , namespace : { pattern : /^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/ , lookbehind : ! 0 , inside : { punctuation : /\|$/ } } , attribute : { pattern : /^(\s*)[-\w\xA0-\uFFFF]+/ , lookbehind : ! 0 } , value : [ /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , { pattern : /(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/ , lookbehind : ! 0 } ] , operator : /[|~*^$]?=/ } } , "n-th" : { pattern : /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/ , lookbehind : ! 0 , inside : { number : /[\dn]+/ , operator : /[+-]/ } } , punctuation : /[()]/ } } , Prism . languages . insertBefore ( "css" , "property" , { variable : { pattern : /(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i , lookbehind : ! 0 } } ) , Prism . languages . insertBefore ( "css" , "function" , { operator : { pattern : /(\s)[+\-*\/](?=\s)/ , lookbehind : ! 0 } , hexcode : /#[\da-f]{3,8}/i , entity : /\\[\da-f]{1,8}/i , unit : { pattern : /(\d)(?:%|[a-z]+)/ , lookbehind : ! 0 } , number : /-?[\d.]+/ } ) ;
2019-01-28 03:11:02 +03:00
Prism . languages . diff = { coord : [ /^(?:\*{3}|-{3}|\+{3}).*$/m , /^@@.*@@$/m , /^\d+.*$/m ] , deleted : /^[-<].*$/m , inserted : /^[+>].*$/m , diff : { pattern : /^!(?!!).+$/m , alias : "important" } } ;
2019-03-31 20:18:08 +03:00
! function ( h ) { function v ( e , n ) { return "___" + e . toUpperCase ( ) + n + "___" } Object . defineProperties ( h . languages [ "markup-templating" ] = { } , { buildPlaceholders : { value : function ( a , r , e , o ) { if ( a . language === r ) { var c = a . tokenStack = [ ] ; a . code = a . code . replace ( e , function ( e ) { if ( "function" == typeof o && ! o ( e ) ) return e ; for ( var n , t = c . length ; - 1 !== a . code . indexOf ( n = v ( r , t ) ) ; ) ++ t ; return c [ t ] = e , n } ) , a . grammar = h . languages . markup } } } , tokenizePlaceholders : { value : function ( p , k ) { if ( p . language === k && p . tokenStack ) { p . grammar = h . languages [ k ] ; var m = 0 , d = Object . keys ( p . tokenStack ) ; ! function e ( n ) { for ( var t = 0 ; t < n . length && ! ( m >= d . length ) ; t ++ ) { var a = n [ t ] ; if ( "string" == typeof a || a . content && "string" == typeof a . content ) { var r = d [ m ] , o = p . tokenStack [ r ] , c = "string" == typeof a ? a : a . content , i = v ( k , r ) , u = c . indexOf ( i ) ; if ( - 1 < u ) { ++ m ; var g = c . substring ( 0 , u ) , l = new h . Token ( k , h . tokenize ( o , p . grammar ) , "language-" + k , o ) , s = c . substring ( u + i . length ) , f = [ ] ; g && f . push . apply ( f , e ( [ g ] ) ) , f . push ( l ) , s && f . push . apply ( f , e ( [ s ] ) ) , "string" == typeof a ? n . splice . apply ( n , [ t , 1 ] . concat ( f ) ) : a . content = f } } else a . content && e ( a . content ) } return n } ( p . tokens ) } } } } ) } ( Prism ) ;
2019-01-28 03:11:02 +03:00
Prism . languages . docker = { keyword : { pattern : /(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im , lookbehind : ! 0 } , string : /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/ , comment : /#.*/ , punctuation : /---|\.\.\.|[:[\]{}\-,|>?]/ } , Prism . languages . dockerfile = Prism . languages . docker ;
2019-03-31 20:18:08 +03:00
Prism . languages . elixir = { comment : { pattern : /#.*/m , lookbehind : ! 0 } , regex : { pattern : /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/ , greedy : ! 0 } , string : [ { pattern : /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/ , greedy : ! 0 , inside : { } } , { pattern : /("""|''')[\s\S]*?\1/ , greedy : ! 0 , inside : { } } , { pattern : /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 , inside : { } } ] , atom : { pattern : /(^|[^:]):\w+/ , lookbehind : ! 0 , alias : "symbol" } , "attr-name" : /\w+:(?!:)/ , capture : { pattern : /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/ , lookbehind : ! 0 , alias : "function" } , argument : { pattern : /(^|[^&])&\d+/ , lookbehind : ! 0 , alias : "variable" } , attribute : { pattern : /@\w+/ , alias : "variable" } , number : /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i , 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/ , boolean : /\b(?:true|false|nil)\b/ , operator : [ /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/ , { pattern : /([^<])<(?!<)/ , lookbehind : ! 0 } , { pattern : /([^>])>(?!>)/ , lookbehind : ! 0 } ] , punctuation : /<<|>>|[.,%\[\]{}()]/ } , Prism . languages . elixir . string . forEach ( function ( e ) { e . inside = { interpolation : { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "punctuation" } , rest : Prism . languages . elixir } } } } ) ;
Prism . languages . elm = { comment : /--.*|{-[\s\S]*?-}/ , char : { pattern : /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/ , greedy : ! 0 } , string : [ { pattern : /"""[\s\S]*?"""/ , greedy : ! 0 } , { pattern : /"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/ , greedy : ! 0 } ] , import _statement : { pattern : /^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+([A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m , inside : { keyword : /\b(?:import|as|exposing)\b/ } } , keyword : /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ , builtin : /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ , number : /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i , operator : /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/ , hvariable : /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ , constant : /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ , punctuation : /[{}[\]|(),.:]/ } ;
Prism . languages . erlang = { comment : /%.+/ , string : { pattern : /"(?:\\.|[^\\"\r\n])*"/ , greedy : ! 0 } , "quoted-function" : { pattern : /'(?:\\.|[^\\'\r\n])+'(?=\()/ , alias : "function" } , "quoted-atom" : { pattern : /'(?:\\.|[^\\'\r\n])+'/ , alias : "atom" } , boolean : /\b(?:true|false)\b/ , keyword : /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ , number : [ /\$\\?./ , /\d+#[a-z0-9]+/i , /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i ] , function : /\b[a-z][\w@]*(?=\()/ , variable : { pattern : /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/ , lookbehind : ! 0 } , operator : [ /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ , { pattern : /(^|[^<])<(?!<)/ , lookbehind : ! 0 } , { pattern : /(^|[^>])>(?!>)/ , lookbehind : ! 0 } ] , atom : /\b[a-z][\w@]*/ , punctuation : /[()[\]{}:;,.#|]|<<|>>/ } ;
Prism . languages . fsharp = Prism . languages . extend ( "clike" , { comment : [ { pattern : /(^|[^\\])\(\*[\s\S]*?\*\)/ , lookbehind : ! 0 } , { pattern : /(^|[^\\:])\/\/.*/ , lookbehind : ! 0 } ] , string : { pattern : /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\.)'B?/ , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/ , lookbehind : ! 0 , inside : { operator : /->|\*/ , punctuation : /\./ } } , 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/ , number : [ /\b0x[\da-fA-F]+(?:un|lf|LF)?\b/ , /\b0b[01]+(?:y|uy)?\b/ , /(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i , /\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/ ] , operator : /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/ } ) , Prism . languages . insertBefore ( "fsharp" , "keyword" , { preprocessor : { pattern : /^[^\r\n\S]*#.*/m , alias : "property" , inside : { directive : { pattern : /(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/ , lookbehind : ! 0 , alias : "keyword" } } } } ) , Prism . languages . insertBefore ( "fsharp" , "punctuation" , { "computation-expression" : { pattern : /[_a-z]\w*(?=\s*\{)/i , alias : "keyword" } } ) , Prism . languages . insertBefore ( "fsharp" , "string" , { annotation : { pattern : /\[<.+?>\]/ , inside : { punctuation : /^\[<|>\]$/ , "class-name" : { pattern : /^\w+$|(^|;\s*)[A-Z]\w*(?=\()/ , lookbehind : ! 0 } , "annotation-content" : { pattern : /[\s\S]+/ , inside : Prism . languages . fsharp } } } } ) ;
! function ( a ) { a . languages . flow = a . languages . extend ( "javascript" , { } ) , a . languages . insertBefore ( "flow" , "keyword" , { type : [ { pattern : /\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ , alias : "tag" } ] } ) , a . languages . flow [ "function-variable" ] . pattern = /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i , delete a . languages . flow . parameter , a . languages . insertBefore ( "flow" , "operator" , { "flow-punctuation" : { pattern : /\{\||\|\}/ , alias : "punctuation" } } ) , Array . isArray ( a . languages . flow . keyword ) || ( a . languages . flow . keyword = [ a . languages . flow . keyword ] ) , a . languages . flow . keyword . unshift ( { pattern : /(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ , lookbehind : ! 0 } , { pattern : /(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ , lookbehind : ! 0 } ) } ( Prism ) ;
2019-01-28 03:11:02 +03:00
Prism . languages . git = { comment : /^#.*/m , deleted : /^[-– ].*/m , inserted : /^\+.*/m , string : /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m , command : { pattern : /^.*\$ git .*$/m , inside : { parameter : /\s--?\w+/m } } , coord : /^@@.*@@$/m , commit _sha1 : /^commit \w{40}$/m } ;
2019-03-31 20:18:08 +03:00
Prism . languages . go = Prism . languages . extend ( "clike" , { 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/ , 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/ , boolean : /\b(?:_|iota|nil|true|false)\b/ , operator : /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ , number : /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i , string : { pattern : /(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/ , greedy : ! 0 } } ) , delete Prism . languages . go [ "class-name" ] ;
Prism . languages . graphql = { comment : /#.*/ , string : { pattern : /"(?:\\.|[^\\"\r\n])*"/ , greedy : ! 0 } , number : /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i , boolean : /\b(?:true|false)\b/ , variable : /\$[a-z_]\w*/i , directive : { pattern : /@[a-z_]\w*/i , alias : "function" } , "attr-name" : { pattern : /[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:enum|implements|interface|on|scalar|type|union)\s+)[a-zA-Z_]\w*/ , lookbehind : ! 0 } , fragment : { pattern : /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/ , lookbehind : ! 0 , alias : "function" } , keyword : /\b(?:enum|fragment|implements|input|interface|mutation|on|query|scalar|schema|type|union)\b/ , operator : /[!=|]|\.{3}/ , punctuation : /[!(){}\[\]:=,]/ , constant : /\b(?!ID\b)[A-Z][A-Z_\d]*\b/ } ;
2019-01-28 03:11:02 +03:00
Prism . languages . less = Prism . languages . extend ( "css" , { comment : [ /\/\*[\s\S]*?\*\// , { pattern : /(^|[^\\])\/\/.*/ , lookbehind : ! 0 } ] , atrule : { pattern : /@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i , inside : { punctuation : /[:()]/ } } , selector : { pattern : /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/ , inside : { variable : /@+[\w-]+/ } } , property : /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i , operator : /[+\-*\/]/ } ) , Prism . languages . insertBefore ( "less" , "property" , { variable : [ { pattern : /@[\w-]+\s*:/ , inside : { punctuation : /:/ } } , /@@?[\w-]+/ ] , "mixin-usage" : { pattern : /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/ , lookbehind : ! 0 , alias : "function" } } ) ;
2019-03-31 20:18:08 +03:00
! function ( e ) { e . languages . handlebars = { comment : /\{\{![\s\S]*?\}\}/ , delimiter : { pattern : /^\{\{\{?|\}\}\}?$/i , alias : "punctuation" } , string : /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/ , number : /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/ , boolean : /\b(?:true|false)\b/ , block : { pattern : /^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i , lookbehind : ! 0 , alias : "keyword" } , brackets : { pattern : /\[[^\]]+\]/ , inside : { punctuation : /\[|\]/ , variable : /[\s\S]+/ } } , punctuation : /[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/ , variable : /[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/ } , e . hooks . add ( "before-tokenize" , function ( a ) { e . languages [ "markup-templating" ] . buildPlaceholders ( a , "handlebars" , /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g ) } ) , e . hooks . add ( "after-tokenize" , function ( a ) { e . languages [ "markup-templating" ] . tokenizePlaceholders ( a , "handlebars" ) } ) } ( Prism ) ;
Prism . languages . haskell = { comment : { pattern : /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\/].*|{-[\s\S]*?-})/m , lookbehind : ! 0 } , char : /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/ , string : { pattern : /"(?:[^\\"]|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\s+\\)*"/ , greedy : ! 0 } , keyword : /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ , import _statement : { pattern : /((?:\r?\n|\r|^)\s*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m , lookbehind : ! 0 , inside : { keyword : /\b(?:import|qualified|as|hiding)\b/ } } , builtin : /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ , number : /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i , operator : /\s\.\s|[-!#$%*+=?&@|~.:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^\\\/]+\.[-!#$%*+=?&@|~.:<>^\\\/]*|[-!#$%*+=?&@|~:<>^\\\/]+|`([A-Z][\w']*\.)*[_a-z][\w']*`/ , hvariable : /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ , constant : /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ , punctuation : /[{}[\];(),.:]/ } , Prism . languages . hs = Prism . languages . haskell ;
! function ( t ) { t . languages . http = { "request-line" : { pattern : /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m , inside : { property : /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ , "attr-name" : /:\w+/ } } , "response-status" : { pattern : /^HTTP\/1.[01] \d+.*/m , inside : { property : { pattern : /(^HTTP\/1.[01] )\d+.*/i , lookbehind : ! 0 } } } , "header-name" : { pattern : /^[\w-]+:(?=.)/m , alias : "keyword" } } ; var a , e , n , i = t . languages , s = { "application/javascript" : i . javascript , "application/json" : i . json || i . javascript , "application/xml" : i . xml , "text/xml" : i . xml , "text/html" : i . html , "text/css" : i . css } , p = { "application/json" : ! 0 , "application/xml" : ! 0 } ; for ( var r in s ) if ( s [ r ] ) { a = a || { } ; var T = p [ r ] ? ( void 0 , n = ( e = r ) . replace ( /^[a-z]+\// , "" ) , "(?:" + e + "|\\w+/(?:[\\w.-]+\\+)+" + n + "(?![+\\w.-]))" ) : r ; a [ r ] = { pattern : RegExp ( "(content-type:\\s*" + T + "[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*" , "i" ) , lookbehind : ! 0 , inside : { rest : s [ r ] } } } a && t . languages . insertBefore ( "http" , "header-name" , a ) } ( Prism ) ;
! function ( e ) { var t = /\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|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\b/ , a = /\b[A-Z](?:\w*[a-z]\w*)?\b/ ; e . languages . java = e . languages . extend ( "clike" , { "class-name" : [ a , /\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/ ] , keyword : t , function : [ e . languages . clike . function , { pattern : /(\:\:)[a-z_]\w*/ , lookbehind : ! 0 } ] , number : /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i , operator : { pattern : /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m , lookbehind : ! 0 } } ) , e . languages . insertBefore ( "java" , "class-name" , { annotation : { alias : "punctuation" , pattern : /(^|[^.])@\w+/ , lookbehind : ! 0 } , namespace : { pattern : /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/ , lookbehind : ! 0 , inside : { punctuation : /\./ } } , generics : { pattern : /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/ , inside : { "class-name" : a , keyword : t , punctuation : /[<>(),.:]/ , operator : /[?&|]/ } } } ) } ( Prism ) ;
! function ( n ) { n . languages . php = n . languages . extend ( "clike" , { keyword : /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i , boolean : { pattern : /\b(?:false|true)\b/i , alias : "constant" } , constant : [ /\b[A-Z_][A-Z0-9_]*\b/ , /\b(?:null)\b/i ] , comment : { pattern : /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/ , lookbehind : ! 0 } } ) , n . languages . insertBefore ( "php" , "string" , { "shell-comment" : { pattern : /(^|[^\\])#.*/ , lookbehind : ! 0 , alias : "comment" } } ) , n . languages . insertBefore ( "php" , "comment" , { delimiter : { pattern : /\?>$|^<\?(?:php(?=\s)|=)?/i , alias : "important" } } ) , n . languages . insertBefore ( "php" , "keyword" , { variable : /\$+(?:\w+\b|(?={))/i , package : { pattern : /(\\|namespace\s+|use\s+)[\w\\]+/ , lookbehind : ! 0 , inside : { punctuation : /\\/ } } } ) , n . languages . insertBefore ( "php" , "operator" , { property : { pattern : /(->)[\w]+/ , lookbehind : ! 0 } } ) ; var e = { pattern : /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/ , lookbehind : ! 0 , inside : { rest : n . languages . php } } ; n . languages . insertBefore ( "php" , "string" , { "nowdoc-string" : { pattern : /<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/ , greedy : ! 0 , alias : "string" , inside : { delimiter : { pattern : /^<<<'[^']+'|[a-z_]\w*;$/i , alias : "symbol" , inside : { punctuation : /^<<<'?|[';]$/ } } } } , "heredoc-string" : { pattern : /<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i , greedy : ! 0 , alias : "string" , inside : { delimiter : { pattern : /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i , alias : "symbol" , inside : { punctuation : /^<<<"?|[";]$/ } } , interpolation : e } } , "single-quoted-string" : { pattern : /'(?:\\[\s\S]|[^\\'])*'/ , greedy : ! 0 , alias : "string" } , "double-quoted-string" : { pattern : /"(?:\\[\s\S]|[^\\"])*"/ , greedy : ! 0 , alias : "string" , inside : { interpolation : e } } } ) , delete n . languages . php . string , n . hooks . add ( "before-tokenize" , function ( e ) { if ( /<\?/ . test ( e . code ) ) { n . languages [ "markup-templating" ] . buildPlaceholders ( e , "php" , /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi ) } } ) , n . hooks . add ( "after-tokenize" , function ( e ) { n . languages [ "markup-templating" ] . tokenizePlaceholders ( e , "php" ) } ) } ( Prism ) ;
Prism . languages . json = { comment : /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/ , property : { pattern : /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/ , greedy : ! 0 } , string : { pattern : /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/ , greedy : ! 0 } , number : /-?\d+\.?\d*(e[+-]?\d+)?/i , punctuation : /[{}[\],]/ , operator : /:/ , boolean : /\b(?:true|false)\b/ , null : { pattern : /\bnull\b/ , alias : "keyword" } } ;
! function ( e ) { e . languages . kotlin = e . languages . extend ( "clike" , { keyword : { pattern : /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ , lookbehind : ! 0 } , function : [ /\w+(?=\s*\()/ , { pattern : /(\.)\w+(?=\s*\{)/ , lookbehind : ! 0 } ] , number : /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/ , operator : /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ } ) , delete e . languages . kotlin [ "class-name" ] , e . languages . insertBefore ( "kotlin" , "string" , { "raw-string" : { pattern : /("""|''')[\s\S]*?\1/ , alias : "string" } } ) , e . languages . insertBefore ( "kotlin" , "keyword" , { annotation : { pattern : /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ , alias : "builtin" } } ) , e . languages . insertBefore ( "kotlin" , "function" , { label : { pattern : /\w+@|@\w+/ , alias : "symbol" } } ) ; var n = [ { pattern : /\$\{[^}]+\}/ , inside : { delimiter : { pattern : /^\$\{|\}$/ , alias : "variable" } , rest : e . languages . kotlin } } , { pattern : /\$\w+/ , alias : "variable" } ] ; e . languages . kotlin . string . inside = e . languages . kotlin [ "raw-string" ] . inside = { interpolation : n } } ( Prism ) ;
! function ( a ) { var e = /\\(?:[^a-z()[\]]|[a-z*]+)/i , n = { "equation-command" : { pattern : e , alias : "regex" } } ; Prism . languages . latex = { comment : /%.*/m , cdata : { pattern : /(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/ , lookbehind : ! 0 } , equation : [ { pattern : /\$(?:\\[\s\S]|[^\\$])*\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/ , inside : n , alias : "string" } , { pattern : /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/ , lookbehind : ! 0 , inside : n , alias : "string" } ] , keyword : { pattern : /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/ , lookbehind : ! 0 } , url : { pattern : /(\\url\{)[^}]+(?=\})/ , lookbehind : ! 0 } , headline : { pattern : /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/ , lookbehind : ! 0 , alias : "class-name" } , function : { pattern : e , alias : "selector" } , punctuation : /[[\]{}&]/ } } ( ) ;
Prism . languages . markdown = Prism . languages . extend ( "markup" , { } ) , Prism . languages . insertBefore ( "markdown" , "prolog" , { blockquote : { pattern : /^>(?:[\t ]*>)*/m , alias : "punctuation" } , code : [ { pattern : /^(?: {4}|\t).+/m , alias : "keyword" } , { pattern : /``.+?``|`[^`\n]+`/ , alias : "keyword" } , { pattern : /^```[\s\S]*?^```$/m , greedy : ! 0 , inside : { "code-block" : { pattern : /^(```.*(?:\r?\n|\r))[\s\S]+?(?=(?:\r?\n|\r)^```$)/m , lookbehind : ! 0 } , "code-language" : { pattern : /^(```).+/ , lookbehind : ! 0 } , punctuation : /```/ } } ] , title : [ { pattern : /\S.*(?:\r?\n|\r)(?:==+|--+)/ , alias : "important" , inside : { punctuation : /==+$|--+$/ } } , { pattern : /(^\s*)#+.+/m , lookbehind : ! 0 , alias : "important" , inside : { punctuation : /^#+|#+$/ } } ] , hr : { pattern : /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m , lookbehind : ! 0 , alias : "punctuation" } , list : { pattern : /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m , lookbehind : ! 0 , alias : "punctuation" } , "url-reference" : { pattern : /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ , inside : { variable : { pattern : /^(!?\[)[^\]]+/ , lookbehind : ! 0 } , string : /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ , punctuation : /^[\[\]!:]|[<>]/ } , alias : "url" } , bold : { pattern : /(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : { punctuation : /^\*\*|^__|\*\*$|__$/ } } , italic : { pattern : /(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : { punctuation : /^[*_]|[*_]$/ } } , strike : { pattern : /(^|[^\\])(~~?)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : { punctuation : /^~~?|~~?$/ } } , url : { pattern : /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/ , inside : { variable : { pattern : /(!?\[)[^\]]+(?=\]$)/ , lookbehind : ! 0 } , string : { pattern : /"(?:\\.|[^"\\])*"(?=\)$)/ } } } } ) , [ "bold" , "italic" , "strike" ] . forEach ( function ( a ) { [ "url" , "bold" , "italic" , "strike" ] . forEach ( function ( n ) { a !== n && ( Prism . languages . markdown [ a ] . inside [ n ] = Prism . languages . markdown [ n ] ) } ) } ) , Prism . hooks . add ( "after-tokenize" , function ( n ) { "markdown" !== n . language && "md" !== n . language || function n ( a ) { if ( a && "string" != typeof a ) for ( var t = 0 , e = a . length ; t < e ; t ++ ) { var r = a [ t ] ; if ( "code" === r . type ) { var i = r . content [ 1 ] , o = r . content [ 3 ] ; if ( i && o && "code-language" === i . type && "code-block" === o . type && "string" == typeof i . content ) { var s = "language-" + i . content . trim ( ) . split ( /\s+/ ) [ 0 ] . toLowerCase ( ) ; o . alias ? "string" == typeof o . alias ? o . alias = [ o . alias , s ] : o . alias . push ( s ) : o . alias = [ s ] } } else n ( r . content ) } } ( n . tokens ) } ) , Prism . hooks . add ( "wrap" , function ( n ) { if ( "code-block" === n . type ) { for ( var a = "" , t = 0 , e = n . classes . length ; t < e ; t ++ ) { var r = n . classes [ t ] , i = /language-(.+)/ . exec ( r ) ; if ( i ) { a = i [ 1 ] ; break } } var o = Prism . languages [ a ] ; if ( o ) { var s = n . content . replace ( /</g , "<" ) . replace ( /&/g , "&" ) ; n . content = Prism . highlight ( s , o , a ) } } } ) , Prism . languages . md = Prism . languages . markdown ;
2019-01-28 03:11:02 +03:00
Prism . languages . makefile = { comment : { pattern : /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/ , lookbehind : ! 0 } , string : { pattern : /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , builtin : /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/ , symbol : { pattern : /^[^:=\r\n]+(?=\s*:(?!=))/m , inside : { variable : /\$+(?:[^(){}:#=\s]+|(?=[({]))/ } } , variable : /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/ , keyword : [ /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ , { pattern : /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/ , lookbehind : ! 0 } ] , operator : /(?:::|[?:+!])?=|[|@]/ , punctuation : /[:;(){}]/ } ;
2019-03-31 20:18:08 +03:00
! function ( e ) { e . languages . django = { comment : /^{#[\s\S]*?#}$/ , tag : { pattern : /(^{%[+-]?\s*)\w+/ , lookbehind : ! 0 , alias : "keyword" } , delimiter : { pattern : /^{[{%][+-]?|[+-]?[}%]}$/ , alias : "punctuation" } , string : { pattern : /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , filter : { pattern : /(\|)\w+/ , lookbehind : ! 0 , alias : "function" } , test : { pattern : /(\bis\s+(?:not\s+)?)(?!not\b)\w+/ , lookbehind : ! 0 , alias : "function" } , function : /\b[a-z_]\w+(?=\s*\()/i , keyword : /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ , operator : /[-+*/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/ , number : /\b\d+(?:\.\d+)?\b/ , boolean : /[Tt]rue|[Ff]alse|[Nn]one/ , variable : /\b\w+?\b/ , punctuation : /[{}[\](),.:;]/ } ; var n = /{{[\s\S]*?}}|{%[\s\S]*?%}|{#[\s\S]*?#}/g , o = e . languages [ "markup-templating" ] ; e . hooks . add ( "before-tokenize" , function ( e ) { o . buildPlaceholders ( e , "django" , n ) } ) , e . hooks . add ( "after-tokenize" , function ( e ) { o . tokenizePlaceholders ( e , "django" ) } ) , e . languages . jinja2 = e . languages . django , e . hooks . add ( "before-tokenize" , function ( e ) { o . buildPlaceholders ( e , "jinja2" , n ) } ) , e . hooks . add ( "after-tokenize" , function ( e ) { o . tokenizePlaceholders ( e , "jinja2" ) } ) } ( Prism ) ;
2019-01-28 03:11:02 +03:00
Prism . languages . typescript = Prism . languages . extend ( "javascript" , { keyword : /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/ , builtin : /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ } ) , Prism . languages . ts = Prism . languages . typescript ;
2019-03-31 20:18:08 +03:00
Prism . languages . objectivec = Prism . languages . extend ( "c" , { keyword : /\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ , string : /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/ , operator : /-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ } ) , delete Prism . languages . objectivec [ "class-name" ] ;
Prism . languages . ocaml = { comment : /\(\*[\s\S]*?\*\)/ , string : [ { pattern : /"(?:\\.|[^\\\r\n"])*"/ , greedy : ! 0 } , { pattern : /(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i , greedy : ! 0 } ] , number : /\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i , type : { pattern : /\B['`]\w*/ , alias : "variable" } , directive : { pattern : /\B#\w+/ , alias : "function" } , keyword : /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/ , boolean : /\b(?:false|true)\b/ , operator : /:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/ , punctuation : /[(){}\[\]|_.,:;]/ } ;
Prism . languages . perl = { comment : [ { pattern : /(^\s*)=\w+[\s\S]*?=cut.*/m , lookbehind : ! 0 } , { pattern : /(^|[^\\$])#.*/ , lookbehind : ! 0 } ] , string : [ { pattern : /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/ , greedy : ! 0 } , { pattern : /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/ , greedy : ! 0 } , { pattern : /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/ , greedy : ! 0 } , { pattern : /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/ , greedy : ! 0 } , { pattern : /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/ , greedy : ! 0 } , { pattern : /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/ , greedy : ! 0 } , { pattern : /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/ , greedy : ! 0 } , { pattern : /'(?:[^'\\\r\n]|\\.)*'/ , greedy : ! 0 } ] , regex : [ { pattern : /\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/ , greedy : ! 0 } , { pattern : /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/ , greedy : ! 0 } , { pattern : /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/ , greedy : ! 0 } , { pattern : /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/ , greedy : ! 0 } , { pattern : /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/ , greedy : ! 0 } , { pattern : /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/ , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/ , greedy : ! 0 } ] , variable : [ /[&*$@%]\{\^[A-Z]+\}/ , /[&*$@%]\^[A-Z_]/ , /[&*$@%]#?(?=\{)/ , /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i , /[&*$@%]\d+/ , /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/ ] , filehandle : { pattern : /<(?![<=])\S*>|\b_\b/ , alias : "symbol" } , vstring : { pattern : /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ , alias : "string" } , function : { pattern : /sub [a-z0-9_]+/i , inside : { keyword : /sub/ } } , keyword : /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/ , number : /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/ , operator : /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ , punctuation : /[{}[\];(),:]/ } ;
Prism . languages . insertBefore ( "php" , "variable" , { this : /\$this\b/ , global : /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ , scope : { pattern : /\b[\w\\]+::/ , inside : { keyword : /static|self|parent/ , punctuation : /::|\\/ } } } ) ;
Prism . languages . sql = { comment : { pattern : /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/ , lookbehind : ! 0 } , variable : [ { pattern : /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/ , greedy : ! 0 } , /@[\w.$]+/ ] , string : { pattern : /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/ , greedy : ! 0 , lookbehind : ! 0 } , function : /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i , keyword : /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i , boolean : /\b(?:TRUE|FALSE|NULL)\b/i , number : /\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i , operator : /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i , punctuation : /[;[\]()`,.]/ } ;
Prism . languages . processing = Prism . languages . extend ( "clike" , { keyword : /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ , operator : /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/ } ) , Prism . languages . insertBefore ( "processing" , "number" , { constant : /\b(?!XML\b)[A-Z][A-Z\d_]+\b/ , type : { pattern : /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ , alias : "variable" } } ) , Prism . languages . processing . function . pattern = /\w+(?=\s*\()/ , Prism . languages . processing [ "class-name" ] . alias = "variable" ;
Prism . languages . scss = Prism . languages . extend ( "css" , { comment : { pattern : /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/ , lookbehind : ! 0 } , atrule : { pattern : /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/ , inside : { rule : /@[\w-]+/ } } , url : /(?:[-a-z]+-)*url(?=\()/i , selector : { pattern : /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m , inside : { parent : { pattern : /&/ , alias : "important" } , placeholder : /%[-\w]+/ , variable : /\$[-\w]+|#\{\$[-\w]+\}/ } } , property : { pattern : /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ , inside : { variable : /\$[-\w]+|#\{\$[-\w]+\}/ } } } ) , Prism . languages . insertBefore ( "scss" , "atrule" , { keyword : [ /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i , { pattern : /( +)(?:from|through)(?= )/ , lookbehind : ! 0 } ] } ) , Prism . languages . insertBefore ( "scss" , "important" , { variable : /\$[-\w]+|#\{\$[-\w]+\}/ } ) , Prism . languages . insertBefore ( "scss" , "function" , { placeholder : { pattern : /%[-\w]+/ , alias : "selector" } , statement : { pattern : /\B!(?:default|optional)\b/i , alias : "keyword" } , boolean : /\b(?:true|false)\b/ , null : { pattern : /\bnull\b/ , alias : "keyword" } , operator : { pattern : /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/ , lookbehind : ! 0 } } ) , Prism . languages . scss . atrule . inside . rest = Prism . languages . scss ;
Prism . languages . python = { comment : { pattern : /(^|[^\\])#.*/ , lookbehind : ! 0 } , "string-interpolation" : { pattern : /(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i , greedy : ! 0 , inside : { interpolation : { pattern : /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/ , lookbehind : ! 0 , inside : { "format-spec" : { pattern : /(:)[^:(){}]+(?=}$)/ , lookbehind : ! 0 } , "conversion-option" : { pattern : /![sra](?=[:}]$)/ , alias : "punctuation" } , rest : null } } , string : /[\s\S]+/ } } , "triple-quoted-string" : { pattern : /(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i , greedy : ! 0 , alias : "string" } , string : { pattern : /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i , greedy : ! 0 } , function : { pattern : /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g , lookbehind : ! 0 } , "class-name" : { pattern : /(\bclass\s+)\w+/i , lookbehind : ! 0 } , decorator : { pattern : /(^\s*)@\w+(?:\.\w+)*/i , lookbehind : ! 0 , alias : [ "annotation" , "punctuation" ] , inside : { punctuation : /\./ } } , keyword : /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ , builtin : /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ , boolean : /\b(?:True|False|None)\b/ , number : /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i , operator : /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/ , punctuation : /[{}[\];(),.:]/ } , Prism . languages . python [ "string-interpolation" ] . inside . interpolation . inside . rest = Prism . languages . python , Prism . languages . py = Prism . languages . python ;
Prism . languages . r = { comment : /#.*/ , string : { pattern : /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , "percent-operator" : { pattern : /%[^%\s]*%/ , alias : "operator" } , boolean : /\b(?:TRUE|FALSE)\b/ , ellipsis : /\.\.(?:\.|\d+)/ , number : [ /\b(?:NaN|Inf)\b/ , /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/ ] , keyword : /\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ , operator : /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/ , punctuation : /[(){}\[\],;]/ } ;
! function ( i ) { var t = i . util . clone ( i . languages . javascript ) ; i . languages . jsx = i . languages . extend ( "markup" , t ) , i . languages . jsx . tag . pattern = /<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i , i . languages . jsx . tag . inside . tag . pattern = /^<\/?[^\s>\/]*/i , i . languages . jsx . tag . inside [ "attr-value" ] . pattern = /=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i , i . languages . jsx . tag . inside . tag . inside [ "class-name" ] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/ , i . languages . insertBefore ( "inside" , "attr-name" , { spread : { pattern : /\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/ , inside : { punctuation : /\.{3}|[{}.]/ , "attr-value" : /\w+/ } } } , i . languages . jsx . tag ) , i . languages . insertBefore ( "inside" , "attr-value" , { script : { pattern : /=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i , inside : { "script-punctuation" : { pattern : /^=(?={)/ , alias : "punctuation" } , rest : i . languages . jsx } , alias : "language-javascript" } } , i . languages . jsx . tag ) ; var o = function ( t ) { return t ? "string" == typeof t ? t : "string" == typeof t . content ? t . content : t . content . map ( o ) . join ( "" ) : "" } , p = function ( t ) { for ( var n = [ ] , e = 0 ; e < t . length ; e ++ ) { var a = t [ e ] , s = ! 1 ; if ( "string" != typeof a && ( "tag" === a . type && a . content [ 0 ] && "tag" === a . content [ 0 ] . type ? "</" === a . content [ 0 ] . content [ 0 ] . content ? 0 < n . length && n [ n . length - 1 ] . tagName === o ( a . content [ 0 ] . content [ 1 ] ) && n . pop ( ) : "/>" === a . content [ a . content . length - 1 ] . content || n . push ( { tagName : o ( a . content [ 0 ] . content [ 1 ] ) , openedBraces : 0 } ) : 0 < n . length && "punctuation" === a . type && "{" === a . content ? n [ n . length - 1 ] . openedBraces ++ : 0 < n . length && 0 < n [ n . length - 1 ] . openedBraces && "punctuation" === a . type && "}" === a . content ? n [ n . length - 1 ] . openedBraces -- : s = ! 0 ) , ( s || "string" == typeof a ) && 0 < n . length && 0 === n [ n . length - 1 ] . openedBraces ) { var g = o ( a ) ; e < t . length - 1 && ( "string" == typeof t [ e + 1 ] || "plain-text" === t [ e + 1 ] . type ) && ( g += o ( t [ e + 1 ] ) , t . splice ( e + 1 , 1 ) ) , 0 < e && ( "string" == typeof t [ e - 1 ] || "plain-text" === t [ e - 1 ] . type ) && ( g = o ( t [ e - 1 ] ) + g , t . splice ( e - 1 , 1 ) , e -- ) , t [ e ] = new i . Token ( "plain-text" , g , null , g ) } a . content && "string" != typeof a . content && p ( a . content ) } } ; i . hooks . add ( "after-tokenize" , function ( t ) { "jsx" !== t . language && "tsx" !== t . language || p ( t . tokens ) } ) } ( Prism ) ;
2019-01-28 03:11:02 +03:00
Prism . languages . reason = Prism . languages . extend ( "clike" , { comment : { pattern : /(^|[^\\])\/\*[\s\S]*?\*\// , lookbehind : ! 0 } , string : { pattern : /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/ , greedy : ! 0 } , "class-name" : /\b[A-Z]\w*/ , keyword : /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ , operator : /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ } ) , Prism . languages . insertBefore ( "reason" , "class-name" , { character : { pattern : /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/ , alias : "string" } , constructor : { pattern : /\b[A-Z]\w*\b(?!\s*\.)/ , alias : "variable" } , label : { pattern : /\b[a-z]\w*(?=::)/ , alias : "symbol" } } ) , delete Prism . languages . reason . function ;
2019-03-31 20:18:08 +03:00
! function ( e ) { var n = "(?:\\([^|)]+\\)|\\[[^\\]]+\\]|\\{[^}]+\\})+" , i = { css : { pattern : /\{[^}]+\}/ , inside : { rest : e . languages . css } } , "class-id" : { pattern : /(\()[^)]+(?=\))/ , lookbehind : ! 0 , alias : "attr-value" } , lang : { pattern : /(\[)[^\]]+(?=\])/ , lookbehind : ! 0 , alias : "attr-value" } , punctuation : /[\\\/]\d+|\S/ } , t = e . languages . textile = e . languages . extend ( "markup" , { phrase : { pattern : /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/ , lookbehind : ! 0 , inside : { "block-tag" : { pattern : RegExp ( "^[a-z]\\w*(?:" + n + "|[<>=()])*\\." ) , inside : { modifier : { pattern : RegExp ( "(^[a-z]\\w*)(?:" + n + "|[<>=()])+(?=\\.)" ) , lookbehind : ! 0 , inside : i } , tag : /^[a-z]\w*/ , punctuation : /\.$/ } } , list : { pattern : RegExp ( "^[*#]+(?:" + n + ")?\\s+.+" , "m" ) , inside : { modifier : { pattern : RegExp ( "(^[*#]+)" + n ) , lookbehind : ! 0 , inside : i } , punctuation : /^[*#]+/ } } , table : { pattern : RegExp ( "^(?:(?:" + n + "|[<>=()^~])+\\.\\s*)?(?:\\|(?:(?:" + n + "|[<>=()^~_]|[\\\\/]\\d+)+\\.)?[^|]*)+\\|" , "m" ) , inside : { modifier : { pattern : RegExp ( "(^|\\|(?:\\r?\\n|\\r)?)(?:" + n + "|[<>=()^~_]|[\\\\/]\\d+)+(?=\\.)" ) , lookbehind : ! 0 , inside : i } , punctuation : /\||^\./ } } , inline : { pattern : RegExp ( "(\\*\\*|__|\\?\\?|[*_%@+\\-^~])(?:" + n + ")?.+?\\1" ) , inside : { bold : { pattern : RegExp ( "(^(\\*\\*?)(?:" + n + ")?).+?(?=\\2)" ) , lookbehind : ! 0 } , italic : { pattern : RegExp ( "(^(__?)(?:" + n + ")?).+?(?=\\2)" ) , lookbehind : ! 0 } , cite : { pattern : RegExp ( "(^\\?\\?(?:" + n + ")?).+?(?=\\?\\?)" ) , lookbehind : ! 0 , alias : "string" } , code : { pattern : RegExp ( "(^@(?:" + n + ")?).+?(?=@)" ) , lookbehind : ! 0 , alias : "keyword" } , inserted : { pattern : RegExp ( "(^\\+(?:" + n + ")?).+?(?=\\+)" ) , lookbehind : ! 0 } , deleted : { pattern : RegExp ( "(^-(?:" + n + ")?).+?(?=-)" ) , lookbehind : ! 0 } , span : { pattern : RegExp ( "(^%(?:" + n + ")?).+?(?=%)" ) , lookbehind : ! 0 } , modifier : { pattern : RegExp ( "(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])" + n ) , lookbehind : ! 0 , inside : i } , punctuation : /[*_%?@+\-^~]+/ } } , "link-ref" : { pattern : /^\[[^\]]+\]\S+$/m , inside : { string : { pattern : /(\[)[^\]]+(?=\])/ , lookbehind : ! 0 } , url : { pattern : /(\])\S+$/ , lookbehind : ! 0 } , punctuation : /[\[\]]/ } } , link : { pattern : RegExp ( '"(?:' + n + ')?[^"]+":.+?(?=[^\\w/]?(?:\\s|$))' ) , inside : { text : { pattern : RegExp ( '(^"(?:' + n + ')?)[^"]+(?=")' ) , lookbehind : ! 0 } , modifier : { pattern : RegExp ( '(^")' + n ) , lookbehind : ! 0 , inside : i } , url : { pattern : /(:).+/ , lookbehind : ! 0 } , punctuation : /[":]/ } } , image : { pattern : RegExp ( "!(?:" + n + "|[<>=()])*[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?" ) , inside : { source : { pattern : RegExp ( "(^!(?:" + n + "|[<>=()])*)[^!\\s()]+(?:\\([^)]+\\))?(?=!)" ) , lookbehind : ! 0 , alias : "url" } , modifier : { pattern : RegExp ( "(^!)(?:" + n + "|[<>=()])+" ) , lookbehind : ! 0 , inside : i } , url : { pattern : /(:).+/ , lookbehind : ! 0 } , punctuation : /[!:]/ } } , footnote : { pattern : /\b\[\d+\]/ , alias : "comment" , inside : { punctuation : /\[|\]/ } } , acronym : { pattern : /\b[A-Z\d]+\([^)]+\)/ , inside : { comment : { pattern : /(\()[^)]+(?=\))/ , lookbehind : ! 0 } , punctuation : /[()]/ } } , mark : { pattern : /\b\((?:TM|R|C)\)/ , alias : "comment" , inside : { punctuation : /[()]/ } } } } } ) , a = t . phrase . inside , o = { inline : a . inline , link : a . link , image : a . image , footnote : a . footnote , acronym : a . acronym , mark : a . mark } ; t . tag . pattern = /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i ; var r = a . inline . inside ; r . bold . inside = o , r . italic . inside = o , r . inserted . inside = o , r . deleted . inside = o , r . span . inside = o ; var d = a . table . inside ; d . inline = o . inline , d . link = o . link , d . image = o . image , d . footnote = o . footnote , d . acronym = o . acronym , d . mark = o . mark } ( Prism ) ;
Prism . languages . rust = { comment : [ { pattern : /(^|[^\\])\/\*[\s\S]*?\*\// , lookbehind : ! 0 } , { pattern : /(^|[^\\:])\/\/.*/ , lookbehind : ! 0 } ] , string : [ { pattern : /b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/ , greedy : ! 0 } , { pattern : /b?"(?:\\.|[^\\\r\n"])*"/ , greedy : ! 0 } ] , char : { pattern : /b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/ , alias : "string" } , "lifetime-annotation" : { pattern : /'[^\s>']+/ , alias : "symbol" } , keyword : /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ , attribute : { pattern : /#!?\[.+?\]/ , greedy : ! 0 , alias : "attr-name" } , function : [ /\w+(?=\s*\()/ , /\w+!(?=\s*\(|\[)/ ] , "macro-rules" : { pattern : /\w+!/ , alias : "function" } , number : /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/ , "closure-params" : { pattern : /\|[^|]*\|(?=\s*[{-])/ , inside : { punctuation : /[|:,]/ , operator : /[&*]/ } } , punctuation : /[{}[\];(),:]|\.+|->/ , operator : /[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<<?=?|>>?=?/ } ;
2019-01-28 03:11:02 +03:00
! function ( e ) { e . languages . sass = e . languages . extend ( "css" , { comment : { pattern : /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m , lookbehind : ! 0 } } ) , e . languages . insertBefore ( "sass" , "atrule" , { "atrule-line" : { pattern : /^(?:[ \t]*)[@+=].+/m , inside : { atrule : /(?:@[\w-]+|[+=])/m } } } ) , delete e . languages . sass . atrule ; var t = /\$[-\w]+|#\{\$[-\w]+\}/ , a = [ /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/ , { pattern : /(\s+)-(?=\s)/ , lookbehind : ! 0 } ] ; e . languages . insertBefore ( "sass" , "property" , { "variable-line" : { pattern : /^[ \t]*\$.+/m , inside : { punctuation : /:/ , variable : t , operator : a } } , "property-line" : { pattern : /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m , inside : { property : [ /[^:\s]+(?=\s*:)/ , { pattern : /(:)[^:\s]+/ , lookbehind : ! 0 } ] , punctuation : /:/ , variable : t , operator : a , important : e . languages . sass . important } } } ) , delete e . languages . sass . property , delete e . languages . sass . important , e . languages . insertBefore ( "sass" , "punctuation" , { selector : { pattern : /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/ , lookbehind : ! 0 } } ) } ( Prism ) ;
2019-03-31 20:18:08 +03:00
! function ( n ) { var t = { url : /url\((["']?).*?\1\)/i , string : { pattern : /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/ , greedy : ! 0 } , interpolation : null , func : null , important : /\B!(?:important|optional)\b/i , keyword : { pattern : /(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/ , lookbehind : ! 0 } , hexcode : /#[\da-f]{3,6}/i , number : /\b\d+(?:\.\d+)?%?/ , boolean : /\b(?:true|false)\b/ , operator : [ /~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ ] , punctuation : /[{}()\[\];:,]/ } ; t . interpolation = { pattern : /\{[^\r\n}:]+\}/ , alias : "variable" , inside : { delimiter : { pattern : /^{|}$/ , alias : "punctuation" } , rest : t } } , t . func = { pattern : /[\w-]+\([^)]*\).*/ , inside : { function : /^[^(]+/ , rest : t } } , n . languages . stylus = { comment : { pattern : /(^|[^\\])(\/\*[\s\S]*?\*\/|\/\/.*)/ , lookbehind : ! 0 } , "atrule-declaration" : { pattern : /(^\s*)@.+/m , lookbehind : ! 0 , inside : { atrule : /^@[\w-]+/ , rest : t } } , "variable-declaration" : { pattern : /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m , lookbehind : ! 0 , inside : { variable : /^\S+/ , rest : t } } , statement : { pattern : /(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m , lookbehind : ! 0 , inside : { keyword : /^\S+/ , rest : t } } , "property-declaration" : { pattern : /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m , lookbehind : ! 0 , inside : { property : { pattern : /^[^\s:]+/ , inside : { interpolation : t . interpolation } } , rest : t } } , selector : { pattern : /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m , lookbehind : ! 0 , inside : { interpolation : t . interpolation , punctuation : /[{},]/ } } , func : t . func , string : t . string , interpolation : t . interpolation , punctuation : /[{}()\[\];:.]/ } } ( Prism ) ;
Prism . languages . scheme = { comment : /;.*/ , string : { pattern : /"(?:[^"\\\r\n]|\\.)*"|'[^()#'\s]+/ , greedy : ! 0 } , character : { pattern : /#\\(?:u[a-fA-F\d]{4}|[a-zA-Z]+|\S)/ , alias : "string" } , keyword : { pattern : /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/ , lookbehind : ! 0 } , builtin : { pattern : /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s])/ , lookbehind : ! 0 } , number : { pattern : /(\s|[()])[-+]?\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?\b/ , lookbehind : ! 0 } , boolean : /#[tf]/ , operator : { pattern : /(\()(?:[-+*%\/]|[<>]=?|=>?)(?=\s|$)/ , lookbehind : ! 0 } , function : { pattern : /(\()[^()'\s]+(?=[()\s)]|$)/ , lookbehind : ! 0 } , punctuation : /[()']/ } ;
Prism . languages . twig = { comment : /\{#[\s\S]*?#\}/ , tag : { pattern : /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/ , inside : { ld : { pattern : /^(?:\{\{-?|\{%-?\s*\w+)/ , inside : { punctuation : /^(?:\{\{|\{%)-?/ , keyword : /\w+/ } } , rd : { pattern : /-?(?:%\}|\}\})$/ , inside : { punctuation : /.+/ } } , string : { pattern : /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ , inside : { punctuation : /^['"]|['"]$/ } } , keyword : /\b(?:even|if|odd)\b/ , boolean : /\b(?:true|false|null)\b/ , number : /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ , operator : [ { pattern : /(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ , lookbehind : ! 0 } , /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/ ] , property : /\b[a-zA-Z_]\w*\b/ , punctuation : /[()\[\]{}:.,]/ } } , other : { pattern : /\S(?:[\s\S]*\S)?/ , inside : Prism . languages . markup } } ;
2019-01-28 03:11:02 +03:00
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 . languages . swift ;
2019-03-31 20:18:08 +03:00
Prism . languages . yaml = { scalar : { pattern : /([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\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]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m , lookbehind : ! 0 , greedy : ! 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 : /---|[:[\]{}\-,|>?]|\.\.\./ } , Prism . languages . yml = Prism . languages . yaml ;
! function ( e ) { e . languages . haml = { "multiline-comment" : { pattern : /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ]+.+)*/ , lookbehind : ! 0 , alias : "comment" } , "multiline-code" : [ { pattern : /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ]+.+)/ , lookbehind : ! 0 , inside : { rest : e . languages . ruby } } , { pattern : /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/ , lookbehind : ! 0 , inside : { rest : e . languages . ruby } } ] , filter : { pattern : /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ , lookbehind : ! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" } } } , markup : { pattern : /((?:^|\r?\n|\r)[\t ]*)<.+/ , lookbehind : ! 0 , inside : { rest : e . languages . markup } } , doctype : { pattern : /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/ , lookbehind : ! 0 } , tag : { pattern : /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/ , lookbehind : ! 0 , inside : { attributes : [ { pattern : /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ , lookbehind : ! 0 , inside : { rest : e . languages . ruby } } , { pattern : /\([^)]+\)/ , inside : { "attr-value" : { pattern : /(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/ , lookbehind : ! 0 } , "attr-name" : /[\w:-]+(?=\s*!?=|\s*[,)])/ , punctuation : /[=(),]/ } } , { pattern : /\[[^\]]+\]/ , inside : { rest : e . languages . ruby } } ] , punctuation : /[<>]/ } } , code : { pattern : /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/ , lookbehind : ! 0 , inside : { rest : e . languages . ruby } } , interpolation : { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "punctuation" } , rest : e . languages . ruby } } , punctuation : { pattern : /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/ , lookbehind : ! 0 } } ; for ( var t = [ "css" , { filter : "coffee" , language : "coffeescript" } , "erb" , "javascript" , "less" , "markdown" , "ruby" , "scss" , "textile" ] , r = { } , n = 0 , a = t . length ; n < a ; n ++ ) { var i = t [ n ] ; i = "string" == typeof i ? { filter : i , language : i } : i , e . languages [ i . language ] && ( r [ "filter-" + i . filter ] = { pattern : RegExp ( "((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+" . replace ( "{{filter_name}}" , i . filter ) ) , lookbehind : ! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" } , rest : e . languages [ i . language ] } } ) } e . languages . insertBefore ( "haml" , "filter" , r ) } ( Prism ) ;
! function ( e ) { var d = "(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\.|[^\\\\\"\r\n])*\")" ; Prism . languages . toml = { comment : { pattern : /#.*/ , greedy : ! 0 } , table : { pattern : RegExp ( "(\\[\\s*)" + d + "(?:\\s*\\.\\s*" + d + ")*(?=\\s*\\])" ) , lookbehind : ! 0 , greedy : ! 0 , alias : "class-name" } , key : { pattern : RegExp ( "(^\\s*|[{,]\\s*)" + d + "(?:\\s*\\.\\s*" + d + ")*(?=\\s*=)" , "m" ) , lookbehind : ! 0 , greedy : ! 0 , alias : "property" } , string : { pattern : /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/ , greedy : ! 0 } , date : [ { pattern : /\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?/i , alias : "number" } , { pattern : /\d{2}:\d{2}:\d{2}(?:\.\d+)?/i , alias : "number" } ] , number : /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?(?:inf|nan)\b/ , boolean : /\b(?:true|false)\b/ , punctuation : /[.,=[\]{}]/ } } ( ) ;
! function ( e ) { e . languages . pug = { comment : { pattern : /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ]+.+)*/m , lookbehind : ! 0 } , "multiline-script" : { pattern : /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m , lookbehind : ! 0 , inside : { rest : e . languages . javascript } } , filter : { pattern : /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m , lookbehind : ! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" } } } , "multiline-plain-text" : { pattern : /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m , lookbehind : ! 0 } , markup : { pattern : /(^[\t ]*)<.+/m , lookbehind : ! 0 , inside : { rest : e . languages . markup } } , doctype : { pattern : /((?:^|\n)[\t ]*)doctype(?: .+)?/ , lookbehind : ! 0 } , "flow-control" : { pattern : /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m , lookbehind : ! 0 , inside : { each : { pattern : /^each .+? in\b/ , inside : { keyword : /\b(?:each|in)\b/ , punctuation : /,/ } } , branch : { pattern : /^(?:if|unless|else|case|when|default|while)\b/ , alias : "keyword" } , rest : e . languages . javascript } } , keyword : { pattern : /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m , lookbehind : ! 0 } , mixin : [ { pattern : /(^[\t ]*)mixin .+/m , lookbehind : ! 0 , inside : { keyword : /^mixin/ , function : /\w+(?=\s*\(|\s*$)/ , punctuation : /[(),.]/ } } , { pattern : /(^[\t ]*)\+.+/m , lookbehind : ! 0 , inside : { name : { pattern : /^\+\w+/ , alias : "function" } , rest : e . languages . javascript } } ] , script : { pattern : /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m , lookbehind : ! 0 , inside : { rest : e . languages . javascript } } , "plain-text" : { pattern : /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m , lookbehind : ! 0 } , tag : { pattern : /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m , lookbehind : ! 0 , inside : { attributes : [ { pattern : /&[^(]+\([^)]+\)/ , inside : { rest : e . languages . javascript } } , { pattern : /\([^)]+\)/ , inside : { "attr-value" : { pattern : /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/ , lookbehind : ! 0 , inside : { rest : e . languages . javascript } } , "attr-name" : /[\w-]+(?=\s*!?=|\s*[,)])/ , punctuation : /[!=(),]+/ } } ] , punctuation : /:/ } } , code : [ { pattern : /(^[\t ]*(?:-|!?=)).+/m , lookbehind : ! 0 , inside : { rest : e . languages . javascript } } ] , punctuation : /[.\-!=|]+/ } ; for ( var t = [ { filter : "atpl" , language : "twig" } , { filter : "coffee" , language : "coffeescript" } , "ejs" , "handlebars" , "less" , "livescript" , "markdown" , { filter : "sass" , language : "scss" } , "stylus" ] , n = { } , a = 0 , i = t . length ; a < i ; a ++ ) { var r = t [ a ] ; r = "string" == typeof r ? { filter : r , language : r } : r , e . languages [ r . language ] && ( n [ "filter-" + r . filter ] = { pattern : RegExp ( "(^([\t ]*)):{{filter_name}}(?:(?:\r?\n|\r(?!\n))(?:\\2[\t ]+.+|\\s*?(?=\r?\n|\r)))+" . replace ( "{{filter_name}}" , r . filter ) , "m" ) , lookbehind : ! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" } , rest : e . languages [ r . language ] } } ) } e . languages . insertBefore ( "pug" , "filter" , n ) } ( Prism ) ;
2019-01-28 03:11:02 +03:00
var typescript = Prism . util . clone ( Prism . languages . typescript ) ; Prism . languages . tsx = Prism . languages . extend ( "jsx" , typescript ) ;
2019-03-31 20:18:08 +03:00
Prism . languages [ "visual-basic" ] = { comment : { pattern : /(?:['‘ ’ ]|REM\b).*/i , inside : { keyword : /^REM/i } } , directive : { pattern : /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n]_[^\S\r\n]*(?:\r\n?|\n)|.)+/i , alias : "comment" , greedy : ! 0 } , string : { pattern : /["“”](?:["“”]{2}|[^"“”])*["“”]C?/i , greedy : ! 0 } , date : { pattern : /#[^\S\r\n]*(?:\d+([/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))?|(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))[^\S\r\n]*#/i , alias : "builtin" } , number : /(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i , boolean : /\b(?:True|False|Nothing)\b/i , keyword : /\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i , operator : [ /[+\-*/\\^<=>&#@$%!]/ , { pattern : /([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/ , lookbehind : ! 0 } ] , punctuation : /[{}().,:?]/ } , Prism . languages . vb = Prism . languages [ "visual-basic" ] ;
Prism . languages . vim = { string : /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/ , comment : /".*/ , function : /\w+(?=\()/ , keyword : / \ b ( ? : a b | a b b r e v i a t e | a b c | a b c l e a r | a b o | a b o v e l e f t | a l | a l l | a r g a | a r g a d d | a r g d | a r g d e l e t e | a r g d o | a r g e | a r g e d i t | a r g g | a r g g l o b a l | a r g l | a r g l o c a l | a r | a r g s | a r g u | a r g u m e n t | a s | a s c i i | b a d | b a d d | b a | b a l l | b d | b d e l e t e | b e | b e l | b e l o w r i g h t | b f | b f i r s t | b l | b l a s t | b m | b m o d i f i e d | b n | b n e x t | b N | b N e x t | b o | b o t r i g h t | b p | b p r e v i o u s | b r e a | b r e a k | b r e a k a | b r e a k a d d | b r e a k d | b r e a k d e l | b r e a k l | b r e a k l i s t | b r | b r e w i n d | b r o | b r o w s e | b u f d o | b | b u f f e r | b u f f e r s | b u n | b u n l o a d | b w | b w i p e o u t | c a | c a b b r e v | c a b c | c a b c l e a r | c a d d b | c a d d b u f f e r | c a d | c a d d e x p r | c a d d f | c a d d f i l e | c a l | c a l l | c a t | c a t c h | c b | c b u f f e r | c c | c c l | c c l o s e | c d | c e | c e n t e r | c e x | c e x p r | c f | c f i l e | c f i r | c f i r s t | c g e t b | c g e t b u f f e r | c g e t e | c g e t e x p r | c g | c g e t f i l e | c | c h a n g e | c h a n g e s | c h d | c h d i r | c h e | c h e c k p a t h | c h e c k t | c h e c k t i m e | c l a | c l a s t | c l | c l i s t | c l o | c l o s e | c m a p c | c m a p c l e a r | c n e w | c n e w e r | c n | c n e x t | c N | c N e x t | c n f | c n f i l e | c N f c N f i l e | c n o r e a | c n o r e a b b r e v | c o l | c o l d e r | c o l o | c o l o r s c h e m e | c o m c | c o m c l e a r | c o m p | c o m p i l e r | c o n f | c o n f i r m | c o n | c o n t i n u e | c o p e | c o p e n | c o | c o p y | c p f | c p f i l e | c p | c p r e v i o u s | c q | c q u i t | c r | c r e w i n d | c u n a | c u n a b b r e v | c u | c u n m a p | c w | c w i n d o w | d e b u g g | d e b u g g r e e d y | d e l c | d e l c o m m a n d | d | d e l e t e | d e l f | d e l f u n c t i o n | d e l m | d e l m a r k s | d i f f g | d i f f g e t | d i f f o f f | d i f f p a t c h | d i f f p u | d i f f p u t | d i f f s p l i t | d i f f t h i s | d i f f u | d i f f u p d a t e | d i g | d i g r a p h s | d i | d i s p l a y | d j | d j u m p | d l | d l i s t | d r | d r o p | d s | d s e a r c h | d s p | d s p l i t | e a r l i e r | e c h o e | e c h o e r r | e c h o m | e c h o m s g | e c h o n | e | e d i t | e l | e l s e | e l s e i | e l s e i f | e m | e m e n u | e n d f o | e n d f o r | e n d f | e n d f u n c t i o n | e n d f u n | e n | e n d i f | e n d t | e n d t r y | e n d w | e n d w h i l e | e n e | e n e w | e x | e x i | e x i t | e x u | e x u s a g e | f | f i l e | f i l e s | f i l e t y p e | f i n a | f i n a l l y | f i n | f i n d | f i n i | f i n i s h | f i r | f i r s t | f i x | f i x d e l | f o | f o l d | f o l d c | f o l d c l o s e | f o l d d o c | f o l d d o c l o s e d | f o l d d | f o l d d o o p e n | f o l d o | f o l d o p e n | f o r | f u | f u n | f u n c t i o n | g o | g o t o | g r | g r e p | g r e p a | g r e p a d d | h a | h a r d c o p y | h | h e l p | h e l p f | h e l p f i n d | h e l p g | h e l p g r e p | h e l p t | h e l p t a g s | h i d | h i d e | h i s | h i s t o r y | i a | i a b b r e v | i a b c | i a b c l e a r | i f | i j | i j u m p | i l | i l i s t | i m a p c | i m a p c l e a r | i n | i n o r e a | i n o r e a b b r e v | i s e a r c h | i s p | i s p l i t | i u n a | i u n a b b r e v | i u | i u n m a p | j | j o i n | j u | j u m p s | k | k e e p a l t | k e e p j | k e e p j u m p s | k e e | k e e p m a r k s | l a d d b | l a d d b u f f e r | l a d | l a d d e x p r | l a d d f | l a d d f i l e | l a n | l a n g u a g e | l a | l a s t | l a t e r | l b | l b u f f e r | l c | l c d | l c h | l c h d i r | l c l | l c l o s e | l e t | l e f t | l e f t a | l e f t a b o v e | l e x | l e x p r | l f | l f i l e | l f i r | l f i r s t | l g e t b | l g e t b u f f e r | l g e t e | l g e t e x p r | l g | l g e t f i l e | l g r | l g r e p | l g r e p a | l g r e p a d d | l h | l h e l p g r e p | l | l i s t | l l | l l a | l l a s t | l l i | l l i s t | l m a k | l m a k e | l m | l m a p | l m a p c | l m a p c l e a r | l n e w | l n e w e r | l n e | l n e x t | l N | l N e x t | l n f | l n f i l e | l N f | l N f i l e | l n | l n o r e m a p | l o | l o a d v i e w | l o c | l o c k m a r k s | l o c k v | l o c k v a r | l o l | l o l d e r | l o p | l o p e n | l p f | l p f i l e | l p | l p r e v i o u s | l r | l r e w i n d | l s | l t | l t a g | l u | l u n m a p | l v | l v i m g r e p | l v i m g r e p a | l v i m g r e p a d d | l w | l w i n d o w | m a k | m a k e | m a | m a r k | m a r k s | m a t | m a t c h | m e n u t | m e n u t r a n s l a t e | m k | m k e x r c | m k s | m k s e s s i o n | m k s p | m k s p e l l | m k v i e | m k v i e w | m k v | m k v i m r c | m o d | m o d e | m | m o v e | m z f | m z f i l e | m z | m z s c h e m e | n b k e y | n e w | n | n e x t | N | N e x t | n m a p c | n m a p c l e a r | n o h | n o h l s e a r c h | n o r e a | n o r e a b b r e v | n u | n u m b e r | n u n | n u n m a p | o m a p c | o m a p c l e a r | o n | o n l y | o | o p e n | o p t | o p t i o n s | o u | o u n m a p | p c | p c l o s e | p e d | p e d i t | p e | p e r l | p e r l d | p e r l d o | p o | p o p | p o p u | p o p u p | p p | p p o p | p r e | p r e s e r v e | p r e v | p r e v i o u s | p | p r i n t | P | P r i n t | p r o f d | p r o f d e l | p r o f | p r o f i l e | p r o m p t f | p r o m p t f i n d | p r o m p t r | p r o m p t r e p l | p s | p s e a r c h | p t a | p t a g | p t f | p t f i r s t | p t j | p t j u m p | p t l | p t l a s t | p t n | p t n e x t | p t N | p t N e x t | p t p | p t p r e v i o u s | p t r | p t r e w i n d | p t s | p t s e l e c t | p u | p u t | p w | p w d | p y f | p y f i l e | p y | p y t h o n | q a | q a l l | q | q u i t | q u i t a | q u i t a l l | r | r e a d | r e c | r e c o v e r | r e d i | r e d i r | r e d | r e d o | r e d r | r e d r a w | r e d r a w s | r e d r a w s t a t u s | r e g | r e g i s t e r s | r e s | r e s i z e | r e t | r e t a b | r e t u | r e t u r n | r e w | r e w i n d | r i | r i g h t | r i g h t b | r i g h t b e l o w | r u b | r u b y | r u b y d | r u b y d o | r u b y f | r u b y f i l e | r u | r u n t i m e | r v | r v i m i n f o | s a l | s a l l | s a n | s a n d b o x | s a | s a r g u m e n t | s a v | s a v e a s | s b a | s b a l l | s b f | s b f i r s t | s b l | s b l a s t | s b m | s b m o d i f i e d | s b n | s b n e x t | s b N | s b N e x t | s b p | s b p r e v i o u s | s b r | s b r e w i n d | s b | s b u f f e r | s c r i p t e | s c r i p t e n c o d i n g | s c r i p | s c r i p t n a m e s | s e | s e t | s e t f | s e t f i l e t y p e | s e t g | s e t g l o b a l | s e t l | s e t l o c a l | s f | s f i n d | s f i r | s f i r s t | s h | s h e l l | s i g n | s i l | s i l e n t | s i m | s i m a l t | s l a | s l a s t | s l | s l e e p | s m | s m a g i c | s m | s m a p | s m a p c | s m a p c l e a r | s m e | s m e n u | s n | s n e x t | s N | s N e x t | s n i | s n i f f | s n o | s n o m a g i c | s n o r | s n o r e m a p | s n o r e m e | s n o r e m e n u | s o r | s o r t | s o | s o u r c e | s p e l l d | s p e l l d u m p | s p e | s p e l l g o o d | s p e l l i | s p e l l i n f o | s p e l l r | s p e l l r e p a l l | s p e l l u | s p e l l u n d o | s p e l l w | s p e l l w r o n g | s p | s p l i t | s p r | s p r e v i o u s | s r e | s r e w i n d | s t a | s t a g | s t a r t g | s t a r t g r e p l a c e | s t a r | s t a r t i n s e r t | s t a r t r | s t a r t r e p l a c e | s t j | s t j u m p | s t | s t o p | s t o p i | s t o p i n s e r t | s t s | s t s e l e c t |
Prism . languages . wasm = { comment : [ /\(;[\s\S]*?;\)/ , { pattern : /;;.*/ , greedy : ! 0 } ] , string : { pattern : /"(?:\\[\s\S]|[^"\\])*"/ , greedy : ! 0 } , keyword : [ { pattern : /\b(?:align|offset)=/ , inside : { operator : /=/ } } , { pattern : /\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ , inside : { punctuation : /\./ } } , /\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ ] , variable : /\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i , number : /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ , punctuation : /[()]/ } ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document && document . querySelector ) { var t , h = function ( ) { if ( void 0 === t ) { var e = document . createElement ( "div" ) ; e . style . fontSize = "13px" , e . style . lineHeight = "1.5" , e . style . padding = 0 , e . style . border = 0 , e . innerHTML = " <br /> " , document . body . appendChild ( e ) , t = 38 === e . offsetHeight , document . body . removeChild ( e ) } return t } , l = 0 ; Prism . hooks . add ( "before-sanity-check" , function ( e ) { var t = e . element . parentNode , n = t && t . getAttribute ( "data-line" ) ; if ( t && n && /pre/i . test ( t . nodeName ) ) { var i = 0 ; r ( ".line-highlight" , t ) . forEach ( function ( e ) { i += e . textContent . length , e . parentNode . removeChild ( e ) } ) , i && /^( \n)+$/ . test ( e . code . slice ( - i ) ) && ( e . code = e . code . slice ( 0 , - i ) ) } } ) , Prism . hooks . add ( "complete" , function e ( t ) { var n = t . element . parentNode , i = n && n . getAttribute ( "data-line" ) ; if ( n && i && /pre/i . test ( n . nodeName ) ) { clearTimeout ( l ) ; var r = Prism . plugins . lineNumbers , o = t . plugins && t . plugins . lineNumbers ; g ( n , "line-numbers" ) && r && ! o ? Prism . hooks . add ( "line-numbers" , e ) : ( a ( n , i ) , l = setTimeout ( s , 1 ) ) } } ) , window . addEventListener ( "hashchange" , s ) , window . addEventListener ( "resize" , function ( ) { var e = document . querySelectorAll ( "pre[data-line]" ) ; Array . prototype . forEach . call ( e , function ( e ) { a ( e ) } ) } ) } function r ( e , t ) { return Array . prototype . slice . call ( ( t || document ) . querySelectorAll ( e ) ) } function g ( e , t ) { return t = " " + t + " " , - 1 < ( " " + e . className + " " ) . replace ( /[\n\t]/g , " " ) . indexOf ( t ) } function a ( e , t , n ) { for ( var i , r = ( t = "string" == typeof t ? t : e . getAttribute ( "data-line" ) ) . replace ( /\s+/g , "" ) . split ( "," ) , o = + e . getAttribute ( "data-line-offset" ) || 0 , l = ( h ( ) ? parseInt : parseFloat ) ( getComputedStyle ( e ) . lineHeight ) , a = g ( e , "line-numbers" ) , s = 0 ; i = r [ s ++ ] ; ) { var d = i . split ( "-" ) , u = + d [ 0 ] , c = + d [ 1 ] || u , m = e . querySelector ( '.line-highlight[data-range="' + i + '"]' ) || document . createElement ( "div" ) ; if ( m . setAttribute ( "aria-hidden" , "true" ) , m . setAttribute ( "data-range" , i ) , m . className = ( n || "" ) + " line-highlight" , a && Prism . plugins . lineNumbers ) { var p = Prism . plugins . lineNumbers . getLine ( e , u ) , f = Prism . plugins . lineNumbers . getLine ( e , c ) ; p && ( m . style . top = p . offsetTop + "px" ) , f && ( m . style . height = f . offsetTop - p . offsetTop + f . offsetHeight + "px" ) } else m . setAttribute ( "data-start" , u ) , u < c && m . setAttribute ( "data-end" , c ) , m . style . top = ( u - o - 1 ) * l + "px" , m . textContent = new Array ( c - u + 2 ) . join ( " \n" ) ; a ? e . appendChild ( m ) : ( e . querySelector ( "code" ) || e ) . appendChild ( m ) } } function s ( ) { var e = location . hash . slice ( 1 ) ; r ( ".temporary.line-highlight" ) . forEach ( function ( e ) { e . parentNode . removeChild ( e ) } ) ; var t = ( e . match ( /\.([\d,-]+)$/ ) || [ , "" ] ) [ 1 ] ; if ( t && ! document . getElementById ( e ) ) { var n = e . slice ( 0 , e . lastIndexOf ( "." ) ) , i = document . getElementById ( n ) ; i && ( i . hasAttribute ( "data-line" ) || i . setAttribute ( "data-line" , "" ) , a ( i , t , "temporary " ) , document . querySelector ( ".temporary.line-highlight" ) . scrollIntoView ( ) ) } } } ( ) ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document ) { var l = "line-numbers" , c = /\n(?!$)/g , m = function ( e ) { var t = a ( e ) [ "white-space" ] ; if ( "pre-wrap" === t || "pre-line" === t ) { var n = e . querySelector ( "code" ) , r = e . querySelector ( ".line-numbers-rows" ) , s = e . querySelector ( ".line-numbers-sizer" ) , i = n . textContent . split ( c ) ; s || ( ( s = document . createElement ( "span" ) ) . className = "line-numbers-sizer" , n . appendChild ( s ) ) , s . style . display = "block" , i . forEach ( function ( e , t ) { s . textContent = e || "\n" ; var n = s . getBoundingClientRect ( ) . height ; r . children [ t ] . style . height = n + "px" } ) , s . textContent = "" , s . style . display = "none" } } , a = function ( e ) { return e ? window . getComputedStyle ? getComputedStyle ( e ) : e . currentStyle || null : null } ; window . addEventListener ( "resize" , function ( ) { Array . prototype . forEach . call ( document . querySelectorAll ( "pre." + l ) , m ) } ) , Prism . hooks . add ( "complete" , function ( e ) { if ( e . code ) { var t = e . element , n = t . parentNode ; if ( n && /pre/i . test ( n . nodeName ) && ! t . querySelector ( ".line-numbers-rows" ) ) { for ( var r = ! 1 , s = /(?:^|\s)line-numbers(?:\s|$)/ , i = t ; i ; i = i . parentNode ) if ( s . test ( i . className ) ) { r = ! 0 ; break } if ( r ) { t . className = t . className . replace ( s , " " ) , s . test ( n . className ) || ( n . className += " line-numbers" ) ; var l , a = e . code . match ( c ) , o = a ? a . length + 1 : 1 , u = new Array ( o + 1 ) . join ( "<span></span>" ) ; ( l = document . createElement ( "span" ) ) . setAttribute ( "aria-hidden" , "true" ) , l . className = "line-numbers-rows" , l . innerHTML = u , n . hasAttribute ( "data-start" ) && ( n . style . counterReset = "linenumber " + ( parseInt ( n . getAttribute ( "data-start" ) , 10 ) - 1 ) ) , e . element . appendChild ( l ) , m ( n ) , Prism . hooks . run ( "line-numbers" , e ) } } } } ) , Prism . hooks . add ( "line-numbers" , function ( e ) { e . plugins = e . plugins || { } , e . plugins . lineNumbers = ! 0 } ) , Prism . plugins . lineNumbers = { getLine : function ( e , t ) { if ( "PRE" === e . tagName && e . classList . contains ( l ) ) { var n = e . querySelector ( ".line-numbers-rows" ) , r = parseInt ( e . getAttribute ( "data-start" ) , 10 ) || 1 , s = r + ( n . children . length - 1 ) ; t < r && ( t = r ) , s < t && ( t = s ) ; var i = t - r ; return n . children [ i ] } } } } } ( ) ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document ) { var r = [ ] , i = { } , n = function ( ) { } ; Prism . plugins . toolbar = { } ; var t = Prism . plugins . toolbar . registerButton = function ( t , n ) { var e ; e = "function" == typeof n ? n : function ( t ) { var e ; return "function" == typeof n . onClick ? ( ( e = document . createElement ( "button" ) ) . type = "button" , e . addEventListener ( "click" , function ( ) { n . onClick . call ( this , t ) } ) ) : "string" == typeof n . url ? ( e = document . createElement ( "a" ) ) . href = n . url : e = document . createElement ( "span" ) , e . textContent = n . text , e } , r . push ( i [ t ] = e ) } , e = Prism . plugins . toolbar . hook = function ( a ) { var t = a . element . parentNode ; if ( t && /pre/i . test ( t . nodeName ) && ! t . parentNode . classList . contains ( "code-toolbar" ) ) { var e = document . createElement ( "div" ) ; e . classList . add ( "code-toolbar" ) , t . parentNode . insertBefore ( e , t ) , e . appendChild ( t ) ; var o = document . createElement ( "div" ) ; o . classList . add ( "toolbar" ) , document . body . hasAttribute ( "data-toolbar-order" ) && ( r = document . body . getAttribute ( "data-toolbar-order" ) . split ( "," ) . map ( function ( t ) { return i [ t ] || n } ) ) , r . forEach ( function ( t ) { var e = t ( a ) ; if ( e ) { var n = document . createElement ( "div" ) ; n . classList . add ( "toolbar-item" ) , n . appendChild ( e ) , o . appendChild ( n ) } } ) , e . appendChild ( o ) } } ; t ( "label" , function ( t ) { var e = t . element . parentNode ; if ( e && /pre/i . test ( e . nodeName ) && e . hasAttribute ( "data-label" ) ) { var n , a , o = e . getAttribute ( "data-label" ) ; try { a = document . querySelector ( "template#" + o ) } catch ( t ) { } return a ? n = a . content : ( e . hasAttribute ( "data-url" ) ? ( n = document . createElement ( "a" ) ) . href = e . getAttribute ( "data-url" ) : n = document . createElement ( "span" ) , n . textContent = o ) , n } } ) , Prism . hooks . add ( "complete" , e ) } } ( ) ;
! function ( ) { if ( self . Prism && self . document && document . querySelectorAll && [ ] . filter ) { var d = [ ] ; t ( function ( t , e ) { if ( t && t . meta && t . data ) { if ( t . meta . status && 400 <= t . meta . status ) return "Error: " + ( t . data . message || t . meta . status ) ; if ( "string" == typeof t . data . content ) return "function" == typeof atob ? atob ( t . data . content . replace ( /\s/g , "" ) ) : "Your browser cannot decode base64" } return null } , "github" ) , t ( function ( t , e ) { if ( t && t . meta && t . data && t . data . files ) { if ( t . meta . status && 400 <= t . meta . status ) return "Error: " + ( t . data . message || t . meta . status ) ; var n = t . data . files , a = e . getAttribute ( "data-filename" ) ; if ( null == a ) for ( var r in n ) if ( n . hasOwnProperty ( r ) ) { a = r ; break } return void 0 !== n [ a ] ? n [ a ] . content : "Error: unknown or missing gist file " + a } return null } , "gist" ) , t ( function ( t , e ) { return t && t . node && "string" == typeof t . data ? t . data : null } , "bitbucket" ) ; var s = 0 , l = "Loading…" ; Prism . plugins . jsonphighlight = { registerAdapter : t , removeAdapter : function ( t ) { if ( "string" == typeof t && ( t = n ( t ) ) , "function" == typeof t ) { var e = d . map ( function ( t ) { return t . adapter } ) . indexOf ( t ) ; 0 <= e && d . splice ( e , 1 ) } } , highlight : e } , e ( ) } function t ( t , e ) { e = e || t . name , "function" != typeof t || n ( t ) || n ( e ) || d . push ( { adapter : t , name : e } ) } function n ( t ) { if ( "function" == typeof t ) { for ( var e = 0 ; n = d [ e ++ ] ; ) if ( n . adapter . valueOf ( ) === t . valueOf ( ) ) return n . adapter } else if ( "string" == typeof t ) { var n ; for ( e = 0 ; n = d [ e ++ ] ; ) if ( n . name === t ) return n . adapter } return null } function e ( ) { Array . prototype . slice . call ( document . querySelectorAll ( "pre[data-jsonp]" ) ) . forEach ( function ( a ) { a . textContent = "" ; var r = document . createElement ( "code" ) ; r . textContent = l , a . appendChild ( r ) ; var t = a . getAttribute ( "data-adapter" ) , o = null ; if ( t ) { if ( "function" != typeof window [ t ] ) return void ( r . textContent = "JSONP adapter function '" + t + "' doesn't exist" ) ; o = window [ t ] } var i = "prismjsonp" + s ++ , e = document . createElement ( "a" ) , n = e . href = a . getAttribute ( "data-jsonp" ) ; e . href += ( e . search ? "&" : "?" ) + ( a . getAttribute ( "data-callback" ) || "callback" ) + "=" + i ; var u = setTimeout ( function ( ) { r . textContent === l && ( r . textContent = "Timeout loading '" + n + "'" ) } , 5e3 ) , f = document . createElement ( "script" ) ; f . src = e . href , window [ i ] = function ( t ) { document . head . removeChild ( f ) , clearTimeout ( u ) , delete window [ i ] ; var e = "" ; if ( o ) e = o ( t , a ) ; else for ( var n in d ) if ( null !== ( e = d [ n ] . adapter ( t , a ) ) ) break ; null === e ? r . textContent = "Cannot parse response (perhaps you need an adapter function?)" : ( r . textContent = e , Prism . highlightElement ( r ) ) } , document . head . appendChild ( f ) } ) } } ( ) ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document ) { var u = /(?:^|\s)command-line(?:\s|$)/ ; Prism . hooks . add ( "before-highlight" , function ( e ) { var t = e . vars = e . vars || { } , a = t [ "command-line" ] = t [ "command-line" ] || { } ; if ( ! a . complete && e . code ) { var n = e . element . parentNode ; if ( n && /pre/i . test ( n . nodeName ) && ( u . test ( n . className ) || u . test ( e . element . className ) ) ) if ( e . element . querySelector ( ".command-line-prompt" ) ) a . complete = ! 0 ; else { var r = e . code . split ( "\n" ) ; a . numberOfLines = r . length ; var s = a . outputLines = [ ] , o = n . getAttribute ( "data-output" ) , i = n . getAttribute ( "data-filter-output" ) ; if ( o || "" === o ) { o = o . split ( "," ) ; for ( var l = 0 ; l < o . length ; l ++ ) { var m = o [ l ] . split ( "-" ) , p = parseInt ( m [ 0 ] , 10 ) , d = 2 === m . length ? parseInt ( m [ 1 ] , 10 ) : p ; if ( ! isNaN ( p ) && ! isNaN ( d ) ) { p < 1 && ( p = 1 ) , d > r . length && ( d = r . length ) , d -- ; for ( var c = -- p ; c <= d ; c ++ ) s [ c ] = r [ c ] , r [ c ] = "" } } } else if ( i ) for ( l = 0 ; l < r . length ; l ++ ) 0 === r [ l ] . indexOf ( i ) && ( s [ l ] = r [ l ] . slice ( i . length ) , r [ l ] = "" ) ; e . code = r . join ( "\n" ) } else a . complete = ! 0 } else a . complete = ! 0 } ) , Prism . hooks . add ( "before-insert" , function ( e ) { var t = e . vars = e . vars || { } , a = t [ "command-line" ] = t [ "command-line" ] || { } ; if ( ! a . complete ) { for ( var n = e . highlightedCode . split ( "\n" ) , r = 0 ; r < a . outputLines . length ; r ++ ) a . outputLines . hasOwnProperty ( r ) && ( n [ r ] = a . outputLines [ r ] ) ; e . highlightedCode = n . join ( "\n" ) } } ) , Prism . hooks . add ( "complete" , function ( e ) { var t = e . vars = e . vars || { } , a = t [ "command-line" ] = t [ "command-line" ] || { } ; if ( ! a . complete ) { var n = e . element . parentNode ; u . test ( e . element . className ) && ( e . element . className = e . element . className . replace ( u , " " ) ) , u . test ( n . className ) || ( n . className += " command-line" ) ; var r = function ( e , t ) { return ( n . getAttribute ( e ) || t ) . replace ( /"/g , """ ) } , s = new Array ( a . numberOfLines + 1 ) , o = r ( "data-prompt" , "" ) ; if ( "" !== o ) s = s . join ( '<span data-prompt="' + o + '"></span>' ) ; else { var i = r ( "data-user" , "user" ) , l = r ( "data-host" , "localhost" ) ; s = s . join ( '<span data-user="' + i + '" data-host="' + l + '"></span>' ) } var m = document . createElement ( "span" ) ; m . className = "command-line-prompt" , m . innerHTML = s ; for ( var p = 0 ; p < a . outputLines . length ; p ++ ) if ( a . outputLines . hasOwnProperty ( p ) ) { var d = m . children [ p ] ; d . removeAttribute ( "data-user" ) , d . removeAttribute ( "data-host" ) , d . removeAttribute ( "data-prompt" ) } e . element . insertBefore ( m , e . element . firstChild ) , a . complete = ! 0 } } ) } } ( ) ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document ) if ( Prism . plugins . toolbar ) { var r = window . ClipboardJS || void 0 ; r || "function" != typeof require || ( r = require ( "clipboard" ) ) ; var i = [ ] ; if ( ! r ) { var o = document . createElement ( "script" ) , e = document . querySelector ( "head" ) ; o . onload = function ( ) { if ( r = window . ClipboardJS ) for ( ; i . length ; ) i . pop ( ) ( ) } , o . src = "https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js" , e . appendChild ( o ) } Prism . plugins . toolbar . registerButton ( "copy-to-clipboard" , function ( e ) { var t = document . createElement ( "a" ) ; return t . textContent = "Copy" , r ? o ( ) : i . push ( o ) , t ; function o ( ) { var o = new r ( t , { text : function ( ) { return e . code } } ) ; o . on ( "success" , function ( ) { t . textContent = "Copied!" , n ( ) } ) , o . on ( "error" , function ( ) { t . textContent = "Press Ctrl+C to copy" , n ( ) } ) } function n ( ) { setTimeout ( function ( ) { t . textContent = "Copy" } , 5e3 ) } } ) } else console . warn ( "Copy to Clipboard plugin loaded before Toolbar plugin." ) } ( ) ;