mirror of
https://github.com/alecthomas/chroma.git
synced 2025-07-05 00:38:52 +02:00
Fixes: css, html, php.
This commit is contained in:
@ -83,7 +83,10 @@ def resolve_emitter(emitter):
|
|||||||
assert args == {}, args
|
assert args == {}, args
|
||||||
emitter = 'UsingSelf("%s")' % state
|
emitter = 'UsingSelf("%s")' % state
|
||||||
elif issubclass(args, pygments_lexer.Lexer):
|
elif issubclass(args, pygments_lexer.Lexer):
|
||||||
emitter = 'Using(%s, nil)' % args.__name__
|
name = args.__name__
|
||||||
|
if name.endswith('Lexer'):
|
||||||
|
name = name[:-5]
|
||||||
|
emitter = 'Using(%s, nil)' % name
|
||||||
else:
|
else:
|
||||||
raise ValueError('only support "using" with lexer classes, not %r' % args)
|
raise ValueError('only support "using" with lexer classes, not %r' % args)
|
||||||
else:
|
else:
|
||||||
|
@ -4,8 +4,8 @@ import (
|
|||||||
. "github.com/alecthomas/chroma" // nolint
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
)
|
)
|
||||||
|
|
||||||
// Css lexer.
|
// CSS lexer.
|
||||||
var Css = Register(NewLexer(
|
var CSS = Register(NewLexer(
|
||||||
&Config{
|
&Config{
|
||||||
Name: "CSS",
|
Name: "CSS",
|
||||||
Aliases: []string{"css"},
|
Aliases: []string{"css"},
|
||||||
|
@ -4,8 +4,8 @@ import (
|
|||||||
. "github.com/alecthomas/chroma" // nolint
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
)
|
)
|
||||||
|
|
||||||
// Html lexer.
|
// HTML lexer.
|
||||||
var Html = Register(NewLexer(
|
var HTML = Register(NewLexer(
|
||||||
&Config{
|
&Config{
|
||||||
Name: "HTML",
|
Name: "HTML",
|
||||||
Aliases: []string{"html"},
|
Aliases: []string{"html"},
|
||||||
@ -41,11 +41,11 @@ var Html = Register(NewLexer(
|
|||||||
},
|
},
|
||||||
"script-content": {
|
"script-content": {
|
||||||
{`(<)(\s*)(/)(\s*)(script)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)},
|
{`(<)(\s*)(/)(\s*)(script)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)},
|
||||||
{`.+?(?=<\s*/\s*script\s*>)`, Using(JavascriptLexer, nil), nil},
|
{`.+?`, Using(JavaScript, nil), nil},
|
||||||
},
|
},
|
||||||
"style-content": {
|
"style-content": {
|
||||||
{`(<)(\s*)(/)(\s*)(style)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)},
|
{`(<)(\s*)(/)(\s*)(style)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)},
|
||||||
{`.+?(?=<\s*/\s*style\s*>)`, Using(CssLexer, nil), nil},
|
{`.+?`, Using(CSS, nil), nil},
|
||||||
},
|
},
|
||||||
"attr": {
|
"attr": {
|
||||||
{`".*?"`, LiteralString, Pop(1)},
|
{`".*?"`, LiteralString, Pop(1)},
|
||||||
|
@ -22,7 +22,7 @@ var Php = Register(NewLexer(
|
|||||||
},
|
},
|
||||||
"php": {
|
"php": {
|
||||||
{`\?>`, CommentPreproc, Pop(1)},
|
{`\?>`, CommentPreproc, Pop(1)},
|
||||||
{`(<<<)([\'"]?)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)`, ByGroups(LiteralString, LiteralString, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, Punctuation, Text), nil},
|
// {`(<<<)([\'"]?)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)`, ByGroups(LiteralString, LiteralString, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, Punctuation, Text), nil},
|
||||||
{`\s+`, Text, nil},
|
{`\s+`, Text, nil},
|
||||||
{`#.*?\n`, CommentSingle, nil},
|
{`#.*?\n`, CommentSingle, nil},
|
||||||
{`//.*?\n`, CommentSingle, nil},
|
{`//.*?\n`, CommentSingle, nil},
|
||||||
@ -34,7 +34,7 @@ var Php = Register(NewLexer(
|
|||||||
{`\?`, Operator, nil},
|
{`\?`, Operator, nil},
|
||||||
{`[\[\]{}();,]+`, Punctuation, nil},
|
{`[\[\]{}();,]+`, Punctuation, nil},
|
||||||
{`(class)(\s+)`, ByGroups(Keyword, Text), Push("classname")},
|
{`(class)(\s+)`, ByGroups(Keyword, Text), Push("classname")},
|
||||||
{`(function)(\s*)(?=\()`, ByGroups(Keyword, Text), nil},
|
{`(function)(\s*)`, ByGroups(Keyword, Text), nil},
|
||||||
{`(function)(\s+)(&?)(\s*)`, ByGroups(Keyword, Text, Operator, Text), Push("functionname")},
|
{`(function)(\s+)(&?)(\s*)`, ByGroups(Keyword, Text, Operator, Text), Push("functionname")},
|
||||||
{`(const)(\s+)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)`, ByGroups(Keyword, Text, NameConstant), nil},
|
{`(const)(\s+)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)`, ByGroups(Keyword, Text, NameConstant), nil},
|
||||||
{`(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield|finally)\b`, Keyword, nil},
|
{`(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield|finally)\b`, Keyword, nil},
|
||||||
|
Reference in New Issue
Block a user