27 lines
875 B
JavaScript
27 lines
875 B
JavaScript
Prism.languages.python= {
|
|
'triple-quoted-string': {
|
|
pattern: /"""[\s\S]+?"""|'''[\s\S]+?'''/,
|
|
alias: 'string'
|
|
},
|
|
'comment': {
|
|
pattern: /(^|[^\\])#.*/,
|
|
lookbehind: true
|
|
},
|
|
'string': {
|
|
pattern: /("|')(?:\\\\|\\?[^\\\r\n])*?\1/,
|
|
greedy: true
|
|
},
|
|
'function' : {
|
|
pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,
|
|
lookbehind: true
|
|
},
|
|
'class-name': {
|
|
pattern: /(\bclass\s+)[a-z0-9_]+/i,
|
|
lookbehind: true
|
|
},
|
|
'keyword' : /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,
|
|
'boolean' : /\b(?:True|False)\b/,
|
|
'number' : /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,
|
|
'operator' : /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,
|
|
'punctuation' : /[{}[\];(),.:]/
|
|
};
|