2020-04-15 04:07:13 +12:00
/ * P r i s m J S 1 . 2 0 . 0
https : //prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+csharp+dart+go+graphql+http+java+json+kotlin+markup-templating+php+python+ruby+swift+typescript+yaml&plugins=line-numbers */
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : { } , Prism = function ( u ) { var c = /\blang(?:uage)?-([\w-]+)\b/i , n = 0 , C = { manual : u . Prism && u . Prism . manual , disableWorkerMessageHandler : u . Prism && u . Prism . disableWorkerMessageHandler , util : { encode : function e ( n ) { return n instanceof _ ? new _ ( n . type , e ( n . content ) , n . alias ) : Array . isArray ( n ) ? n . map ( e ) : n . 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 : ++ n } ) , e . _ _id } , clone : function t ( e , r ) { var a , n , l = C . util . type ( e ) ; switch ( r = r || { } , l ) { case "Object" : if ( n = C . util . objId ( e ) , r [ n ] ) return r [ n ] ; for ( var i in a = { } , r [ n ] = a , e ) e . hasOwnProperty ( i ) && ( a [ i ] = t ( e [ i ] , r ) ) ; return a ; case "Array" : return n = C . util . objId ( e ) , r [ n ] ? r [ n ] : ( a = [ ] , r [ n ] = a , e . forEach ( function ( e , n ) { a [ n ] = t ( e , r ) } ) , a ) ; default : return e } } , getLanguage : function ( e ) { for ( ; e && ! c . test ( e . className ) ; ) e = e . parentElement ; return e ? ( e . className . match ( c ) || [ , "none" ] ) [ 1 ] . toLowerCase ( ) : "none" } , currentScript : function ( ) { if ( "undefined" == typeof document ) return null ; if ( "currentScript" in document ) return document . currentScript ; try { throw new Error } catch ( e ) { var n = ( /at [^(\r\n]*\((.*):.+:.+\)$/i . exec ( e . stack ) || [ ] ) [ 1 ] ; if ( n ) { var t = document . getElementsByTagName ( "script" ) ; for ( var r in t ) if ( t [ r ] . src == n ) return t [ r ] } return null } } } , languages : { extend : function ( e , n ) { var t = C . util . clone ( C . languages [ e ] ) ; for ( var r in n ) t [ r ] = n [ r ] ; return t } , insertBefore : function ( t , e , n , r ) { var a = ( r = r || C . languages ) [ t ] , l = { } ; for ( var i in a ) if ( a . hasOwnProperty ( i ) ) { if ( i == e ) for ( var o in n ) n . hasOwnProperty ( o ) && ( l [ o ] = n [ o ] ) ; n . hasOwnProperty ( i ) || ( l [ i ] = a [ i ] ) } var s = r [ t ] ; return r [ t ] = l , C . languages . DFS ( C . languages , function ( e , n ) { n === s && e != t && ( this [ e ] = l ) } ) , l } , DFS : function e ( n , t , r , a ) { a = a || { } ; var l = C . util . objId ; for ( var i in n ) if ( n . hasOwnProperty ( i ) ) { t . call ( n , i , n [ i ] , r || i ) ; var o = n [ i ] , s = C . util . type ( o ) ; "Object" !== s || a [ l ( o ) ] ? "Array" !== s || a [ l ( o ) ] || ( a [ l ( o ) ] = ! 0 , e ( o , t , i , a ) ) : ( a [ l ( o ) ] = ! 0 , e ( o , t , null , a ) ) } } } , plugins : { } , highlightAll : function ( e , n ) { C . highlightAllUnder ( document , e , n ) } , highlightAllUnder : function ( e , n , t ) { var r = { callback : t , container : e , selector : 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' } ; C . hooks . run ( "before-highlightall" , r ) , r . elements = Array . prototype . slice . apply ( r . container . querySelectorAll ( r . selector ) ) , C . hooks . run ( "before-all-elements-highlight" , r ) ; for ( var a , l = 0 ; a = r . elements [ l ++ ] ; ) C . highlightElement ( a , ! 0 === n , r . callback ) } , highlightElement : function ( e , n , t ) { var r = C . util . getLanguage ( e ) , a = C . languages [ r ] ; e . className = e . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + r ; var l = e . parentNode ; l && "pre" === l . nodeName . toLowerCase ( ) && ( l . className = l . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + r ) ; var i = { element : e , language : r , grammar : a , code : e . textContent } ; function o ( e ) { i . highlightedCode = e , C . hooks . run ( "before-insert" , i ) , i . element . innerHTML = i . highlightedCode , C . hooks . run ( "after-highlight" , i ) , C . hooks . run ( "complete" , i ) , t && t . call ( i . element ) } if ( C . hooks . run ( "before-sanity-check" , i ) , ! i . code ) return C . hooks . run ( "complete" , i ) , void ( t && t . call ( i . element ) ) ; if ( C . hooks . run ( "before-highlight" , i ) , i . grammar ) if ( n && u . Worker ) { var s = new Worker ( C . filename ) ; s . onmessage = function ( e ) { o ( e . data ) } , s . postMessage ( JSON . stringify ( { language : i . language , code : i . code , immediateClose : ! 0 } ) ) } else o ( C . highlight ( i . code , i . grammar , i . language ) ) ; else o ( C . util . encode ( i . code ) ) } , highlight : function ( e , n , t ) { var r = { code : e , grammar : n , language : t } ; return C . hooks . run ( "before-tokenize" , r ) , r . tokens = C . tokenize ( r . code , r . grammar ) , C . hooks . run ( "after-tokenize" , r ) , _ . stringify ( C . util . encode ( r . tokens ) , r . language ) } , tokenize : function ( e , n ) { var t = n . rest ; if ( t ) { for ( var r in t ) n [ r ] = t [ r ] ; delete n . rest } var a = new l ; return M ( a , a . head , e ) , function e ( n , t , r , a , l , i , o ) { for ( var s in r ) if ( r . hasOwnProperty ( s ) && r [ s ] ) { var u = r [ s ] ; u = Array . isArray ( u ) ? u : [ u ] ; for ( var c = 0 ; c < u . length ; ++ c ) { if ( o && o == s + "," + c ) return ; var g = u [ c ] , f = g . inside , h = ! ! g . lookbehind , d = ! ! g . greedy , v = 0 , p = g . alias ; if ( d && ! g . pattern . global ) { var m = g . pattern . toString ( ) . match ( /[imsuy]*$/ ) [ 0 ] ; g . pattern = RegExp ( g . patte
Prism . languages . markup = { comment : /<!--[\s\S]*?-->/ , prolog : /<\?[\s\S]+?\?>/ , doctype : { pattern : /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i , greedy : ! 0 } , 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 t = { } ; t [ a ] = { pattern : RegExp ( "(<__[^]*?>)(?:<!\\[CDATA\\[[^]*?\\]\\]>\\s*|[^])*?(?=</__>)" . replace ( /__/g , function ( ) { return a } ) , "i" ) , lookbehind : ! 0 , greedy : ! 0 , inside : n } , Prism . languages . insertBefore ( "markup" , "cdata" , t ) } } ) , 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*\{))/ , inside : { rule : /^@[\w-]+/ , "selector-function-argument" : { pattern : /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ , lookbehind : ! 0 , alias : "selector" } } } , url : { pattern : RegExp ( "url\\((?:" + e . source + "|[^\n\r()]*)\\)" , "i" ) , greedy : ! 0 , inside : { function : /^url/i , punctuation : /^\(|\)$/ } } , 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 t = s . languages . markup ; t && ( t . 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 : t . tag . inside } , punctuation : /^\s*=\s*['"]|['"]\s*$/ , "attr-value" : { pattern : /.+/i , inside : s . languages . css } } , alias : "language-css" } } , t . tag ) ) } ( Prism ) ;
2020-01-26 10:32:05 +13:00
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+|\bcatch\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 : /(^|[^.]|\.\.\.\s*)\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](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\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])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\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 : { "template-punctuation" : { pattern : /^`|`$/ , alias : "string" } , interpolation : { pattern : /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/ , lookbehind : ! 0 , 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 ;
2020-04-15 04:07:13 +12:00
! function ( e ) { var t = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b" , n = { environment : { pattern : RegExp ( "\\$" + t ) , alias : "constant" } , variable : [ { pattern : /\$?\(\([\s\S]+?\)\)/ , greedy : ! 0 , 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 : /^\$\(|^`|\)$|`$/ } } , { pattern : /\$\{[^}]+\}/ , greedy : ! 0 , inside : { operator : /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/ , punctuation : /[\[\]]/ , environment : { pattern : RegExp ( "(\\{)" + t ) , lookbehind : ! 0 , alias : "constant" } } } , /\$(?:\w+|[#?*!@$])/ ] , entity : /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/ } ; e . languages . bash = { shebang : { pattern : /^#!\s*\/.*/ , alias : "important" } , comment : { pattern : /(^|[^"{\\$])#.*/ , lookbehind : ! 0 } , "function-name" : [ { pattern : /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ , lookbehind : ! 0 , alias : "function" } , { pattern : /\b\w+(?=\s*\(\s*\)\s*\{)/ , alias : "function" } ] , "for-or-select" : { pattern : /(\b(?:for|select)\s+)\w+(?=\s+in\s)/ , alias : "variable" , lookbehind : ! 0 } , "assign-left" : { pattern : /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/ , inside : { environment : { pattern : RegExp ( "(^|[\\s;|&]|[<>]\\()" + t ) , lookbehind : ! 0 , alias : "constant" } } , alias : "variable" , lookbehind : ! 0 } , string : [ { pattern : /((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : n } , { pattern : /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\2)[^\\])*\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : n } ] , environment : { pattern : RegExp ( "\\$?" + t ) , alias : "constant" } , variable : n . variable , function : { pattern : / ( ^ | [ \ s ; | & ] | [ < > ] \ ( ) ( ? : a d d | a p r o p o s | a p t | a p t i t u d e | a p t - c a c h e | a p t - g e t | a s p e l l | a u t o m y s q l b a c k u p | a w k | b a s e n a m e | b a s h | b c | b c o n s o l e | b g | b z i p 2 | c a l | c a t | c f d i s k | c h g r p | c h k c o n f i g | c h m o d | c h o w n | c h r o o t | c k s u m | c l e a r | c m p | c o l u m n | c o m m | c o m p o s e r | c p | c r o n | c r o n t a b | c s p l i t | c u r l | c u t | d a t e | d c | d d | d d r e s c u e | d e b o o t s t r a p | d f | d i f f | d i f f 3 | d i g | d i r | d i r c o l o r s | d i r n a m e | d i r s | d m e s g | d u | e g r e p | e j e c t | e n v | e t h t o o l | e x p a n d | e x p e c t | e x p r | f d f o r m a t | f d i s k | f g | f g r e p | f i l e | f i n d | f m t | f o l d | f o r m a t | f r e e | f s c k | f t p | f u s e r | g a w k | g i t | g p a r t e d | g r e p | g r o u p a d d | g r o u p d e l | g r o u p m o d | g r o u p s | g r u b - m k c o n f i g | g z i p | h a l t | h e a d | h g | h i s t o r y | h o s t | h o s t n a m e | h t o p | i c o n v | i d | i f c o n f i g | i f d o w n | i f u p | i m p o r t | i n s t a l l | i p | j o b s | j o i n | k i l l | k i l l a l l | l e s s | l i n k | l n | l o c a t e | l o g n a m e | l o g r o t a t e | l o o k | l p c | l p r | l p r i n t | l p r i n t d | l p r i n t q | l p r m | l s | l s o f | l y n x | m a k e | m a n | m c | m d a d m | m k c o n f i g | m k d i r | m k e 2 f s | m k f i f o | m k f s | m k i s o f s | m k n o d | m k s w a p | m m v | m o r e | m o s t | m o u n t | m t o o l s | m t r | m u t t | m v | n a n o | n c | n e t s t a t | n i c e | n l | n o h u p | n o t i f y - s e n d | n p m | n s l o o k u p | o p | o p e n | p a r t e d | p a s s w d | p a s t e | p a t h c h k | p i n g | p k i l l | p n p m | p o p d | p r | p r i n t c a p | p r i n t e n v | p s | p u s h d | p v | q u o t a | q u o t a c h e c k | q u o t a c t l | r a m | r a r | r c p | r e b o o t | r e m s y n c | r e n a m e | r e n i c e | r e v | r m | r m d i r | r p m | r s y n c | s c p | s c r e e n | s d i f f | s e d | s e n d m a i l | s e q | s e r v i c e | s f t p | s h | s h e l l c h e c k | s h u f | s h u t d o w n | s l e e p | s l
! function ( s ) { function a ( e , s ) { return e . replace ( /<<(\d+)>>/g , function ( e , n ) { return "(?:" + s [ + n ] + ")" } ) } function t ( e , n , s ) { return RegExp ( a ( e , n ) , s || "" ) } function e ( e , n ) { for ( var s = 0 ; s < n ; s ++ ) e = e . replace ( /<<self>>/g , function ( ) { return "(?:" + e + ")" } ) ; return e . replace ( /<<self>>/g , "[^\\s\\S]" ) } var n = "bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void" , i = "class enum interface struct" , r = "add alias ascending async await by descending from get global group into join let nameof notnull on orderby partial remove select set unmanaged value when where where" , o = "abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield" ; function l ( e ) { return "\\b(?:" + e . trim ( ) . replace ( / /g , "|" ) + ")\\b" } var d = l ( i ) , p = RegExp ( l ( n + " " + i + " " + r + " " + o ) ) , c = l ( i + " " + r + " " + o ) , u = l ( n + " " + i + " " + o ) , g = e ( "<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>" , 2 ) , b = e ( "\\((?:[^()]|<<self>>)*\\)" , 2 ) , h = "@?\\b[A-Za-z_]\\w*\\b" , f = a ( "<<0>>(?:\\s*<<1>>)?" , [ h , g ] ) , m = a ( "(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*" , [ c , f ] ) , k = "\\[\\s*(?:,\\s*)*\\]" , y = a ( "(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?" , [ a ( "\\(<<0>>+(?:,<<0>>+)+\\)" , [ a ( "[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>" , [ g , b , k ] ) ] ) , m , k ] ) , w = { keyword : p , punctuation : /[<>()?,.:[\]]/ } , v = "'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'" , x = '"(?:\\\\.|[^\\\\"\r\n])*"' ; s . languages . csharp = s . languages . extend ( "clike" , { string : [ { pattern : t ( "(^|[^$\\\\])<<0>>" , [ '@"(?:""|\\\\[^]|[^\\\\"])*"(?!")' ] ) , lookbehind : ! 0 , greedy : ! 0 } , { pattern : t ( "(^|[^@$\\\\])<<0>>" , [ x ] ) , lookbehind : ! 0 , greedy : ! 0 } , { pattern : RegExp ( v ) , greedy : ! 0 , alias : "character" } ] , "class-name" : [ { pattern : t ( "(\\busing\\s+static\\s+)<<0>>(?=\\s*;)" , [ m ] ) , lookbehind : ! 0 , inside : w } , { pattern : t ( "(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)" , [ h , y ] ) , lookbehind : ! 0 , inside : w } , { pattern : t ( "(\\busing\\s+)<<0>>(?=\\s*=)" , [ h ] ) , lookbehind : ! 0 } , { pattern : t ( "(\\b<<0>>\\s+)<<1>>" , [ d , f ] ) , lookbehind : ! 0 , inside : w } , { pattern : t ( "(\\bcatch\\s*\\(\\s*)<<0>>" , [ m ] ) , lookbehind : ! 0 , inside : w } , { pattern : t ( "(\\bwhere\\s+)<<0>>" , [ h ] ) , lookbehind : ! 0 } , { pattern : t ( "(\\b(?:is|as)\\s+)<<0>>" , [ y ] ) , lookbehind : ! 0 , inside : w } , { pattern : t ( "\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+in))" , [ y , u , h ] ) , inside : w } ] , keyword : p , number : /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i , operator : />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/ , punctuation : /\?\.?|::|[{}[\];(),.:]/ } ) , s . languages . insertBefore ( "csharp" , "number" , { range : { pattern : /\.\./ , alias : "operator" } } ) , s . languages . insertBefore ( "csharp" , "punctuation" , { "named-parameter" : { pattern : t ( "([(,]\\s*)<<0>>(?=\\s*:)" , [ h ] ) , lookbehind : ! 0 , alias : "punctuation" } } ) , s . languages . insertBefore ( "csharp" , "class-name" , { namespace : { pattern : t ( "(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])" , [ h ] ) , lookbehind : ! 0 , inside : { punctuation : /\./ } } , "type-expression" : { pattern : t ( "(\\b(?:default|typeof|sizeof)\\s*\\(\\s*)(?:[^()\\s]|\\s(?!\\s*\\))|<<0>>)*(?=\\s*\\))" , [ b ] ) , lookbehind : ! 0 , alias : "class-name" , inside : w } , "return-type" : { pattern : t ( "<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))" , [ y , m ] ) , inside : w , alias : "class-name" } , "constructor-invocation" : { pattern : t ( "(\\bnew\\s+)<<0>>(?=\\s*[[({])" , [ y ] ) , lookbehind : ! 0 , inside : w , alias : "class-name" } , "generic-method" : { pattern : t ( "<<0>>\\s*<<1>>(?=\\s*\\()" , [ h , g ] ) , inside : { function : t ( "^<<0>>" , [ h ] ) , generic : { pattern : RegExp ( g ) , alias : "class-name" , inside : w } } } , "type-list" : { pattern : t ( "\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))" , [ d , f , h , y , p . source ] ) , lookbehind : ! 0 , inside : { keyword : p , "class-name" : { pattern : RegExp ( y ) , greedy : ! 0 , inside : w } , punctuation : /,/ } } , preprocessor : { pattern : /(^\s*)#.*/m , lookbehind : ! 0 , alias : "property" , inside : { directive : { pattern : / ( \ s * # ) \ b ( ? : d e f i n e | e l i f | e l s e | e
2020-01-26 10:32:05 +13:00
Prism . languages . dart = Prism . languages . extend ( "clike" , { string : [ { pattern : /r?("""|''')[\s\S]*?\1/ , greedy : ! 0 } , { pattern : /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } ] , keyword : [ /\b(?:async|sync|yield)\*/ , /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ ] , operator : /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ } ) , Prism . languages . insertBefore ( "dart" , "function" , { metadata : { pattern : /@\w+/ , alias : "symbol" } } ) ;
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/ } ;
! 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 , p = { "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 } , s = { "application/json" : ! 0 , "application/xml" : ! 0 } ; for ( var r in p ) if ( p [ r ] ) { a = a || { } ; var T = s [ r ] ? ( void 0 , n = ( e = r ) . replace ( /^[a-z]+\// , "" ) , "(?:" + e + "|\\w+/(?:[\\w.-]+\\+)+" + n + "(?![+\\w.-]))" ) : r ; a [ r . replace ( /\//g , "-" ) ] = { pattern : RegExp ( "(content-type:\\s*" + T + "[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*" , "i" ) , lookbehind : ! 0 , inside : p [ r ] } } a && t . languages . insertBefore ( "http" , "header-name" , a ) } ( Prism ) ;
2020-04-15 04:07:13 +12:00
! function ( e ) { var t = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\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 : /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m , lookbehind : ! 0 } } ) , e . languages . insertBefore ( "java" , "string" , { "triple-quoted-string" : { pattern : /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ , greedy : ! 0 , alias : "string" } } ) , e . languages . insertBefore ( "java" , "class-name" , { annotation : { alias : "punctuation" , pattern : /(^|[^.])@\w+/ , lookbehind : ! 0 } , namespace : { pattern : RegExp ( "(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?" . replace ( /<keyword>/g , function ( ) { return t . source } ) ) , lookbehind : ! 0 , inside : { punctuation : /\./ } } , generics : { pattern : /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/ , inside : { "class-name" : a , keyword : t , punctuation : /[<>(),.:]/ , operator : /[?&|]/ } } } ) } ( Prism ) ;
2020-01-26 10:32:05 +13:00
Prism . languages . json = { property : { pattern : /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/ , greedy : ! 0 } , string : { pattern : /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/ , greedy : ! 0 } , comment : /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/ , 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 ) ;
2019-08-22 07:22:48 +12: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 ) ;
2020-01-26 10:32:05 +13:00
! 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 : 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]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi ) } } ) , n . hooks . add ( "after-tokenize" , function ( e ) { n . languages [ "markup-templating" ] . tokenizePlaceholders ( e , "php" ) } ) } ( Prism ) ;
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+)*/im , 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 ;
2020-04-15 04:07:13 +12:00
! function ( e ) { e . languages . ruby = e . languages . extend ( "clike" , { comment : [ /#.*/ , { pattern : /^=begin\s[\s\S]*?^=end/m , greedy : ! 0 } ] , "class-name" : { pattern : /(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i , lookbehind : ! 0 , inside : { punctuation : /[.\\]/ } } , keyword : /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|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\]]+\]|\\.|[^[/\\\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 ) ;
2020-01-26 10:32:05 +13: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 ;
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|undefined|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 ;
2020-04-15 04:07:13 +12:00
! function ( n ) { var t = /[*&][^\s[\]{},]+/ , e = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/ , r = "(?:" + e . source + "(?:[ \t]+" + t . source + ")?|" + t . source + "(?:[ \t]+" + e . source + ")?)" ; function a ( n , t ) { t = ( t || "" ) . replace ( /m/g , "" ) + "m" ; var e = "([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|]|}|\\s*#))" . replace ( /<<prop>>/g , function ( ) { return r } ) . replace ( /<<value>>/g , function ( ) { return n } ) ; return RegExp ( e , t ) } n . languages . yaml = { scalar : { pattern : RegExp ( "([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\\2[^\r\n]+)*)" . replace ( /<<prop>>/g , function ( ) { return r } ) ) , lookbehind : ! 0 , alias : "string" } , comment : /#.*/ , key : { pattern : RegExp ( "((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)[^\r\n{[\\]},#\\s]+?(?=\\s*:\\s)" . replace ( /<<prop>>/g , function ( ) { return r } ) ) , lookbehind : ! 0 , alias : "atrule" } , directive : { pattern : /(^[ \t]*)%.+/m , lookbehind : ! 0 , alias : "important" } , datetime : { pattern : a ( "\\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*)?)?" ) , lookbehind : ! 0 , alias : "number" } , boolean : { pattern : a ( "true|false" , "i" ) , lookbehind : ! 0 , alias : "important" } , null : { pattern : a ( "null|~" , "i" ) , lookbehind : ! 0 , alias : "important" } , string : { pattern : a ( "(\"|')(?:(?!\\2)[^\\\\\r\n]|\\\\.)*\\2" ) , lookbehind : ! 0 , greedy : ! 0 } , number : { pattern : a ( "[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)" , "i" ) , lookbehind : ! 0 } , tag : e , important : t , punctuation : /---|[:[\]{}\-,|>?]|\.\.\./ } , n . languages . yml = n . languages . yaml } ( Prism ) ;
! 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 ] } } , resize : function ( e ) { m ( e ) } } } } ( ) ;