0

Update to 8.0

This commit is contained in:
Rogaboru Kujimoshi
2014-06-08 21:04:39 +04:00
parent 81d0115677
commit a52831ccdb
134 changed files with 10392 additions and 4999 deletions

View File

@@ -2,83 +2,86 @@
Language: Python
*/
hljs.LANGUAGES['python'] = function(hljs) {
var STRINGS = [
{
className: 'string',
begin: '(u|b)?r?\'\'\'', end: '\'\'\'',
relevance: 10
},
{
className: 'string',
begin: '(u|b)?r?"""', end: '"""',
relevance: 10
},
{
className: 'string',
begin: '(u|r|ur)\'', end: '\'',
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 10
},
{
className: 'string',
begin: '(u|r|ur)"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 10
},
{
className: 'string',
begin: '(b|br)\'', end: '\'',
contains: [hljs.BACKSLASH_ESCAPE]
},
{
className: 'string',
begin: '(b|br)"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE]
}
].concat([
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE
]);
var TITLE = {
className: 'title', begin: hljs.UNDERSCORE_IDENT_RE
function(hljs) {
var PROMPT = {
className: 'prompt', begin: /^(>>>|\.\.\.) /
};
var STRING = {
className: 'string',
contains: [hljs.BACKSLASH_ESCAPE],
variants: [
{
begin: /(u|b)?r?'''/, end: /'''/,
contains: [PROMPT],
relevance: 10
},
{
begin: /(u|b)?r?"""/, end: /"""/,
contains: [PROMPT],
relevance: 10
},
{
begin: /(u|r|ur)'/, end: /'/,
relevance: 10
},
{
begin: /(u|r|ur)"/, end: /"/,
relevance: 10
},
{
begin: /(b|br)'/, end: /'/
},
{
begin: /(b|br)"/, end: /"/
},
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE
]
};
var NUMBER = {
className: 'number', relevance: 0,
variants: [
{begin: hljs.BINARY_NUMBER_RE + '[lLjJ]?'},
{begin: '\\b(0o[0-7]+)[lLjJ]?'},
{begin: hljs.C_NUMBER_RE + '[lLjJ]?'}
]
};
var PARAMS = {
className: 'params',
begin: '\\(', end: '\\)',
contains: ['self', hljs.C_NUMBER_MODE].concat(STRINGS)
begin: /\(/, end: /\)/,
contains: ['self', PROMPT, NUMBER, STRING]
};
var FUNC_CLASS_PROTO = {
beginWithKeyword: true, end: ':',
illegal: '[${=;\\n]',
contains: [TITLE, PARAMS],
relevance: 10
end: /:/,
illegal: /[${=;\n]/,
contains: [hljs.UNDERSCORE_TITLE_MODE, PARAMS]
};
return {
defaultMode: {
keywords: {
keyword:
'and elif is global as in if from raise for except finally print import pass return ' +
'exec else break not with class assert yield try while continue del or def lambda ' +
'nonlocal|10',
built_in:
'None True False Ellipsis NotImplemented'
aliases: ['py', 'gyp'],
keywords: {
keyword:
'and elif is global as in if from raise for except finally print import pass return ' +
'exec else break not with class assert yield try while continue del or def lambda ' +
'nonlocal|10 None True False',
built_in:
'Ellipsis NotImplemented'
},
illegal: /(<\/|->|\?)/,
contains: [
PROMPT,
NUMBER,
STRING,
hljs.HASH_COMMENT_MODE,
hljs.inherit(FUNC_CLASS_PROTO, {className: 'function', beginKeywords: 'def', relevance: 10}),
hljs.inherit(FUNC_CLASS_PROTO, {className: 'class', beginKeywords: 'class'}),
{
className: 'decorator',
begin: /@/, end: /$/
},
illegal: '(</|->|\\?)',
contains: STRINGS.concat([
hljs.HASH_COMMENT_MODE,
hljs.inherit(FUNC_CLASS_PROTO, {className: 'function', keywords: 'def'}),
hljs.inherit(FUNC_CLASS_PROTO, {className: 'class', keywords: 'class'}),
hljs.C_NUMBER_MODE,
{
className: 'decorator',
begin: '@', end: '$'
},
{
begin: '\\b(print|exec)\\(' // dont highlight keywords-turned-functions in Python 3
}
])
}
{
begin: /\b(print|exec)\(/ // dont highlight keywords-turned-functions in Python 3
}
]
};
}(hljs);
}