Mercurial
comparison third_party/highlight/languages/python.min.js @ 173:827c6ac504cd hg-web
Merged in default here.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 19 Jan 2026 18:59:10 -0800 |
| parents | 2db6253f355d |
| children |
comparison
equal
deleted
inserted
replaced
| 151:c033667da5f9 | 173:827c6ac504cd |
|---|---|
| 1 /*! `python` grammar compiled for Highlight.js 11.11.1 */ | |
| 2 (()=>{var e=(()=>{"use strict";return e=>{ | |
| 3 const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={ | |
| 4 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:s, | |
| 5 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], | |
| 6 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], | |
| 7 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] | |
| 8 },i={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/, | |
| 9 end:/\}/,keywords:t,illegal:/#/},l={begin:/\{\{/,relevance:0},o={ | |
| 10 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ | |
| 11 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, | |
| 12 contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{ | |
| 13 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, | |
| 14 contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{ | |
| 15 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, | |
| 16 contains:[e.BACKSLASH_ESCAPE,i,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, | |
| 17 end:/"""/,contains:[e.BACKSLASH_ESCAPE,i,l,r]},{begin:/([uU]|[rR])'/,end:/'/, | |
| 18 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ | |
| 19 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, | |
| 20 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, | |
| 21 contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, | |
| 22 contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] | |
| 23 },b="[0-9](_?[0-9])*",c=`(\\b(${b}))?\\.(${b})|\\b(${b})\\.`,d="\\b|"+s.join("|"),g={ | |
| 24 className:"number",relevance:0,variants:[{ | |
| 25 begin:`(\\b(${b})|(${c}))[eE][+-]?(${b})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{ | |
| 26 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{ | |
| 27 begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})` | |
| 28 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${b})[jJ](?=${d})` | |
| 29 }]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:t, | |
| 30 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ | |
| 31 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, | |
| 32 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t, | |
| 33 contains:["self",i,g,o,e.HASH_COMMENT_MODE]}]};return r.contains=[o,g,i],{ | |
| 34 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t, | |
| 35 illegal:/(<\/|\?)|=>/,contains:[i,g,{scope:"variable.language",match:/\bself\b/ | |
| 36 },{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" | |
| 37 },o,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword", | |
| 38 3:"title.function"},contains:[m]},{variants:[{ | |
| 39 match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}], | |
| 40 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ | |
| 41 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,o]}]}}})() | |
| 42 ;hljs.registerLanguage("python",e)})(); |