32 lines
2.5 KiB
JavaScript
32 lines
2.5 KiB
JavaScript
hljs.registerLanguage("python",function(){"use strict";return function(e){
|
|
const n={
|
|
keyword:"and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal|10 not or pass raise return try while with yield",
|
|
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",
|
|
literal:"__debug__ Ellipsis False None NotImplemented True"},a={
|
|
className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/,
|
|
end:/\}/,keywords:n,illegal:/#/},i={begin:/\{\{/,relevance:0},r={
|
|
className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{
|
|
begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,
|
|
contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{
|
|
begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,
|
|
contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{
|
|
begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,
|
|
contains:[e.BACKSLASH_ESCAPE,a,i,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,
|
|
end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,i,s]},{begin:/([uU]|[rR])'/,end:/'/,
|
|
relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{
|
|
begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,
|
|
end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,
|
|
contains:[e.BACKSLASH_ESCAPE,i,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,
|
|
contains:[e.BACKSLASH_ESCAPE,i,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},t={
|
|
className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{
|
|
begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},l={
|
|
className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{
|
|
begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,
|
|
contains:["self",a,t,r,e.HASH_COMMENT_MODE]}]};return s.contains=[r,t,a],{
|
|
name:"Python",aliases:["py","gyp","ipython"],keywords:n,
|
|
illegal:/(<\/|->|\?)|=>/,contains:[a,t,{beginKeywords:"if",relevance:0
|
|
},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{
|
|
className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,
|
|
contains:[e.UNDERSCORE_TITLE_MODE,l,{begin:/->/,endsWithParent:!0,
|
|
keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{
|
|
begin:/\b(print|exec)\(/}]}}}()); |