mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Server-side syntax highlighting for all code (#12047)
* Server-side syntax hilighting for all code This PR does a few things: * Remove all traces of highlight.js * Use chroma library to provide fast syntax hilighting directly on the server * Provide syntax hilighting for diffs * Re-style both unified and split diffs views * Add custom syntax hilighting styling for both regular and arc-green Fixes #7729 Fixes #10157 Fixes #11825 Fixes #7728 Fixes #3872 Fixes #3682 And perhaps gets closer to #9553 * fix line marker * fix repo search * Fix single line select * properly load settings * npm uninstall highlight.js * review suggestion * code review * forgot to call function * fix test * Apply suggestions from code review suggestions from @silverwind thanks Co-authored-by: silverwind <me@silverwind.io> * code review * copy/paste error * Use const for highlight size limit * Update web_src/less/_repository.less Co-authored-by: Lauris BH <lauris@nix.lv> * update size limit to 1MB and other styling tweaks * fix highlighting for certain diff sections * fix test * add worker back as suggested Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		
							
								
								
									
										91
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/c.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/c.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // C lexer. | ||||
| var C = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "C", | ||||
| 		Aliases:   []string{"c"}, | ||||
| 		Filenames: []string{"*.c", "*.h", "*.idc"}, | ||||
| 		MimeTypes: []string{"text/x-chdr", "text/x-csrc"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"whitespace": { | ||||
| 			{`^#if\s+0`, CommentPreproc, Push("if0")}, | ||||
| 			{`^#`, CommentPreproc, Push("macro")}, | ||||
| 			{`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")}, | ||||
| 			{`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")}, | ||||
| 			{`\n`, Text, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`\\\n`, Text, nil}, | ||||
| 			{`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, | ||||
| 			{`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, | ||||
| 			{`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, | ||||
| 		}, | ||||
| 		"statements": { | ||||
| 			{`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, | ||||
| 			{`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil}, | ||||
| 			{`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, | ||||
| 			{`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, | ||||
| 			{`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil}, | ||||
| 			{`0[0-7]+[LlUu]*`, LiteralNumberOct, nil}, | ||||
| 			{`\d+[LlUu]*`, LiteralNumberInteger, nil}, | ||||
| 			{`\*/`, Error, nil}, | ||||
| 			{`[~!%^&*+=|?:<>/-]`, Operator, nil}, | ||||
| 			{`[()\[\],.]`, Punctuation, nil}, | ||||
| 			{Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil}, | ||||
| 			{`(bool|int|long|float|short|double|char|unsigned|signed|void)\b`, KeywordType, nil}, | ||||
| 			{Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil}, | ||||
| 			{`(__m(128i|128d|128|64))\b`, KeywordReserved, nil}, | ||||
| 			{Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil}, | ||||
| 			{`(true|false|NULL)\b`, NameBuiltin, nil}, | ||||
| 			{`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil}, | ||||
| 			{`[a-zA-Z_]\w*`, Name, nil}, | ||||
| 		}, | ||||
| 		"root": { | ||||
| 			Include("whitespace"), | ||||
| 			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")}, | ||||
| 			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil}, | ||||
| 			Default(Push("statement")), | ||||
| 		}, | ||||
| 		"statement": { | ||||
| 			Include("whitespace"), | ||||
| 			Include("statements"), | ||||
| 			{`[{}]`, Punctuation, nil}, | ||||
| 			{`;`, Punctuation, Pop(1)}, | ||||
| 		}, | ||||
| 		"function": { | ||||
| 			Include("whitespace"), | ||||
| 			Include("statements"), | ||||
| 			{`;`, Punctuation, nil}, | ||||
| 			{`\{`, Punctuation, Push()}, | ||||
| 			{`\}`, Punctuation, Pop(1)}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`"`, LiteralString, Pop(1)}, | ||||
| 			{`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil}, | ||||
| 			{`[^\\"\n]+`, LiteralString, nil}, | ||||
| 			{`\\\n`, LiteralString, nil}, | ||||
| 			{`\\`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"macro": { | ||||
| 			{`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil}, | ||||
| 			{`[^/\n]+`, CommentPreproc, nil}, | ||||
| 			{`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, | ||||
| 			{`//.*?\n`, CommentSingle, Pop(1)}, | ||||
| 			{`/`, CommentPreproc, nil}, | ||||
| 			{`(?<=\\)\n`, CommentPreproc, nil}, | ||||
| 			{`\n`, CommentPreproc, Pop(1)}, | ||||
| 		}, | ||||
| 		"if0": { | ||||
| 			{`^\s*#if.*?(?<!\\)\n`, CommentPreproc, Push()}, | ||||
| 			{`^\s*#el(?:se|if).*\n`, CommentPreproc, Pop(1)}, | ||||
| 			{`^\s*#endif.*?(?<!\\)\n`, CommentPreproc, Pop(1)}, | ||||
| 			{`.*?\n`, Comment, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										61
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/capnproto.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/capnproto.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cap'N'Proto Proto lexer. | ||||
| var CapNProto = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Cap'n Proto", | ||||
| 		Aliases:   []string{"capnp"}, | ||||
| 		Filenames: []string{"*.capnp"}, | ||||
| 		MimeTypes: []string{}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`#.*?$`, CommentSingle, nil}, | ||||
| 			{`@[0-9a-zA-Z]*`, NameDecorator, nil}, | ||||
| 			{`=`, Literal, Push("expression")}, | ||||
| 			{`:`, NameClass, Push("type")}, | ||||
| 			{`\$`, NameAttribute, Push("annotation")}, | ||||
| 			{`(struct|enum|interface|union|import|using|const|annotation|extends|in|of|on|as|with|from|fixed)\b`, Keyword, nil}, | ||||
| 			{`[\w.]+`, Name, nil}, | ||||
| 			{`[^#@=:$\w]+`, Text, nil}, | ||||
| 		}, | ||||
| 		"type": { | ||||
| 			{`[^][=;,(){}$]+`, NameClass, nil}, | ||||
| 			{`[[(]`, NameClass, Push("parentype")}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"parentype": { | ||||
| 			{`[^][;()]+`, NameClass, nil}, | ||||
| 			{`[[(]`, NameClass, Push()}, | ||||
| 			{`[])]`, NameClass, Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"expression": { | ||||
| 			{`[^][;,(){}$]+`, Literal, nil}, | ||||
| 			{`[[(]`, Literal, Push("parenexp")}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"parenexp": { | ||||
| 			{`[^][;()]+`, Literal, nil}, | ||||
| 			{`[[(]`, Literal, Push()}, | ||||
| 			{`[])]`, Literal, Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"annotation": { | ||||
| 			{`[^][;,(){}=:]+`, NameAttribute, nil}, | ||||
| 			{`[[(]`, NameAttribute, Push("annexp")}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"annexp": { | ||||
| 			{`[^][;()]+`, NameAttribute, nil}, | ||||
| 			{`[[(]`, NameAttribute, Push()}, | ||||
| 			{`[])]`, NameAttribute, Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/ceylon.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/ceylon.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Ceylon lexer. | ||||
| var Ceylon = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Ceylon", | ||||
| 		Aliases:   []string{"ceylon"}, | ||||
| 		Filenames: []string{"*.ceylon"}, | ||||
| 		MimeTypes: []string{"text/x-ceylon"}, | ||||
| 		DotAll:    true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(UsingSelf("root"), NameFunction, Text, Operator), nil}, | ||||
| 			{`[^\S\n]+`, Text, nil}, | ||||
| 			{`//.*?\n`, CommentSingle, nil}, | ||||
| 			{`/\*`, CommentMultiline, Push("comment")}, | ||||
| 			{`(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\b`, NameDecorator, nil}, | ||||
| 			{`(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\b`, Keyword, nil}, | ||||
| 			{`(abstracts|extends|satisfies|super|given|of|out|assign)\b`, KeywordDeclaration, nil}, | ||||
| 			{`(function|value|void|new)\b`, KeywordType, nil}, | ||||
| 			{`(assembly|module|package)(\s+)`, ByGroups(KeywordNamespace, Text), nil}, | ||||
| 			{`(true|false|null)\b`, KeywordConstant, nil}, | ||||
| 			{`(class|interface|object|alias)(\s+)`, ByGroups(KeywordDeclaration, Text), Push("class")}, | ||||
| 			{`(import)(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, | ||||
| 			{`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, | ||||
| 			{`'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'`, LiteralStringChar, nil}, | ||||
| 			{"\".*``.*``.*\"", LiteralStringInterpol, nil}, | ||||
| 			{`(\.)([a-z_]\w*)`, ByGroups(Operator, NameAttribute), nil}, | ||||
| 			{`[a-zA-Z_]\w*:`, NameLabel, nil}, | ||||
| 			{`[a-zA-Z_]\w*`, Name, nil}, | ||||
| 			{`[~^*!%&\[\](){}<>|+=:;,./?-]`, Operator, nil}, | ||||
| 			{`\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?`, LiteralNumberFloat, nil}, | ||||
| 			{`\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?`, LiteralNumberFloat, nil}, | ||||
| 			{`[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?`, LiteralNumberFloat, nil}, | ||||
| 			{`[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?`, LiteralNumberFloat, nil}, | ||||
| 			{`#([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+`, LiteralNumberHex, nil}, | ||||
| 			{`#[0-9a-fA-F]+`, LiteralNumberHex, nil}, | ||||
| 			{`\$([01]{4})(_[01]{4})+`, LiteralNumberBin, nil}, | ||||
| 			{`\$[01]+`, LiteralNumberBin, nil}, | ||||
| 			{`\d{1,3}(_\d{3})+[kMGTP]?`, LiteralNumberInteger, nil}, | ||||
| 			{`[0-9]+[kMGTP]?`, LiteralNumberInteger, nil}, | ||||
| 			{`\n`, Text, nil}, | ||||
| 		}, | ||||
| 		"class": { | ||||
| 			{`[A-Za-z_]\w*`, NameClass, Pop(1)}, | ||||
| 		}, | ||||
| 		"import": { | ||||
| 			{`[a-z][\w.]*`, NameNamespace, Pop(1)}, | ||||
| 		}, | ||||
| 		"comment": { | ||||
| 			{`[^*/]`, CommentMultiline, nil}, | ||||
| 			{`/\*`, CommentMultiline, Push()}, | ||||
| 			{`\*/`, CommentMultiline, Pop(1)}, | ||||
| 			{`[*/]`, CommentMultiline, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										56
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cfengine3.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cfengine3.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cfengine3 lexer. | ||||
| var Cfengine3 = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "CFEngine3", | ||||
| 		Aliases:   []string{"cfengine3", "cf3"}, | ||||
| 		Filenames: []string{"*.cf"}, | ||||
| 		MimeTypes: []string{}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`#.*?\n`, Comment, nil}, | ||||
| 			{`(body)(\s+)(\S+)(\s+)(control)`, ByGroups(Keyword, Text, Keyword, Text, Keyword), nil}, | ||||
| 			{`(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()`, ByGroups(Keyword, Text, Keyword, Text, NameFunction, Punctuation), Push("arglist")}, | ||||
| 			{`(body|bundle)(\s+)(\S+)(\s+)(\w+)`, ByGroups(Keyword, Text, Keyword, Text, NameFunction), nil}, | ||||
| 			{`(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)`, ByGroups(Punctuation, NameVariable, Punctuation, Text, KeywordType, Text, Operator, Text), nil}, | ||||
| 			{`(\S+)(\s*)(=>)(\s*)`, ByGroups(KeywordReserved, Text, Operator, Text), nil}, | ||||
| 			{`"`, LiteralString, Push("string")}, | ||||
| 			{`(\w+)(\()`, ByGroups(NameFunction, Punctuation), nil}, | ||||
| 			{`([\w.!&|()]+)(::)`, ByGroups(NameClass, Punctuation), nil}, | ||||
| 			{`(\w+)(:)`, ByGroups(KeywordDeclaration, Punctuation), nil}, | ||||
| 			{`@[{(][^)}]+[})]`, NameVariable, nil}, | ||||
| 			{`[(){},;]`, Punctuation, nil}, | ||||
| 			{`=>`, Operator, nil}, | ||||
| 			{`->`, Operator, nil}, | ||||
| 			{`\d+\.\d+`, LiteralNumberFloat, nil}, | ||||
| 			{`\d+`, LiteralNumberInteger, nil}, | ||||
| 			{`\w+`, NameFunction, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`\$[{(]`, LiteralStringInterpol, Push("interpol")}, | ||||
| 			{`\\.`, LiteralStringEscape, nil}, | ||||
| 			{`"`, LiteralString, Pop(1)}, | ||||
| 			{`\n`, LiteralString, nil}, | ||||
| 			{`.`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"interpol": { | ||||
| 			{`\$[{(]`, LiteralStringInterpol, Push()}, | ||||
| 			{`[})]`, LiteralStringInterpol, Pop(1)}, | ||||
| 			{`[^${()}]+`, LiteralStringInterpol, nil}, | ||||
| 		}, | ||||
| 		"arglist": { | ||||
| 			{`\)`, Punctuation, Pop(1)}, | ||||
| 			{`,`, Punctuation, nil}, | ||||
| 			{`\w+`, NameVariable, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/chaiscript.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/chaiscript.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Chaiscript lexer. | ||||
| var Chaiscript = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "ChaiScript", | ||||
| 		Aliases:   []string{"chai", "chaiscript"}, | ||||
| 		Filenames: []string{"*.chai"}, | ||||
| 		MimeTypes: []string{"text/x-chaiscript", "application/x-chaiscript"}, | ||||
| 		DotAll:    true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"commentsandwhitespace": { | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`//.*?\n`, CommentSingle, nil}, | ||||
| 			{`/\*.*?\*/`, CommentMultiline, nil}, | ||||
| 			{`^\#.*?\n`, CommentSingle, nil}, | ||||
| 		}, | ||||
| 		"slashstartsregex": { | ||||
| 			Include("commentsandwhitespace"), | ||||
| 			{`/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, | ||||
| 			{`(?=/)`, Text, Push("#pop", "badregex")}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"badregex": { | ||||
| 			{`\n`, Text, Pop(1)}, | ||||
| 		}, | ||||
| 		"root": { | ||||
| 			Include("commentsandwhitespace"), | ||||
| 			{`\n`, Text, nil}, | ||||
| 			{`[^\S\n]+`, Text, nil}, | ||||
| 			{`\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?`, Operator, Push("slashstartsregex")}, | ||||
| 			{`[{(\[;,]`, Punctuation, Push("slashstartsregex")}, | ||||
| 			{`[})\].]`, Punctuation, nil}, | ||||
| 			{`[=+\-*/]`, Operator, nil}, | ||||
| 			{`(for|in|while|do|break|return|continue|if|else|throw|try|catch)\b`, Keyword, Push("slashstartsregex")}, | ||||
| 			{`(var)\b`, KeywordDeclaration, Push("slashstartsregex")}, | ||||
| 			{`(attr|def|fun)\b`, KeywordReserved, nil}, | ||||
| 			{`(true|false)\b`, KeywordConstant, nil}, | ||||
| 			{`(eval|throw)\b`, NameBuiltin, nil}, | ||||
| 			{"`\\S+`", NameBuiltin, nil}, | ||||
| 			{`[$a-zA-Z_]\w*`, NameOther, nil}, | ||||
| 			{`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, | ||||
| 			{`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, | ||||
| 			{`[0-9]+`, LiteralNumberInteger, nil}, | ||||
| 			{`"`, LiteralStringDouble, Push("dqstring")}, | ||||
| 			{`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, | ||||
| 		}, | ||||
| 		"dqstring": { | ||||
| 			{`\$\{[^"}]+?\}`, LiteralStringInterpol, nil}, | ||||
| 			{`\$`, LiteralStringDouble, nil}, | ||||
| 			{`\\\\`, LiteralStringDouble, nil}, | ||||
| 			{`\\"`, LiteralStringDouble, nil}, | ||||
| 			{`[^\\"$]+`, LiteralStringDouble, nil}, | ||||
| 			{`"`, LiteralStringDouble, Pop(1)}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										37
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cheetah.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cheetah.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| 	. "github.com/alecthomas/chroma/lexers/p" // nolint | ||||
| ) | ||||
|  | ||||
| // Cheetah lexer. | ||||
| var Cheetah = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Cheetah", | ||||
| 		Aliases:   []string{"cheetah", "spitfire"}, | ||||
| 		Filenames: []string{"*.tmpl", "*.spt"}, | ||||
| 		MimeTypes: []string{"application/x-cheetah", "application/x-spitfire"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`(##[^\n]*)$`, ByGroups(Comment), nil}, | ||||
| 			{`#[*](.|\n)*?[*]#`, Comment, nil}, | ||||
| 			{`#end[^#\n]*(?:#|$)`, CommentPreproc, nil}, | ||||
| 			{`#slurp$`, CommentPreproc, nil}, | ||||
| 			{`(#[a-zA-Z]+)([^#\n]*)(#|$)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, | ||||
| 			{`(\$)([a-zA-Z_][\w.]*\w)`, ByGroups(CommentPreproc, Using(Python)), nil}, | ||||
| 			{`(\$\{!?)(.*?)(\})(?s)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, | ||||
| 			{`(?sx) | ||||
|                 (.+?)               # anything, followed by: | ||||
|                 (?: | ||||
|                  (?=\#[#a-zA-Z]*) | # an eval comment | ||||
|                  (?=\$[a-zA-Z_{]) | # a substitution | ||||
|                  \Z                 # end of string | ||||
|                 ) | ||||
|             `, Other, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										306
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cl.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										306
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cl.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,306 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	clBuiltinFunctions = []string{ | ||||
| 		"<", "<=", "=", ">", ">=", "-", "/", "/=", "*", "+", "1-", "1+", | ||||
| 		"abort", "abs", "acons", "acos", "acosh", "add-method", "adjoin", | ||||
| 		"adjustable-array-p", "adjust-array", "allocate-instance", | ||||
| 		"alpha-char-p", "alphanumericp", "append", "apply", "apropos", | ||||
| 		"apropos-list", "aref", "arithmetic-error-operands", | ||||
| 		"arithmetic-error-operation", "array-dimension", "array-dimensions", | ||||
| 		"array-displacement", "array-element-type", "array-has-fill-pointer-p", | ||||
| 		"array-in-bounds-p", "arrayp", "array-rank", "array-row-major-index", | ||||
| 		"array-total-size", "ash", "asin", "asinh", "assoc", "assoc-if", | ||||
| 		"assoc-if-not", "atan", "atanh", "atom", "bit", "bit-and", "bit-andc1", | ||||
| 		"bit-andc2", "bit-eqv", "bit-ior", "bit-nand", "bit-nor", "bit-not", | ||||
| 		"bit-orc1", "bit-orc2", "bit-vector-p", "bit-xor", "boole", | ||||
| 		"both-case-p", "boundp", "break", "broadcast-stream-streams", | ||||
| 		"butlast", "byte", "byte-position", "byte-size", "caaaar", "caaadr", | ||||
| 		"caaar", "caadar", "caaddr", "caadr", "caar", "cadaar", "cadadr", | ||||
| 		"cadar", "caddar", "cadddr", "caddr", "cadr", "call-next-method", "car", | ||||
| 		"cdaaar", "cdaadr", "cdaar", "cdadar", "cdaddr", "cdadr", "cdar", | ||||
| 		"cddaar", "cddadr", "cddar", "cdddar", "cddddr", "cdddr", "cddr", "cdr", | ||||
| 		"ceiling", "cell-error-name", "cerror", "change-class", "char", "char<", | ||||
| 		"char<=", "char=", "char>", "char>=", "char/=", "character", | ||||
| 		"characterp", "char-code", "char-downcase", "char-equal", | ||||
| 		"char-greaterp", "char-int", "char-lessp", "char-name", | ||||
| 		"char-not-equal", "char-not-greaterp", "char-not-lessp", "char-upcase", | ||||
| 		"cis", "class-name", "class-of", "clear-input", "clear-output", | ||||
| 		"close", "clrhash", "code-char", "coerce", "compile", | ||||
| 		"compiled-function-p", "compile-file", "compile-file-pathname", | ||||
| 		"compiler-macro-function", "complement", "complex", "complexp", | ||||
| 		"compute-applicable-methods", "compute-restarts", "concatenate", | ||||
| 		"concatenated-stream-streams", "conjugate", "cons", "consp", | ||||
| 		"constantly", "constantp", "continue", "copy-alist", "copy-list", | ||||
| 		"copy-pprint-dispatch", "copy-readtable", "copy-seq", "copy-structure", | ||||
| 		"copy-symbol", "copy-tree", "cos", "cosh", "count", "count-if", | ||||
| 		"count-if-not", "decode-float", "decode-universal-time", "delete", | ||||
| 		"delete-duplicates", "delete-file", "delete-if", "delete-if-not", | ||||
| 		"delete-package", "denominator", "deposit-field", "describe", | ||||
| 		"describe-object", "digit-char", "digit-char-p", "directory", | ||||
| 		"directory-namestring", "disassemble", "documentation", "dpb", | ||||
| 		"dribble", "echo-stream-input-stream", "echo-stream-output-stream", | ||||
| 		"ed", "eighth", "elt", "encode-universal-time", "endp", | ||||
| 		"enough-namestring", "ensure-directories-exist", | ||||
| 		"ensure-generic-function", "eq", "eql", "equal", "equalp", "error", | ||||
| 		"eval", "evenp", "every", "exp", "export", "expt", "fboundp", | ||||
| 		"fceiling", "fdefinition", "ffloor", "fifth", "file-author", | ||||
| 		"file-error-pathname", "file-length", "file-namestring", | ||||
| 		"file-position", "file-string-length", "file-write-date", | ||||
| 		"fill", "fill-pointer", "find", "find-all-symbols", "find-class", | ||||
| 		"find-if", "find-if-not", "find-method", "find-package", "find-restart", | ||||
| 		"find-symbol", "finish-output", "first", "float", "float-digits", | ||||
| 		"floatp", "float-precision", "float-radix", "float-sign", "floor", | ||||
| 		"fmakunbound", "force-output", "format", "fourth", "fresh-line", | ||||
| 		"fround", "ftruncate", "funcall", "function-keywords", | ||||
| 		"function-lambda-expression", "functionp", "gcd", "gensym", "gentemp", | ||||
| 		"get", "get-decoded-time", "get-dispatch-macro-character", "getf", | ||||
| 		"gethash", "get-internal-real-time", "get-internal-run-time", | ||||
| 		"get-macro-character", "get-output-stream-string", "get-properties", | ||||
| 		"get-setf-expansion", "get-universal-time", "graphic-char-p", | ||||
| 		"hash-table-count", "hash-table-p", "hash-table-rehash-size", | ||||
| 		"hash-table-rehash-threshold", "hash-table-size", "hash-table-test", | ||||
| 		"host-namestring", "identity", "imagpart", "import", | ||||
| 		"initialize-instance", "input-stream-p", "inspect", | ||||
| 		"integer-decode-float", "integer-length", "integerp", | ||||
| 		"interactive-stream-p", "intern", "intersection", | ||||
| 		"invalid-method-error", "invoke-debugger", "invoke-restart", | ||||
| 		"invoke-restart-interactively", "isqrt", "keywordp", "last", "lcm", | ||||
| 		"ldb", "ldb-test", "ldiff", "length", "lisp-implementation-type", | ||||
| 		"lisp-implementation-version", "list", "list*", "list-all-packages", | ||||
| 		"listen", "list-length", "listp", "load", | ||||
| 		"load-logical-pathname-translations", "log", "logand", "logandc1", | ||||
| 		"logandc2", "logbitp", "logcount", "logeqv", "logical-pathname", | ||||
| 		"logical-pathname-translations", "logior", "lognand", "lognor", | ||||
| 		"lognot", "logorc1", "logorc2", "logtest", "logxor", "long-site-name", | ||||
| 		"lower-case-p", "machine-instance", "machine-type", "machine-version", | ||||
| 		"macroexpand", "macroexpand-1", "macro-function", "make-array", | ||||
| 		"make-broadcast-stream", "make-concatenated-stream", "make-condition", | ||||
| 		"make-dispatch-macro-character", "make-echo-stream", "make-hash-table", | ||||
| 		"make-instance", "make-instances-obsolete", "make-list", | ||||
| 		"make-load-form", "make-load-form-saving-slots", "make-package", | ||||
| 		"make-pathname", "make-random-state", "make-sequence", "make-string", | ||||
| 		"make-string-input-stream", "make-string-output-stream", "make-symbol", | ||||
| 		"make-synonym-stream", "make-two-way-stream", "makunbound", "map", | ||||
| 		"mapc", "mapcan", "mapcar", "mapcon", "maphash", "map-into", "mapl", | ||||
| 		"maplist", "mask-field", "max", "member", "member-if", "member-if-not", | ||||
| 		"merge", "merge-pathnames", "method-combination-error", | ||||
| 		"method-qualifiers", "min", "minusp", "mismatch", "mod", | ||||
| 		"muffle-warning", "name-char", "namestring", "nbutlast", "nconc", | ||||
| 		"next-method-p", "nintersection", "ninth", "no-applicable-method", | ||||
| 		"no-next-method", "not", "notany", "notevery", "nreconc", "nreverse", | ||||
| 		"nset-difference", "nset-exclusive-or", "nstring-capitalize", | ||||
| 		"nstring-downcase", "nstring-upcase", "nsublis", "nsubst", "nsubst-if", | ||||
| 		"nsubst-if-not", "nsubstitute", "nsubstitute-if", "nsubstitute-if-not", | ||||
| 		"nth", "nthcdr", "null", "numberp", "numerator", "nunion", "oddp", | ||||
| 		"open", "open-stream-p", "output-stream-p", "package-error-package", | ||||
| 		"package-name", "package-nicknames", "packagep", | ||||
| 		"package-shadowing-symbols", "package-used-by-list", "package-use-list", | ||||
| 		"pairlis", "parse-integer", "parse-namestring", "pathname", | ||||
| 		"pathname-device", "pathname-directory", "pathname-host", | ||||
| 		"pathname-match-p", "pathname-name", "pathnamep", "pathname-type", | ||||
| 		"pathname-version", "peek-char", "phase", "plusp", "position", | ||||
| 		"position-if", "position-if-not", "pprint", "pprint-dispatch", | ||||
| 		"pprint-fill", "pprint-indent", "pprint-linear", "pprint-newline", | ||||
| 		"pprint-tab", "pprint-tabular", "prin1", "prin1-to-string", "princ", | ||||
| 		"princ-to-string", "print", "print-object", "probe-file", "proclaim", | ||||
| 		"provide", "random", "random-state-p", "rassoc", "rassoc-if", | ||||
| 		"rassoc-if-not", "rational", "rationalize", "rationalp", "read", | ||||
| 		"read-byte", "read-char", "read-char-no-hang", "read-delimited-list", | ||||
| 		"read-from-string", "read-line", "read-preserving-whitespace", | ||||
| 		"read-sequence", "readtable-case", "readtablep", "realp", "realpart", | ||||
| 		"reduce", "reinitialize-instance", "rem", "remhash", "remove", | ||||
| 		"remove-duplicates", "remove-if", "remove-if-not", "remove-method", | ||||
| 		"remprop", "rename-file", "rename-package", "replace", "require", | ||||
| 		"rest", "restart-name", "revappend", "reverse", "room", "round", | ||||
| 		"row-major-aref", "rplaca", "rplacd", "sbit", "scale-float", "schar", | ||||
| 		"search", "second", "set", "set-difference", | ||||
| 		"set-dispatch-macro-character", "set-exclusive-or", | ||||
| 		"set-macro-character", "set-pprint-dispatch", "set-syntax-from-char", | ||||
| 		"seventh", "shadow", "shadowing-import", "shared-initialize", | ||||
| 		"short-site-name", "signal", "signum", "simple-bit-vector-p", | ||||
| 		"simple-condition-format-arguments", "simple-condition-format-control", | ||||
| 		"simple-string-p", "simple-vector-p", "sin", "sinh", "sixth", "sleep", | ||||
| 		"slot-boundp", "slot-exists-p", "slot-makunbound", "slot-missing", | ||||
| 		"slot-unbound", "slot-value", "software-type", "software-version", | ||||
| 		"some", "sort", "special-operator-p", "sqrt", "stable-sort", | ||||
| 		"standard-char-p", "store-value", "stream-element-type", | ||||
| 		"stream-error-stream", "stream-external-format", "streamp", "string", | ||||
| 		"string<", "string<=", "string=", "string>", "string>=", "string/=", | ||||
| 		"string-capitalize", "string-downcase", "string-equal", | ||||
| 		"string-greaterp", "string-left-trim", "string-lessp", | ||||
| 		"string-not-equal", "string-not-greaterp", "string-not-lessp", | ||||
| 		"stringp", "string-right-trim", "string-trim", "string-upcase", | ||||
| 		"sublis", "subseq", "subsetp", "subst", "subst-if", "subst-if-not", | ||||
| 		"substitute", "substitute-if", "substitute-if-not", "subtypep", "svref", | ||||
| 		"sxhash", "symbol-function", "symbol-name", "symbolp", "symbol-package", | ||||
| 		"symbol-plist", "symbol-value", "synonym-stream-symbol", "syntax:", | ||||
| 		"tailp", "tan", "tanh", "tenth", "terpri", "third", | ||||
| 		"translate-logical-pathname", "translate-pathname", "tree-equal", | ||||
| 		"truename", "truncate", "two-way-stream-input-stream", | ||||
| 		"two-way-stream-output-stream", "type-error-datum", | ||||
| 		"type-error-expected-type", "type-of", "typep", "unbound-slot-instance", | ||||
| 		"unexport", "unintern", "union", "unread-char", "unuse-package", | ||||
| 		"update-instance-for-different-class", | ||||
| 		"update-instance-for-redefined-class", "upgraded-array-element-type", | ||||
| 		"upgraded-complex-part-type", "upper-case-p", "use-package", | ||||
| 		"user-homedir-pathname", "use-value", "values", "values-list", "vector", | ||||
| 		"vectorp", "vector-pop", "vector-push", "vector-push-extend", "warn", | ||||
| 		"wild-pathname-p", "write", "write-byte", "write-char", "write-line", | ||||
| 		"write-sequence", "write-string", "write-to-string", "yes-or-no-p", | ||||
| 		"y-or-n-p", "zerop", | ||||
| 	} | ||||
|  | ||||
| 	clSpecialForms = []string{ | ||||
| 		"block", "catch", "declare", "eval-when", "flet", "function", "go", "if", | ||||
| 		"labels", "lambda", "let", "let*", "load-time-value", "locally", "macrolet", | ||||
| 		"multiple-value-call", "multiple-value-prog1", "progn", "progv", "quote", | ||||
| 		"return-from", "setq", "symbol-macrolet", "tagbody", "the", "throw", | ||||
| 		"unwind-protect", | ||||
| 	} | ||||
|  | ||||
| 	clMacros = []string{ | ||||
| 		"and", "assert", "call-method", "case", "ccase", "check-type", "cond", | ||||
| 		"ctypecase", "decf", "declaim", "defclass", "defconstant", "defgeneric", | ||||
| 		"define-compiler-macro", "define-condition", "define-method-combination", | ||||
| 		"define-modify-macro", "define-setf-expander", "define-symbol-macro", | ||||
| 		"defmacro", "defmethod", "defpackage", "defparameter", "defsetf", | ||||
| 		"defstruct", "deftype", "defun", "defvar", "destructuring-bind", "do", | ||||
| 		"do*", "do-all-symbols", "do-external-symbols", "dolist", "do-symbols", | ||||
| 		"dotimes", "ecase", "etypecase", "formatter", "handler-bind", | ||||
| 		"handler-case", "ignore-errors", "incf", "in-package", "lambda", "loop", | ||||
| 		"loop-finish", "make-method", "multiple-value-bind", "multiple-value-list", | ||||
| 		"multiple-value-setq", "nth-value", "or", "pop", | ||||
| 		"pprint-exit-if-list-exhausted", "pprint-logical-block", "pprint-pop", | ||||
| 		"print-unreadable-object", "prog", "prog*", "prog1", "prog2", "psetf", | ||||
| 		"psetq", "push", "pushnew", "remf", "restart-bind", "restart-case", | ||||
| 		"return", "rotatef", "setf", "shiftf", "step", "time", "trace", "typecase", | ||||
| 		"unless", "untrace", "when", "with-accessors", "with-compilation-unit", | ||||
| 		"with-condition-restarts", "with-hash-table-iterator", | ||||
| 		"with-input-from-string", "with-open-file", "with-open-stream", | ||||
| 		"with-output-to-string", "with-package-iterator", "with-simple-restart", | ||||
| 		"with-slots", "with-standard-io-syntax", | ||||
| 	} | ||||
|  | ||||
| 	clLambdaListKeywords = []string{ | ||||
| 		"&allow-other-keys", "&aux", "&body", "&environment", "&key", "&optional", | ||||
| 		"&rest", "&whole", | ||||
| 	} | ||||
|  | ||||
| 	clDeclarations = []string{ | ||||
| 		"dynamic-extent", "ignore", "optimize", "ftype", "inline", "special", | ||||
| 		"ignorable", "notinline", "type", | ||||
| 	} | ||||
|  | ||||
| 	clBuiltinTypes = []string{ | ||||
| 		"atom", "boolean", "base-char", "base-string", "bignum", "bit", | ||||
| 		"compiled-function", "extended-char", "fixnum", "keyword", "nil", | ||||
| 		"signed-byte", "short-float", "single-float", "double-float", "long-float", | ||||
| 		"simple-array", "simple-base-string", "simple-bit-vector", "simple-string", | ||||
| 		"simple-vector", "standard-char", "unsigned-byte", | ||||
|  | ||||
| 		// Condition Types | ||||
| 		"arithmetic-error", "cell-error", "condition", "control-error", | ||||
| 		"division-by-zero", "end-of-file", "error", "file-error", | ||||
| 		"floating-point-inexact", "floating-point-overflow", | ||||
| 		"floating-point-underflow", "floating-point-invalid-operation", | ||||
| 		"parse-error", "package-error", "print-not-readable", "program-error", | ||||
| 		"reader-error", "serious-condition", "simple-condition", "simple-error", | ||||
| 		"simple-type-error", "simple-warning", "stream-error", "storage-condition", | ||||
| 		"style-warning", "type-error", "unbound-variable", "unbound-slot", | ||||
| 		"undefined-function", "warning", | ||||
| 	} | ||||
|  | ||||
| 	clBuiltinClasses = []string{ | ||||
| 		"array", "broadcast-stream", "bit-vector", "built-in-class", "character", | ||||
| 		"class", "complex", "concatenated-stream", "cons", "echo-stream", | ||||
| 		"file-stream", "float", "function", "generic-function", "hash-table", | ||||
| 		"integer", "list", "logical-pathname", "method-combination", "method", | ||||
| 		"null", "number", "package", "pathname", "ratio", "rational", "readtable", | ||||
| 		"real", "random-state", "restart", "sequence", "standard-class", | ||||
| 		"standard-generic-function", "standard-method", "standard-object", | ||||
| 		"string-stream", "stream", "string", "structure-class", "structure-object", | ||||
| 		"symbol", "synonym-stream", "t", "two-way-stream", "vector", | ||||
| 	} | ||||
| ) | ||||
|  | ||||
| // Common Lisp lexer. | ||||
| var CommonLisp = internal.Register(TypeRemappingLexer(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:            "Common Lisp", | ||||
| 		Aliases:         []string{"common-lisp", "cl", "lisp"}, | ||||
| 		Filenames:       []string{"*.cl", "*.lisp"}, | ||||
| 		MimeTypes:       []string{"text/x-common-lisp"}, | ||||
| 		CaseInsensitive: true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			Default(Push("body")), | ||||
| 		}, | ||||
| 		"multiline-comment": { | ||||
| 			{`#\|`, CommentMultiline, Push()}, | ||||
| 			{`\|#`, CommentMultiline, Pop(1)}, | ||||
| 			{`[^|#]+`, CommentMultiline, nil}, | ||||
| 			{`[|#]`, CommentMultiline, nil}, | ||||
| 		}, | ||||
| 		"commented-form": { | ||||
| 			{`\(`, CommentPreproc, Push()}, | ||||
| 			{`\)`, CommentPreproc, Pop(1)}, | ||||
| 			{`[^()]+`, CommentPreproc, nil}, | ||||
| 		}, | ||||
| 		"body": { | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`;.*$`, CommentSingle, nil}, | ||||
| 			{`#\|`, CommentMultiline, Push("multiline-comment")}, | ||||
| 			{`#\d*Y.*$`, CommentSpecial, nil}, | ||||
| 			{`"(\\.|\\\n|[^"\\])*"`, LiteralString, nil}, | ||||
| 			{`:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, | ||||
| 			{`::(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, | ||||
| 			{`:#(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, | ||||
| 			{`'(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, | ||||
| 			{`'`, Operator, nil}, | ||||
| 			{"`", Operator, nil}, | ||||
| 			{"[-+]?\\d+\\.?(?=[ \"()\\'\\n,;`])", LiteralNumberInteger, nil}, | ||||
| 			{"[-+]?\\d+/\\d+(?=[ \"()\\'\\n,;`])", LiteralNumber, nil}, | ||||
| 			{"[-+]?(\\d*\\.\\d+([defls][-+]?\\d+)?|\\d+(\\.\\d*)?[defls][-+]?\\d+)(?=[ \"()\\'\\n,;`])", LiteralNumberFloat, nil}, | ||||
| 			{"#\\\\.(?=[ \"()\\'\\n,;`])", LiteralStringChar, nil}, | ||||
| 			{`#\\(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringChar, nil}, | ||||
| 			{`#\(`, Operator, Push("body")}, | ||||
| 			{`#\d*\*[01]*`, LiteralOther, nil}, | ||||
| 			{`#:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, | ||||
| 			{`#[.,]`, Operator, nil}, | ||||
| 			{`#\'`, NameFunction, nil}, | ||||
| 			{`#b[+-]?[01]+(/[01]+)?`, LiteralNumberBin, nil}, | ||||
| 			{`#o[+-]?[0-7]+(/[0-7]+)?`, LiteralNumberOct, nil}, | ||||
| 			{`#x[+-]?[0-9a-f]+(/[0-9a-f]+)?`, LiteralNumberHex, nil}, | ||||
| 			{`#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?`, LiteralNumber, nil}, | ||||
| 			{`(#c)(\()`, ByGroups(LiteralNumber, Punctuation), Push("body")}, | ||||
| 			{`(#\d+a)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")}, | ||||
| 			{`(#s)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")}, | ||||
| 			{`#p?"(\\.|[^"])*"`, LiteralOther, nil}, | ||||
| 			{`#\d+=`, Operator, nil}, | ||||
| 			{`#\d+#`, Operator, nil}, | ||||
| 			{"#+nil(?=[ \"()\\'\\n,;`])\\s*\\(", CommentPreproc, Push("commented-form")}, | ||||
| 			{`#[+-]`, Operator, nil}, | ||||
| 			{`(,@|,|\.)`, Operator, nil}, | ||||
| 			{"(t|nil)(?=[ \"()\\'\\n,;`])", NameConstant, nil}, | ||||
| 			{`\*(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)\*`, NameVariableGlobal, nil}, | ||||
| 			{`(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, NameVariable, nil}, | ||||
| 			{`\(`, Punctuation, Push("body")}, | ||||
| 			{`\)`, Punctuation, Pop(1)}, | ||||
| 		}, | ||||
| 	}, | ||||
| ), TypeMapping{ | ||||
| 	{NameVariable, NameFunction, clBuiltinFunctions}, | ||||
| 	{NameVariable, Keyword, clSpecialForms}, | ||||
| 	{NameVariable, NameBuiltin, clMacros}, | ||||
| 	{NameVariable, Keyword, clLambdaListKeywords}, | ||||
| 	{NameVariable, Keyword, clDeclarations}, | ||||
| 	{NameVariable, KeywordType, clBuiltinTypes}, | ||||
| 	{NameVariable, NameClass, clBuiltinClasses}, | ||||
| })) | ||||
							
								
								
									
										38
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/clojure.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/clojure.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Clojure lexer. | ||||
| var Clojure = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Clojure", | ||||
| 		Aliases:   []string{"clojure", "clj"}, | ||||
| 		Filenames: []string{"*.clj"}, | ||||
| 		MimeTypes: []string{"text/x-clojure", "application/x-clojure"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`;.*$`, CommentSingle, nil}, | ||||
| 			{`[,\s]+`, Text, nil}, | ||||
| 			{`-?\d+\.\d+`, LiteralNumberFloat, nil}, | ||||
| 			{`-?\d+`, LiteralNumberInteger, nil}, | ||||
| 			{`0x-?[abcdef\d]+`, LiteralNumberHex, nil}, | ||||
| 			{`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, | ||||
| 			{`'(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, | ||||
| 			{`\\(.|[a-z]+)`, LiteralStringChar, nil}, | ||||
| 			{`::?#?(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, | ||||
| 			{"~@|[`\\'#^~&@]", Operator, nil}, | ||||
| 			{Words(``, ` `, `.`, `def`, `do`, `fn`, `if`, `let`, `new`, `quote`, `var`, `loop`), Keyword, nil}, | ||||
| 			{Words(``, ` `, `def-`, `defn`, `defn-`, `defmacro`, `defmulti`, `defmethod`, `defstruct`, `defonce`, `declare`, `definline`, `definterface`, `defprotocol`, `defrecord`, `deftype`, `defproject`, `ns`), KeywordDeclaration, nil}, | ||||
| 			{Words(``, ` `, `*`, `+`, `-`, `->`, `/`, `<`, `<=`, `=`, `==`, `>`, `>=`, `..`, `accessor`, `agent`, `agent-errors`, `aget`, `alength`, `all-ns`, `alter`, `and`, `append-child`, `apply`, `array-map`, `aset`, `aset-boolean`, `aset-byte`, `aset-char`, `aset-double`, `aset-float`, `aset-int`, `aset-long`, `aset-short`, `assert`, `assoc`, `await`, `await-for`, `bean`, `binding`, `bit-and`, `bit-not`, `bit-or`, `bit-shift-left`, `bit-shift-right`, `bit-xor`, `boolean`, `branch?`, `butlast`, `byte`, `cast`, `char`, `children`, `class`, `clear-agent-errors`, `comment`, `commute`, `comp`, `comparator`, `complement`, `concat`, `conj`, `cons`, `constantly`, `cond`, `if-not`, `construct-proxy`, `contains?`, `count`, `create-ns`, `create-struct`, `cycle`, `dec`, `deref`, `difference`, `disj`, `dissoc`, `distinct`, `doall`, `doc`, `dorun`, `doseq`, `dosync`, `dotimes`, `doto`, `double`, `down`, `drop`, `drop-while`, `edit`, `end?`, `ensure`, `eval`, `every?`, `false?`, `ffirst`, `file-seq`, `filter`, `find`, `find-doc`, `find-ns`, `find-var`, `first`, `float`, `flush`, `for`, `fnseq`, `frest`, `gensym`, `get-proxy-class`, `get`, `hash-map`, `hash-set`, `identical?`, `identity`, `if-let`, `import`, `in-ns`, `inc`, `index`, `insert-child`, `insert-left`, `insert-right`, `inspect-table`, `inspect-tree`, `instance?`, `int`, `interleave`, `intersection`, `into`, `into-array`, `iterate`, `join`, `key`, `keys`, `keyword`, `keyword?`, `last`, `lazy-cat`, `lazy-cons`, `left`, `lefts`, `line-seq`, `list*`, `list`, `load`, `load-file`, `locking`, `long`, `loop`, `macroexpand`, `macroexpand-1`, `make-array`, `make-node`, `map`, `map-invert`, `map?`, `mapcat`, `max`, `max-key`, `memfn`, `merge`, `merge-with`, `meta`, `min`, `min-key`, `name`, `namespace`, `neg?`, `new`, `newline`, `next`, `nil?`, `node`, `not`, `not-any?`, `not-every?`, `not=`, `ns-imports`, `ns-interns`, `ns-map`, `ns-name`, `ns-publics`, `ns-refers`, `ns-resolve`, `ns-unmap`, `nth`, `nthrest`, `or`, `parse`, `partial`, `path`, `peek`, `pop`, `pos?`, `pr`, `pr-str`, `print`, `print-str`, `println`, `println-str`, `prn`, `prn-str`, `project`, `proxy`, `proxy-mappings`, `quot`, `rand`, `rand-int`, `range`, `re-find`, `re-groups`, `re-matcher`, `re-matches`, `re-pattern`, `re-seq`, `read`, `read-line`, `reduce`, `ref`, `ref-set`, `refer`, `rem`, `remove`, `remove-method`, `remove-ns`, `rename`, `rename-keys`, `repeat`, `replace`, `replicate`, `resolve`, `rest`, `resultset-seq`, `reverse`, `rfirst`, `right`, `rights`, `root`, `rrest`, `rseq`, `second`, `select`, `select-keys`, `send`, `send-off`, `seq`, `seq-zip`, `seq?`, `set`, `short`, `slurp`, `some`, `sort`, `sort-by`, `sorted-map`, `sorted-map-by`, `sorted-set`, `special-symbol?`, `split-at`, `split-with`, `str`, `string?`, `struct`, `struct-map`, `subs`, `subvec`, `symbol`, `symbol?`, `sync`, `take`, `take-nth`, `take-while`, `test`, `time`, `to-array`, `to-array-2d`, `tree-seq`, `true?`, `union`, `up`, `update-proxy`, `val`, `vals`, `var-get`, `var-set`, `var?`, `vector`, `vector-zip`, `vector?`, `when`, `when-first`, `when-let`, `when-not`, `with-local-vars`, `with-meta`, `with-open`, `with-out-str`, `xml-seq`, `xml-zip`, `zero?`, `zipmap`, `zipper`), NameBuiltin, nil}, | ||||
| 			{`(?<=\()(?!#)[\w!$%*+<=>?/.#-]+`, NameFunction, nil}, | ||||
| 			{`(?!#)[\w!$%*+<=>?/.#-]+`, NameVariable, nil}, | ||||
| 			{`(\[|\])`, Punctuation, nil}, | ||||
| 			{`(\{|\})`, Punctuation, nil}, | ||||
| 			{`(\(|\))`, Punctuation, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										44
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cmake.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cmake.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cmake lexer. | ||||
| var Cmake = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "CMake", | ||||
| 		Aliases:   []string{"cmake"}, | ||||
| 		Filenames: []string{"*.cmake", "CMakeLists.txt"}, | ||||
| 		MimeTypes: []string{"text/x-cmake"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`\b(\w+)([ \t]*)(\()`, ByGroups(NameBuiltin, Text, Punctuation), Push("args")}, | ||||
| 			Include("keywords"), | ||||
| 			Include("ws"), | ||||
| 		}, | ||||
| 		"args": { | ||||
| 			{`\(`, Punctuation, Push()}, | ||||
| 			{`\)`, Punctuation, Pop(1)}, | ||||
| 			{`(\$\{)(.+?)(\})`, ByGroups(Operator, NameVariable, Operator), nil}, | ||||
| 			{`(\$ENV\{)(.+?)(\})`, ByGroups(Operator, NameVariable, Operator), nil}, | ||||
| 			{`(\$<)(.+?)(>)`, ByGroups(Operator, NameVariable, Operator), nil}, | ||||
| 			{`(?s)".*?"`, LiteralStringDouble, nil}, | ||||
| 			{`\\\S+`, LiteralString, nil}, | ||||
| 			{`[^)$"# \t\n]+`, LiteralString, nil}, | ||||
| 			{`\n`, Text, nil}, | ||||
| 			Include("keywords"), | ||||
| 			Include("ws"), | ||||
| 		}, | ||||
| 		"string": {}, | ||||
| 		"keywords": { | ||||
| 			{`\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\b`, Keyword, nil}, | ||||
| 		}, | ||||
| 		"ws": { | ||||
| 			{`[ \t]+`, Text, nil}, | ||||
| 			{`#.*\n`, Comment, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										51
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cobol.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cobol.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cobol lexer. | ||||
| var Cobol = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:            "COBOL", | ||||
| 		Aliases:         []string{"cobol"}, | ||||
| 		Filenames:       []string{"*.cob", "*.COB", "*.cpy", "*.CPY"}, | ||||
| 		MimeTypes:       []string{"text/x-cobol"}, | ||||
| 		CaseInsensitive: true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			Include("comment"), | ||||
| 			Include("strings"), | ||||
| 			Include("core"), | ||||
| 			Include("nums"), | ||||
| 			{`[a-z0-9]([\w\-]*[a-z0-9]+)?`, NameVariable, nil}, | ||||
| 			{`[ \t]+`, Text, nil}, | ||||
| 		}, | ||||
| 		"comment": { | ||||
| 			{`(^.{6}[*/].*\n|^.{6}|\*>.*\n)`, Comment, nil}, | ||||
| 		}, | ||||
| 		"core": { | ||||
| 			{`(^|(?<=[^\w\-]))(ALL\s+)?((ZEROES)|(HIGH-VALUE|LOW-VALUE|QUOTE|SPACE|ZERO)(S)?)\s*($|(?=[^\w\-]))`, NameConstant, nil}, | ||||
| 			{Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACCEPT`, `ADD`, `ALLOCATE`, `CALL`, `CANCEL`, `CLOSE`, `COMPUTE`, `CONFIGURATION`, `CONTINUE`, `DATA`, `DELETE`, `DISPLAY`, `DIVIDE`, `DIVISION`, `ELSE`, `END`, `END-ACCEPT`, `END-ADD`, `END-CALL`, `END-COMPUTE`, `END-DELETE`, `END-DISPLAY`, `END-DIVIDE`, `END-EVALUATE`, `END-IF`, `END-MULTIPLY`, `END-OF-PAGE`, `END-PERFORM`, `END-READ`, `END-RETURN`, `END-REWRITE`, `END-SEARCH`, `END-START`, `END-STRING`, `END-SUBTRACT`, `END-UNSTRING`, `END-WRITE`, `ENVIRONMENT`, `EVALUATE`, `EXIT`, `FD`, `FILE`, `FILE-CONTROL`, `FOREVER`, `FREE`, `GENERATE`, `GO`, `GOBACK`, `IDENTIFICATION`, `IF`, `INITIALIZE`, `INITIATE`, `INPUT-OUTPUT`, `INSPECT`, `INVOKE`, `I-O-CONTROL`, `LINKAGE`, `LOCAL-STORAGE`, `MERGE`, `MOVE`, `MULTIPLY`, `OPEN`, `PERFORM`, `PROCEDURE`, `PROGRAM-ID`, `RAISE`, `READ`, `RELEASE`, `RESUME`, `RETURN`, `REWRITE`, `SCREEN`, `SD`, `SEARCH`, `SECTION`, `SET`, `SORT`, `START`, `STOP`, `STRING`, `SUBTRACT`, `SUPPRESS`, `TERMINATE`, `THEN`, `UNLOCK`, `UNSTRING`, `USE`, `VALIDATE`, `WORKING-STORAGE`, `WRITE`), KeywordReserved, nil}, | ||||
| 			{Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACCESS`, `ADDRESS`, `ADVANCING`, `AFTER`, `ALL`, `ALPHABET`, `ALPHABETIC`, `ALPHABETIC-LOWER`, `ALPHABETIC-UPPER`, `ALPHANUMERIC`, `ALPHANUMERIC-EDITED`, `ALSO`, `ALTER`, `ALTERNATEANY`, `ARE`, `AREA`, `AREAS`, `ARGUMENT-NUMBER`, `ARGUMENT-VALUE`, `AS`, `ASCENDING`, `ASSIGN`, `AT`, `AUTO`, `AUTO-SKIP`, `AUTOMATIC`, `AUTOTERMINATE`, `BACKGROUND-COLOR`, `BASED`, `BEEP`, `BEFORE`, `BELL`, `BLANK`, `BLINK`, `BLOCK`, `BOTTOM`, `BY`, `BYTE-LENGTH`, `CHAINING`, `CHARACTER`, `CHARACTERS`, `CLASS`, `CODE`, `CODE-SET`, `COL`, `COLLATING`, `COLS`, `COLUMN`, `COLUMNS`, `COMMA`, `COMMAND-LINE`, `COMMIT`, `COMMON`, `CONSTANT`, `CONTAINS`, `CONTENT`, `CONTROL`, `CONTROLS`, `CONVERTING`, `COPY`, `CORR`, `CORRESPONDING`, `COUNT`, `CRT`, `CURRENCY`, `CURSOR`, `CYCLE`, `DATE`, `DAY`, `DAY-OF-WEEK`, `DE`, `DEBUGGING`, `DECIMAL-POINT`, `DECLARATIVES`, `DEFAULT`, `DELIMITED`, `DELIMITER`, `DEPENDING`, `DESCENDING`, `DETAIL`, `DISK`, `DOWN`, `DUPLICATES`, `DYNAMIC`, `EBCDIC`, `ENTRY`, `ENVIRONMENT-NAME`, `ENVIRONMENT-VALUE`, `EOL`, `EOP`, `EOS`, `ERASE`, `ERROR`, `ESCAPE`, `EXCEPTION`, `EXCLUSIVE`, `EXTEND`, `EXTERNAL`, `FILE-ID`, `FILLER`, `FINAL`, `FIRST`, `FIXED`, `FLOAT-LONG`, `FLOAT-SHORT`, `FOOTING`, `FOR`, `FOREGROUND-COLOR`, `FORMAT`, `FROM`, `FULL`, `FUNCTION`, `FUNCTION-ID`, `GIVING`, `GLOBAL`, `GROUP`, `HEADING`, `HIGHLIGHT`, `I-O`, `ID`, `IGNORE`, `IGNORING`, `IN`, `INDEX`, `INDEXED`, `INDICATE`, `INITIAL`, `INITIALIZED`, `INPUT`, `INTO`, `INTRINSIC`, `INVALID`, `IS`, `JUST`, `JUSTIFIED`, `KEY`, `LABEL`, `LAST`, `LEADING`, `LEFT`, `LENGTH`, `LIMIT`, `LIMITS`, `LINAGE`, `LINAGE-COUNTER`, `LINE`, `LINES`, `LOCALE`, `LOCK`, `LOWLIGHT`, `MANUAL`, `MEMORY`, `MINUS`, `MODE`, `MULTIPLE`, `NATIONAL`, `NATIONAL-EDITED`, `NATIVE`, `NEGATIVE`, `NEXT`, `NO`, `NULL`, `NULLS`, `NUMBER`, `NUMBERS`, `NUMERIC`, `NUMERIC-EDITED`, `OBJECT-COMPUTER`, `OCCURS`, `OF`, `OFF`, `OMITTED`, `ON`, `ONLY`, `OPTIONAL`, `ORDER`, `ORGANIZATION`, `OTHER`, `OUTPUT`, `OVERFLOW`, `OVERLINE`, `PACKED-DECIMAL`, `PADDING`, `PAGE`, `PARAGRAPH`, `PLUS`, `POINTER`, `POSITION`, `POSITIVE`, `PRESENT`, `PREVIOUS`, `PRINTER`, `PRINTING`, `PROCEDURE-POINTER`, `PROCEDURES`, `PROCEED`, `PROGRAM`, `PROGRAM-POINTER`, `PROMPT`, `QUOTE`, `QUOTES`, `RANDOM`, `RD`, `RECORD`, `RECORDING`, `RECORDS`, `RECURSIVE`, `REDEFINES`, `REEL`, `REFERENCE`, `RELATIVE`, `REMAINDER`, `REMOVAL`, `RENAMES`, `REPLACING`, `REPORT`, `REPORTING`, `REPORTS`, `REPOSITORY`, `REQUIRED`, `RESERVE`, `RETURNING`, `REVERSE-VIDEO`, `REWIND`, `RIGHT`, `ROLLBACK`, `ROUNDED`, `RUN`, `SAME`, `SCROLL`, `SECURE`, `SEGMENT-LIMIT`, `SELECT`, `SENTENCE`, `SEPARATE`, `SEQUENCE`, `SEQUENTIAL`, `SHARING`, `SIGN`, `SIGNED`, `SIGNED-INT`, `SIGNED-LONG`, `SIGNED-SHORT`, `SIZE`, `SORT-MERGE`, `SOURCE`, `SOURCE-COMPUTER`, `SPECIAL-NAMES`, `STANDARD`, `STANDARD-1`, `STANDARD-2`, `STATUS`, `SUM`, `SYMBOLIC`, `SYNC`, `SYNCHRONIZED`, `TALLYING`, `TAPE`, `TEST`, `THROUGH`, `THRU`, `TIME`, `TIMES`, `TO`, `TOP`, `TRAILING`, `TRANSFORM`, `TYPE`, `UNDERLINE`, `UNIT`, `UNSIGNED`, `UNSIGNED-INT`, `UNSIGNED-LONG`, `UNSIGNED-SHORT`, `UNTIL`, `UP`, `UPDATE`, `UPON`, `USAGE`, `USING`, `VALUE`, `VALUES`, `VARYING`, `WAIT`, `WHEN`, `WITH`, `WORDS`, `YYYYDDD`, `YYYYMMDD`), KeywordPseudo, nil}, | ||||
| 			{Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACTIVE-CLASS`, `ALIGNED`, `ANYCASE`, `ARITHMETIC`, `ATTRIBUTE`, `B-AND`, `B-NOT`, `B-OR`, `B-XOR`, `BIT`, `BOOLEAN`, `CD`, `CENTER`, `CF`, `CH`, `CHAIN`, `CLASS-ID`, `CLASSIFICATION`, `COMMUNICATION`, `CONDITION`, `DATA-POINTER`, `DESTINATION`, `DISABLE`, `EC`, `EGI`, `EMI`, `ENABLE`, `END-RECEIVE`, `ENTRY-CONVENTION`, `EO`, `ESI`, `EXCEPTION-OBJECT`, `EXPANDS`, `FACTORY`, `FLOAT-BINARY-16`, `FLOAT-BINARY-34`, `FLOAT-BINARY-7`, `FLOAT-DECIMAL-16`, `FLOAT-DECIMAL-34`, `FLOAT-EXTENDED`, `FORMAT`, `FUNCTION-POINTER`, `GET`, `GROUP-USAGE`, `IMPLEMENTS`, `INFINITY`, `INHERITS`, `INTERFACE`, `INTERFACE-ID`, `INVOKE`, `LC_ALL`, `LC_COLLATE`, `LC_CTYPE`, `LC_MESSAGES`, `LC_MONETARY`, `LC_NUMERIC`, `LC_TIME`, `LINE-COUNTER`, `MESSAGE`, `METHOD`, `METHOD-ID`, `NESTED`, `NONE`, `NORMAL`, `OBJECT`, `OBJECT-REFERENCE`, `OPTIONS`, `OVERRIDE`, `PAGE-COUNTER`, `PF`, `PH`, `PROPERTY`, `PROTOTYPE`, `PURGE`, `QUEUE`, `RAISE`, `RAISING`, `RECEIVE`, `RELATION`, `REPLACE`, `REPRESENTS-NOT-A-NUMBER`, `RESET`, `RESUME`, `RETRY`, `RF`, `RH`, `SECONDS`, `SEGMENT`, `SELF`, `SEND`, `SOURCES`, `STATEMENT`, `STEP`, `STRONG`, `SUB-QUEUE-1`, `SUB-QUEUE-2`, `SUB-QUEUE-3`, `SUPER`, `SYMBOL`, `SYSTEM-DEFAULT`, `TABLE`, `TERMINAL`, `TEXT`, `TYPEDEF`, `UCS-4`, `UNIVERSAL`, `USER-DEFAULT`, `UTF-16`, `UTF-8`, `VAL-STATUS`, `VALID`, `VALIDATE`, `VALIDATE-STATUS`), Error, nil}, | ||||
| 			{`(^|(?<=[^\w\-]))(PIC\s+.+?(?=(\s|\.\s))|PICTURE\s+.+?(?=(\s|\.\s))|(COMPUTATIONAL)(-[1-5X])?|(COMP)(-[1-5X])?|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|BINARY)\s*($|(?=[^\w\-]))`, KeywordType, nil}, | ||||
| 			{`(\*\*|\*|\+|-|/|<=|>=|<|>|==|/=|=)`, Operator, nil}, | ||||
| 			{`([(),;:&%.])`, Punctuation, nil}, | ||||
| 			{`(^|(?<=[^\w\-]))(ABS|ACOS|ANNUITY|ASIN|ATAN|BYTE-LENGTH|CHAR|COMBINED-DATETIME|CONCATENATE|COS|CURRENT-DATE|DATE-OF-INTEGER|DATE-TO-YYYYMMDD|DAY-OF-INTEGER|DAY-TO-YYYYDDD|EXCEPTION-(?:FILE|LOCATION|STATEMENT|STATUS)|EXP10|EXP|E|FACTORIAL|FRACTION-PART|INTEGER-OF-(?:DATE|DAY|PART)|INTEGER|LENGTH|LOCALE-(?:DATE|TIME(?:-FROM-SECONDS)?)|LOG(?:10)?|LOWER-CASE|MAX|MEAN|MEDIAN|MIDRANGE|MIN|MOD|NUMVAL(?:-C)?|ORD(?:-MAX|-MIN)?|PI|PRESENT-VALUE|RANDOM|RANGE|REM|REVERSE|SECONDS-FROM-FORMATTED-TIME|SECONDS-PAST-MIDNIGHT|SIGN|SIN|SQRT|STANDARD-DEVIATION|STORED-CHAR-LENGTH|SUBSTITUTE(?:-CASE)?|SUM|TAN|TEST-DATE-YYYYMMDD|TEST-DAY-YYYYDDD|TRIM|UPPER-CASE|VARIANCE|WHEN-COMPILED|YEAR-TO-YYYY)\s*($|(?=[^\w\-]))`, NameFunction, nil}, | ||||
| 			{`(^|(?<=[^\w\-]))(true|false)\s*($|(?=[^\w\-]))`, NameBuiltin, nil}, | ||||
| 			{`(^|(?<=[^\w\-]))(equal|equals|ne|lt|le|gt|ge|greater|less|than|not|and|or)\s*($|(?=[^\w\-]))`, OperatorWord, nil}, | ||||
| 		}, | ||||
| 		"strings": { | ||||
| 			{`"[^"\n]*("|\n)`, LiteralStringDouble, nil}, | ||||
| 			{`'[^'\n]*('|\n)`, LiteralStringSingle, nil}, | ||||
| 		}, | ||||
| 		"nums": { | ||||
| 			{`\d+(\s*|\.$|$)`, LiteralNumberInteger, nil}, | ||||
| 			{`[+-]?\d*\.\d+(E[-+]?\d+)?`, LiteralNumberFloat, nil}, | ||||
| 			{`[+-]?\d+\.\d*(E[-+]?\d+)?`, LiteralNumberFloat, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										91
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coffee.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coffee.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Coffeescript lexer. | ||||
| var Coffeescript = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:         "CoffeeScript", | ||||
| 		Aliases:      []string{"coffee-script", "coffeescript", "coffee"}, | ||||
| 		Filenames:    []string{"*.coffee"}, | ||||
| 		MimeTypes:    []string{"text/coffeescript"}, | ||||
| 		NotMultiline: true, | ||||
| 		DotAll:       true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"commentsandwhitespace": { | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`###[^#].*?###`, CommentMultiline, nil}, | ||||
| 			{`#(?!##[^#]).*?\n`, CommentSingle, nil}, | ||||
| 		}, | ||||
| 		"multilineregex": { | ||||
| 			{`[^/#]+`, LiteralStringRegex, nil}, | ||||
| 			{`///([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, | ||||
| 			{`#\{`, LiteralStringInterpol, Push("interpoling_string")}, | ||||
| 			{`[/#]`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 		"slashstartsregex": { | ||||
| 			Include("commentsandwhitespace"), | ||||
| 			{`///`, LiteralStringRegex, Push("#pop", "multilineregex")}, | ||||
| 			{`/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, | ||||
| 			{`/`, Operator, nil}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"root": { | ||||
| 			Include("commentsandwhitespace"), | ||||
| 			{`^(?=\s|/)`, Text, Push("slashstartsregex")}, | ||||
| 			{"\\+\\+|~|&&|\\band\\b|\\bor\\b|\\bis\\b|\\bisnt\\b|\\bnot\\b|\\?|:|\\|\\||\\\\(?=\\n)|(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&\\|\\^/])=?", Operator, Push("slashstartsregex")}, | ||||
| 			{`(?:\([^()]*\))?\s*[=-]>`, NameFunction, Push("slashstartsregex")}, | ||||
| 			{`[{(\[;,]`, Punctuation, Push("slashstartsregex")}, | ||||
| 			{`[})\].]`, Punctuation, nil}, | ||||
| 			{`(?<![.$])(for|own|in|of|while|until|loop|break|return|continue|switch|when|then|if|unless|else|throw|try|catch|finally|new|delete|typeof|instanceof|super|extends|this|class|by)\b`, Keyword, Push("slashstartsregex")}, | ||||
| 			{`(?<![.$])(true|false|yes|no|on|off|null|NaN|Infinity|undefined)\b`, KeywordConstant, nil}, | ||||
| 			{`(Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window)\b`, NameBuiltin, nil}, | ||||
| 			{`[$a-zA-Z_][\w.:$]*\s*[:=]\s`, NameVariable, Push("slashstartsregex")}, | ||||
| 			{`@[$a-zA-Z_][\w.:$]*\s*[:=]\s`, NameVariableInstance, Push("slashstartsregex")}, | ||||
| 			{`@`, NameOther, Push("slashstartsregex")}, | ||||
| 			{`@?[$a-zA-Z_][\w$]*`, NameOther, nil}, | ||||
| 			{`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, | ||||
| 			{`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, | ||||
| 			{`[0-9]+`, LiteralNumberInteger, nil}, | ||||
| 			{`"""`, LiteralString, Push("tdqs")}, | ||||
| 			{`'''`, LiteralString, Push("tsqs")}, | ||||
| 			{`"`, LiteralString, Push("dqs")}, | ||||
| 			{`'`, LiteralString, Push("sqs")}, | ||||
| 		}, | ||||
| 		"strings": { | ||||
| 			{`[^#\\\'"]+`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"interpoling_string": { | ||||
| 			{`\}`, LiteralStringInterpol, Pop(1)}, | ||||
| 			Include("root"), | ||||
| 		}, | ||||
| 		"dqs": { | ||||
| 			{`"`, LiteralString, Pop(1)}, | ||||
| 			{`\\.|\'`, LiteralString, nil}, | ||||
| 			{`#\{`, LiteralStringInterpol, Push("interpoling_string")}, | ||||
| 			{`#`, LiteralString, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 		"sqs": { | ||||
| 			{`'`, LiteralString, Pop(1)}, | ||||
| 			{`#|\\.|"`, LiteralString, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 		"tdqs": { | ||||
| 			{`"""`, LiteralString, Pop(1)}, | ||||
| 			{`\\.|\'|"`, LiteralString, nil}, | ||||
| 			{`#\{`, LiteralStringInterpol, Push("interpoling_string")}, | ||||
| 			{`#`, LiteralString, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 		"tsqs": { | ||||
| 			{`'''`, LiteralString, Pop(1)}, | ||||
| 			{`#|\\.|\'|"`, LiteralString, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										48
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coldfusion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coldfusion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cfstatement lexer. | ||||
| var Cfstatement = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:            "cfstatement", | ||||
| 		Aliases:         []string{"cfs"}, | ||||
| 		Filenames:       []string{}, | ||||
| 		MimeTypes:       []string{}, | ||||
| 		NotMultiline:    true, | ||||
| 		CaseInsensitive: true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`//.*?\n`, CommentSingle, nil}, | ||||
| 			{`/\*(?:.|\n)*?\*/`, CommentMultiline, nil}, | ||||
| 			{`\+\+|--`, Operator, nil}, | ||||
| 			{`[-+*/^&=!]`, Operator, nil}, | ||||
| 			{`<=|>=|<|>|==`, Operator, nil}, | ||||
| 			{`mod\b`, Operator, nil}, | ||||
| 			{`(eq|lt|gt|lte|gte|not|is|and|or)\b`, Operator, nil}, | ||||
| 			{`\|\||&&`, Operator, nil}, | ||||
| 			{`\?`, Operator, nil}, | ||||
| 			{`"`, LiteralStringDouble, Push("string")}, | ||||
| 			{`'.*?'`, LiteralStringSingle, nil}, | ||||
| 			{`\d+`, LiteralNumber, nil}, | ||||
| 			{`(if|else|len|var|xml|default|break|switch|component|property|function|do|try|catch|in|continue|for|return|while|required|any|array|binary|boolean|component|date|guid|numeric|query|string|struct|uuid|case)\b`, Keyword, nil}, | ||||
| 			{`(true|false|null)\b`, KeywordConstant, nil}, | ||||
| 			{`(application|session|client|cookie|super|this|variables|arguments)\b`, NameConstant, nil}, | ||||
| 			{`([a-z_$][\w.]*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, | ||||
| 			{`[a-z_$][\w.]*`, NameVariable, nil}, | ||||
| 			{`[()\[\]{};:,.\\]`, Punctuation, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`""`, LiteralStringDouble, nil}, | ||||
| 			{`#.+?#`, LiteralStringInterpol, nil}, | ||||
| 			{`[^"#]+`, LiteralStringDouble, nil}, | ||||
| 			{`#`, LiteralStringDouble, nil}, | ||||
| 			{`"`, LiteralStringDouble, Pop(1)}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coq.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/coq.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Coq lexer. | ||||
| var Coq = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Coq", | ||||
| 		Aliases:   []string{"coq"}, | ||||
| 		Filenames: []string{"*.v"}, | ||||
| 		MimeTypes: []string{"text/x-coq"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`false|true|\(\)|\[\]`, NameBuiltinPseudo, nil}, | ||||
| 			{`\(\*`, Comment, Push("comment")}, | ||||
| 			{Words(`\b`, `\b`, `Section`, `Module`, `End`, `Require`, `Import`, `Export`, `Variable`, `Variables`, `Parameter`, `Parameters`, `Axiom`, `Hypothesis`, `Hypotheses`, `Notation`, `Local`, `Tactic`, `Reserved`, `Scope`, `Open`, `Close`, `Bind`, `Delimit`, `Definition`, `Let`, `Ltac`, `Fixpoint`, `CoFixpoint`, `Morphism`, `Relation`, `Implicit`, `Arguments`, `Set`, `Unset`, `Contextual`, `Strict`, `Prenex`, `Implicits`, `Inductive`, `CoInductive`, `Record`, `Structure`, `Canonical`, `Coercion`, `Theorem`, `Lemma`, `Corollary`, `Proposition`, `Fact`, `Remark`, `Example`, `Proof`, `Goal`, `Save`, `Qed`, `Defined`, `Hint`, `Resolve`, `Rewrite`, `View`, `Search`, `Show`, `Print`, `Printing`, `All`, `Graph`, `Projections`, `inside`, `outside`, `Check`, `Global`, `Instance`, `Class`, `Existing`, `Universe`, `Polymorphic`, `Monomorphic`, `Context`), KeywordNamespace, nil}, | ||||
| 			{Words(`\b`, `\b`, `forall`, `exists`, `exists2`, `fun`, `fix`, `cofix`, `struct`, `match`, `end`, `in`, `return`, `let`, `if`, `is`, `then`, `else`, `for`, `of`, `nosimpl`, `with`, `as`), Keyword, nil}, | ||||
| 			{Words(`\b`, `\b`, `Type`, `Prop`), KeywordType, nil}, | ||||
| 			{Words(`\b`, `\b`, `pose`, `set`, `move`, `case`, `elim`, `apply`, `clear`, `hnf`, `intro`, `intros`, `generalize`, `rename`, `pattern`, `after`, `destruct`, `induction`, `using`, `refine`, `inversion`, `injection`, `rewrite`, `congr`, `unlock`, `compute`, `ring`, `field`, `replace`, `fold`, `unfold`, `change`, `cutrewrite`, `simpl`, `have`, `suff`, `wlog`, `suffices`, `without`, `loss`, `nat_norm`, `assert`, `cut`, `trivial`, `revert`, `bool_congr`, `nat_congr`, `symmetry`, `transitivity`, `auto`, `split`, `left`, `right`, `autorewrite`, `tauto`, `setoid_rewrite`, `intuition`, `eauto`, `eapply`, `econstructor`, `etransitivity`, `constructor`, `erewrite`, `red`, `cbv`, `lazy`, `vm_compute`, `native_compute`, `subst`), Keyword, nil}, | ||||
| 			{Words(`\b`, `\b`, `by`, `done`, `exact`, `reflexivity`, `tauto`, `romega`, `omega`, `assumption`, `solve`, `contradiction`, `discriminate`, `congruence`), KeywordPseudo, nil}, | ||||
| 			{Words(`\b`, `\b`, `do`, `last`, `first`, `try`, `idtac`, `repeat`), KeywordReserved, nil}, | ||||
| 			{`\b([A-Z][\w\']*)`, Name, nil}, | ||||
| 			{"(\u03bb|\u03a0|\\|\\}|\\{\\||\\\\/|/\\\\|=>|~|\\}|\\|]|\\||\\{<|\\{|`|_|]|\\[\\||\\[>|\\[<|\\[|\\?\\?|\\?|>\\}|>]|>|=|<->|<-|<|;;|;|:>|:=|::|:|\\.\\.|\\.|->|-\\.|-|,|\\+|\\*|\\)|\\(|&&|&|#|!=)", Operator, nil}, | ||||
| 			{`([=<>@^|&+\*/$%-]|[!?~])?[!$%&*+\./:<=>?@^|~-]`, Operator, nil}, | ||||
| 			{`\b(unit|nat|bool|string|ascii|list)\b`, KeywordType, nil}, | ||||
| 			{`[^\W\d][\w']*`, Name, nil}, | ||||
| 			{`\d[\d_]*`, LiteralNumberInteger, nil}, | ||||
| 			{`0[xX][\da-fA-F][\da-fA-F_]*`, LiteralNumberHex, nil}, | ||||
| 			{`0[oO][0-7][0-7_]*`, LiteralNumberOct, nil}, | ||||
| 			{`0[bB][01][01_]*`, LiteralNumberBin, nil}, | ||||
| 			{`-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)`, LiteralNumberFloat, nil}, | ||||
| 			{`'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'`, LiteralStringChar, nil}, | ||||
| 			{`'.'`, LiteralStringChar, nil}, | ||||
| 			{`'`, Keyword, nil}, | ||||
| 			{`"`, LiteralStringDouble, Push("string")}, | ||||
| 			{`[~?][a-z][\w\']*:`, Name, nil}, | ||||
| 		}, | ||||
| 		"comment": { | ||||
| 			{`[^(*)]+`, Comment, nil}, | ||||
| 			{`\(\*`, Comment, Push()}, | ||||
| 			{`\*\)`, Comment, Pop(1)}, | ||||
| 			{`[(*)]`, Comment, nil}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`[^"]+`, LiteralStringDouble, nil}, | ||||
| 			{`""`, LiteralStringDouble, nil}, | ||||
| 			{`"`, LiteralStringDouble, Pop(1)}, | ||||
| 		}, | ||||
| 		"dotted": { | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`\.`, Punctuation, nil}, | ||||
| 			{`[A-Z][\w\']*(?=\s*\.)`, NameNamespace, nil}, | ||||
| 			{`[A-Z][\w\']*`, NameClass, Pop(1)}, | ||||
| 			{`[a-z][a-z0-9_\']*`, Name, Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										106
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cpp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cpp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,106 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // CPP lexer. | ||||
| var CPP = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "C++", | ||||
| 		Aliases:   []string{"cpp", "c++"}, | ||||
| 		Filenames: []string{"*.cpp", "*.hpp", "*.c++", "*.h++", "*.cc", "*.hh", "*.cxx", "*.hxx", "*.C", "*.H", "*.cp", "*.CPP"}, | ||||
| 		MimeTypes: []string{"text/x-c++hdr", "text/x-c++src"}, | ||||
| 		EnsureNL:  true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"statements": { | ||||
| 			{Words(``, `\b`, `catch`, `const_cast`, `delete`, `dynamic_cast`, `explicit`, `export`, `friend`, `mutable`, `namespace`, `new`, `operator`, `private`, `protected`, `public`, `reinterpret_cast`, `restrict`, `static_cast`, `template`, `this`, `throw`, `throws`, `try`, `typeid`, `typename`, `using`, `virtual`, `constexpr`, `nullptr`, `decltype`, `thread_local`, `alignas`, `alignof`, `static_assert`, `noexcept`, `override`, `final`, `concept`, `requires`, `consteval`, `co_await`, `co_return`, `co_yield`), Keyword, nil}, | ||||
| 			{`(enum)\b(\s+)(class)\b(\s*)`, ByGroups(Keyword, Text, Keyword, Text), Push("classname")}, | ||||
| 			{`(class|struct|enum|union)\b(\s*)`, ByGroups(Keyword, Text), Push("classname")}, | ||||
| 			{`\[\[.+\]\]`, NameAttribute, nil}, | ||||
| 			{`(R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")`, ByGroups(LiteralStringAffix, LiteralString, LiteralStringDelimiter, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, LiteralString), nil}, | ||||
| 			{`(u8|u|U)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, | ||||
| 			{`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, | ||||
| 			{`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil}, | ||||
| 			{`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, | ||||
| 			{`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, | ||||
| 			{`0[xX]([0-9A-Fa-f]('?[0-9A-Fa-f]+)*)[LlUu]*`, LiteralNumberHex, nil}, | ||||
| 			{`0('?[0-7]+)+[LlUu]*`, LiteralNumberOct, nil}, | ||||
| 			{`0[Bb][01]('?[01]+)*[LlUu]*`, LiteralNumberBin, nil}, | ||||
| 			{`[0-9]('?[0-9]+)*[LlUu]*`, LiteralNumberInteger, nil}, | ||||
| 			{`\*/`, Error, nil}, | ||||
| 			{`[~!%^&*+=|?:<>/-]`, Operator, nil}, | ||||
| 			{`[()\[\],.]`, Punctuation, nil}, | ||||
| 			{Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil}, | ||||
| 			{`(bool|int|long|float|short|double|char((8|16|32)_t)?|wchar_t|unsigned|signed|void|u?int(_fast|_least|)(8|16|32|64)_t)\b`, KeywordType, nil}, | ||||
| 			{Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil}, | ||||
| 			{`(__m(128i|128d|128|64))\b`, KeywordReserved, nil}, | ||||
| 			{Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil}, | ||||
| 			{`(true|false|NULL)\b`, NameBuiltin, nil}, | ||||
| 			{`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil}, | ||||
| 			{`[a-zA-Z_]\w*`, Name, nil}, | ||||
| 		}, | ||||
| 		"root": { | ||||
| 			Include("whitespace"), | ||||
| 			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")}, | ||||
| 			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil}, | ||||
| 			Default(Push("statement")), | ||||
| 			{Words(`__`, `\b`, `virtual_inheritance`, `uuidof`, `super`, `single_inheritance`, `multiple_inheritance`, `interface`, `event`), KeywordReserved, nil}, | ||||
| 			{`__(offload|blockingoffload|outer)\b`, KeywordPseudo, nil}, | ||||
| 		}, | ||||
| 		"classname": { | ||||
| 			{`(\[\[.+\]\])(\s*)`, ByGroups(NameAttribute, Text), nil}, | ||||
| 			{`[a-zA-Z_]\w*`, NameClass, Pop(1)}, | ||||
| 			{`\s*(?=[>{])`, Text, Pop(1)}, | ||||
| 		}, | ||||
| 		"whitespace": { | ||||
| 			{`^#if\s+0`, CommentPreproc, Push("if0")}, | ||||
| 			{`^#`, CommentPreproc, Push("macro")}, | ||||
| 			{`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")}, | ||||
| 			{`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")}, | ||||
| 			{`\n`, Text, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 			{`\\\n`, Text, nil}, | ||||
| 			{`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, | ||||
| 			{`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, | ||||
| 			{`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, | ||||
| 		}, | ||||
| 		"statement": { | ||||
| 			Include("whitespace"), | ||||
| 			Include("statements"), | ||||
| 			{`[{]`, Punctuation, Push("root")}, | ||||
| 			{`[;}]`, Punctuation, Pop(1)}, | ||||
| 		}, | ||||
| 		"function": { | ||||
| 			Include("whitespace"), | ||||
| 			Include("statements"), | ||||
| 			{`;`, Punctuation, nil}, | ||||
| 			{`\{`, Punctuation, Push()}, | ||||
| 			{`\}`, Punctuation, Pop(1)}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`"`, LiteralString, Pop(1)}, | ||||
| 			{`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil}, | ||||
| 			{`[^\\"\n]+`, LiteralString, nil}, | ||||
| 			{`\\\n`, LiteralString, nil}, | ||||
| 			{`\\`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"macro": { | ||||
| 			{`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil}, | ||||
| 			{`[^/\n]+`, CommentPreproc, nil}, | ||||
| 			{`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, | ||||
| 			{`//.*?\n`, CommentSingle, Pop(1)}, | ||||
| 			{`/`, CommentPreproc, nil}, | ||||
| 			{`(?<=\\)\n`, CommentPreproc, nil}, | ||||
| 			{`\n`, CommentPreproc, Pop(1)}, | ||||
| 		}, | ||||
| 		"if0": { | ||||
| 			{`^\s*#if.*?(?<!\\)\n`, CommentPreproc, Push()}, | ||||
| 			{`^\s*#el(?:se|if).*\n`, CommentPreproc, Pop(1)}, | ||||
| 			{`^\s*#endif.*?(?<!\\)\n`, CommentPreproc, Pop(1)}, | ||||
| 			{`.*?\n`, Comment, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										69
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cql.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cql.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // CassandraCQL lexer. | ||||
| var CassandraCQL = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:            "Cassandra CQL", | ||||
| 		Aliases:         []string{"cassandra", "cql"}, | ||||
| 		Filenames:       []string{"*.cql"}, | ||||
| 		MimeTypes:       []string{"text/x-cql"}, | ||||
| 		NotMultiline:    true, | ||||
| 		CaseInsensitive: true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`\s+`, TextWhitespace, nil}, | ||||
| 			{`(--|\/\/).*\n?`, CommentSingle, nil}, | ||||
| 			{`/\*`, CommentMultiline, Push("multiline-comments")}, | ||||
| 			{`(ascii|bigint|blob|boolean|counter|date|decimal|double|float|frozen|inet|int|list|map|set|smallint|text|time|timestamp|timeuuid|tinyint|tuple|uuid|varchar|varint)\b`, NameBuiltin, nil}, | ||||
| 			{Words(``, `\b`, `ADD`, `AGGREGATE`, `ALL`, `ALLOW`, `ALTER`, `AND`, `ANY`, `APPLY`, `AS`, `ASC`, `AUTHORIZE`, `BATCH`, `BEGIN`, `BY`, `CLUSTERING`, `COLUMNFAMILY`, `COMPACT`, `CONSISTENCY`, `COUNT`, `CREATE`, `CUSTOM`, `DELETE`, `DESC`, `DISTINCT`, `DROP`, `EACH_QUORUM`, `ENTRIES`, `EXISTS`, `FILTERING`, `FROM`, `FULL`, `GRANT`, `IF`, `IN`, `INDEX`, `INFINITY`, `INSERT`, `INTO`, `KEY`, `KEYS`, `KEYSPACE`, `KEYSPACES`, `LEVEL`, `LIMIT`, `LOCAL_ONE`, `LOCAL_QUORUM`, `MATERIALIZED`, `MODIFY`, `NAN`, `NORECURSIVE`, `NOSUPERUSER`, `NOT`, `OF`, `ON`, `ONE`, `ORDER`, `PARTITION`, `PASSWORD`, `PER`, `PERMISSION`, `PERMISSIONS`, `PRIMARY`, `QUORUM`, `RENAME`, `REVOKE`, `SCHEMA`, `SELECT`, `STATIC`, `STORAGE`, `SUPERUSER`, `TABLE`, `THREE`, `TO`, `TOKEN`, `TRUNCATE`, `TTL`, `TWO`, `TYPE`, `UNLOGGED`, `UPDATE`, `USE`, `USER`, `USERS`, `USING`, `VALUES`, `VIEW`, `WHERE`, `WITH`, `WRITETIME`, `REPLICATION`, `OR`, `REPLACE`, `FUNCTION`, `CALLED`, `INPUT`, `RETURNS`, `LANGUAGE`, `ROLE`, `ROLES`, `TRIGGER`, `DURABLE_WRITES`, `LOGIN`, `OPTIONS`, `LOGGED`, `SFUNC`, `STYPE`, `FINALFUNC`, `INITCOND`, `IS`, `CONTAINS`, `JSON`, `PAGING`, `OFF`), Keyword, nil}, | ||||
| 			{"[+*/<>=~!@#%^&|`?-]+", Operator, nil}, | ||||
| 			{`(?s)(java|javascript)(\s+)(AS)(\s+)('|\$\$)(.*?)(\5)`, | ||||
| 				UsingByGroup( | ||||
| 					internal.Get, | ||||
| 					1, 6, | ||||
| 					NameBuiltin, TextWhitespace, Keyword, TextWhitespace, | ||||
| 					LiteralStringHeredoc, LiteralStringHeredoc, LiteralStringHeredoc, | ||||
| 				), | ||||
| 				nil, | ||||
| 			}, | ||||
| 			{`(true|false|null)\b`, KeywordConstant, nil}, | ||||
| 			{`0x[0-9a-f]+`, LiteralNumberHex, nil}, | ||||
| 			{`[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`, LiteralNumberHex, nil}, | ||||
| 			{`\.[0-9]+(e[+-]?[0-9]+)?`, Error, nil}, | ||||
| 			{`-?[0-9]+(\.[0-9])?(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, | ||||
| 			{`[0-9]+`, LiteralNumberInteger, nil}, | ||||
| 			{`'`, LiteralStringSingle, Push("string")}, | ||||
| 			{`"`, LiteralStringName, Push("quoted-ident")}, | ||||
| 			{`\$\$`, LiteralStringHeredoc, Push("dollar-string")}, | ||||
| 			{`[a-z_]\w*`, Name, nil}, | ||||
| 			{`:(['"]?)[a-z]\w*\b\1`, NameVariable, nil}, | ||||
| 			{`[;:()\[\]\{\},.]`, Punctuation, nil}, | ||||
| 		}, | ||||
| 		"multiline-comments": { | ||||
| 			{`/\*`, CommentMultiline, Push("multiline-comments")}, | ||||
| 			{`\*/`, CommentMultiline, Pop(1)}, | ||||
| 			{`[^/*]+`, CommentMultiline, nil}, | ||||
| 			{`[/*]`, CommentMultiline, nil}, | ||||
| 		}, | ||||
| 		"string": { | ||||
| 			{`[^']+`, LiteralStringSingle, nil}, | ||||
| 			{`''`, LiteralStringSingle, nil}, | ||||
| 			{`'`, LiteralStringSingle, Pop(1)}, | ||||
| 		}, | ||||
| 		"quoted-ident": { | ||||
| 			{`[^"]+`, LiteralStringName, nil}, | ||||
| 			{`""`, LiteralStringName, nil}, | ||||
| 			{`"`, LiteralStringName, Pop(1)}, | ||||
| 		}, | ||||
| 		"dollar-string": { | ||||
| 			{`[^\$]+`, LiteralStringHeredoc, nil}, | ||||
| 			{`\$\$`, LiteralStringHeredoc, Pop(1)}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										262
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/crystal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/crystal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,262 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Crystal lexer. | ||||
| var Crystal = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Crystal", | ||||
| 		Aliases:   []string{"cr", "crystal"}, | ||||
| 		Filenames: []string{"*.cr"}, | ||||
| 		MimeTypes: []string{"text/x-crystal"}, | ||||
| 		DotAll:    true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`#.*?$`, CommentSingle, nil}, | ||||
| 			{Words(``, `\b`, `abstract`, `asm`, `as`, `begin`, `break`, `case`, `do`, `else`, `elsif`, `end`, `ensure`, `extend`, `ifdef`, `if`, `include`, `instance_sizeof`, `next`, `of`, `pointerof`, `private`, `protected`, `rescue`, `return`, `require`, `sizeof`, `super`, `then`, `typeof`, `unless`, `until`, `when`, `while`, `with`, `yield`), Keyword, nil}, | ||||
| 			{Words(``, `\b`, `true`, `false`, `nil`), KeywordConstant, nil}, | ||||
| 			{`(module|lib)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)`, ByGroups(Keyword, Text, NameNamespace), nil}, | ||||
| 			{`(def|fun|macro)(\s+)((?:[a-zA-Z_]\w*::)*)`, ByGroups(Keyword, Text, NameNamespace), Push("funcname")}, | ||||
| 			{"def(?=[*%&^`~+-/\\[<>=])", Keyword, Push("funcname")}, | ||||
| 			{`(class|struct|union|type|alias|enum)(\s+)((?:[a-zA-Z_]\w*::)*)`, ByGroups(Keyword, Text, NameNamespace), Push("classname")}, | ||||
| 			{`(self|out|uninitialized)\b|(is_a|responds_to)\?`, KeywordPseudo, nil}, | ||||
| 			{Words(``, `\b`, `debugger`, `record`, `pp`, `assert_responds_to`, `spawn`, `parallel`, `getter`, `setter`, `property`, `delegate`, `def_hash`, `def_equals`, `def_equals_and_hash`, `forward_missing_to`), NameBuiltinPseudo, nil}, | ||||
| 			{`getter[!?]|property[!?]|__(DIR|FILE|LINE)__\b`, NameBuiltinPseudo, nil}, | ||||
| 			{Words(`(?<!\.)`, `\b`, `Object`, `Value`, `Struct`, `Reference`, `Proc`, `Class`, `Nil`, `Symbol`, `Enum`, `Void`, `Bool`, `Number`, `Int`, `Int8`, `Int16`, `Int32`, `Int64`, `UInt8`, `UInt16`, `UInt32`, `UInt64`, `Float`, `Float32`, `Float64`, `Char`, `String`, `Pointer`, `Slice`, `Range`, `Exception`, `Regex`, `Mutex`, `StaticArray`, `Array`, `Hash`, `Set`, `Tuple`, `Deque`, `Box`, `Process`, `File`, `Dir`, `Time`, `Channel`, `Concurrent`, `Scheduler`, `abort`, `at_exit`, `caller`, `delay`, `exit`, `fork`, `future`, `get_stack_top`, `gets`, `lazy`, `loop`, `main`, `p`, `print`, `printf`, `puts`, `raise`, `rand`, `read_line`, `sleep`, `sprintf`, `system`, `with_color`), NameBuiltin, nil}, | ||||
| 			{"(?<!\\w)(<<-?)([\"`\\']?)([a-zA-Z_]\\w*)(\\2)(.*?\\n)", StringHeredoc, nil}, | ||||
| 			{`(<<-?)("|\')()(\2)(.*?\n)`, StringHeredoc, nil}, | ||||
| 			{`__END__`, CommentPreproc, Push("end-part")}, | ||||
| 			{`(?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, | ||||
| 			{`(?<=\(|,|\[)/`, LiteralStringRegex, Push("multiline-regex")}, | ||||
| 			{`(\s+)(/)(?![\s=])`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, | ||||
| 			{`(0o[0-7]+(?:_[0-7]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberOct, Text, Operator), nil}, | ||||
| 			{`(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberHex, Text, Operator), nil}, | ||||
| 			{`(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberBin, Text, Operator), nil}, | ||||
| 			{`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?(?:_?f[0-9]+)?)(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, | ||||
| 			{`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)(?:_?f[0-9]+)?)(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, | ||||
| 			{`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?(?:_?f[0-9]+))(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, | ||||
| 			{`(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberInteger, Text, Operator), nil}, | ||||
| 			{`@@[a-zA-Z_]\w*`, NameVariableClass, nil}, | ||||
| 			{`@[a-zA-Z_]\w*`, NameVariableInstance, nil}, | ||||
| 			{`\$\w+`, NameVariableGlobal, nil}, | ||||
| 			{"\\$[!@&`\\'+~=/\\\\,;.<>_*$?:\"^-]", NameVariableGlobal, nil}, | ||||
| 			{`\$-[0adFiIlpvw]`, NameVariableGlobal, nil}, | ||||
| 			{`::`, Operator, nil}, | ||||
| 			Include("strings"), | ||||
| 			{`\?(\\[MC]-)*(\\([\\befnrtv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)`, LiteralStringChar, nil}, | ||||
| 			{`[A-Z][A-Z_]+\b`, NameConstant, nil}, | ||||
| 			{`\{%`, LiteralStringInterpol, Push("in-macro-control")}, | ||||
| 			{`\{\{`, LiteralStringInterpol, Push("in-macro-expr")}, | ||||
| 			{`(@\[)(\s*)([A-Z]\w*)`, ByGroups(Operator, Text, NameDecorator), Push("in-attr")}, | ||||
| 			{Words(`(\.|::)`, ``, `!=`, `!~`, `!`, `%`, `&&`, `&`, `**`, `*`, `+`, `-`, `/`, `<=>`, `<<`, `<=`, `<`, `===`, `==`, `=~`, `=`, `>=`, `>>`, `>`, `[]=`, `[]?`, `[]`, `^`, `||`, `|`, `~`), ByGroups(Operator, NameOperator), nil}, | ||||
| 			{"(\\.|::)([a-zA-Z_]\\w*[!?]?|[*%&^`~+\\-/\\[<>=])", ByGroups(Operator, Name), nil}, | ||||
| 			{`[a-zA-Z_]\w*(?:[!?](?!=))?`, Name, nil}, | ||||
| 			{`(\[|\]\??|\*\*|<=>?|>=|<<?|>>?|=~|===|!~|&&?|\|\||\.{1,3})`, Operator, nil}, | ||||
| 			{`[-+/*%=<>&!^|~]=?`, Operator, nil}, | ||||
| 			{`[(){};,/?:\\]`, Punctuation, nil}, | ||||
| 			{`\s+`, Text, nil}, | ||||
| 		}, | ||||
| 		"funcname": { | ||||
| 			{"(?:([a-zA-Z_]\\w*)(\\.))?([a-zA-Z_]\\w*[!?]?|\\*\\*?|[-+]@?|[/%&|^`~]|\\[\\]=?|<<|>>|<=?>|>=?|===?)", ByGroups(NameClass, Operator, NameFunction), Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"classname": { | ||||
| 			{`[A-Z_]\w*`, NameClass, nil}, | ||||
| 			{`(\()(\s*)([A-Z_]\w*)(\s*)(\))`, ByGroups(Punctuation, Text, NameClass, Text, Punctuation), nil}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"in-intp": { | ||||
| 			{`\{`, LiteralStringInterpol, Push()}, | ||||
| 			{`\}`, LiteralStringInterpol, Pop(1)}, | ||||
| 			Include("root"), | ||||
| 		}, | ||||
| 		"string-intp": { | ||||
| 			{`#\{`, LiteralStringInterpol, Push("in-intp")}, | ||||
| 		}, | ||||
| 		"string-escaped": { | ||||
| 			{`\\([\\befnstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})`, LiteralStringEscape, nil}, | ||||
| 		}, | ||||
| 		"string-intp-escaped": { | ||||
| 			Include("string-intp"), | ||||
| 			Include("string-escaped"), | ||||
| 		}, | ||||
| 		"interpolated-regex": { | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\#]+`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 		"interpolated-string": { | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"multiline-regex": { | ||||
| 			Include("string-intp"), | ||||
| 			{`\\\\`, LiteralStringRegex, nil}, | ||||
| 			{`\\/`, LiteralStringRegex, nil}, | ||||
| 			{`[\\#]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\/#]+`, LiteralStringRegex, nil}, | ||||
| 			{`/[imsx]*`, LiteralStringRegex, Pop(1)}, | ||||
| 		}, | ||||
| 		"end-part": { | ||||
| 			{`.+`, CommentPreproc, Pop(1)}, | ||||
| 		}, | ||||
| 		"in-macro-control": { | ||||
| 			{`\{%`, LiteralStringInterpol, Push()}, | ||||
| 			{`%\}`, LiteralStringInterpol, Pop(1)}, | ||||
| 			{`for\b|in\b`, Keyword, nil}, | ||||
| 			Include("root"), | ||||
| 		}, | ||||
| 		"in-macro-expr": { | ||||
| 			{`\{\{`, LiteralStringInterpol, Push()}, | ||||
| 			{`\}\}`, LiteralStringInterpol, Pop(1)}, | ||||
| 			Include("root"), | ||||
| 		}, | ||||
| 		"in-attr": { | ||||
| 			{`\[`, Operator, Push()}, | ||||
| 			{`\]`, Operator, Pop(1)}, | ||||
| 			Include("root"), | ||||
| 		}, | ||||
| 		"strings": { | ||||
| 			{`\:@{0,2}[a-zA-Z_]\w*[!?]?`, LiteralStringSymbol, nil}, | ||||
| 			{Words(`\:@{0,2}`, ``, `!=`, `!~`, `!`, `%`, `&&`, `&`, `**`, `*`, `+`, `-`, `/`, `<=>`, `<<`, `<=`, `<`, `===`, `==`, `=~`, `=`, `>=`, `>>`, `>`, `[]=`, `[]?`, `[]`, `^`, `||`, `|`, `~`), LiteralStringSymbol, nil}, | ||||
| 			{`:'(\\\\|\\'|[^'])*'`, LiteralStringSymbol, nil}, | ||||
| 			{`'(\\\\|\\'|[^']|\\[^'\\]+)'`, LiteralStringChar, nil}, | ||||
| 			{`:"`, LiteralStringSymbol, Push("simple-sym")}, | ||||
| 			{`([a-zA-Z_]\w*)(:)(?!:)`, ByGroups(LiteralStringSymbol, Punctuation), nil}, | ||||
| 			{`"`, LiteralStringDouble, Push("simple-string")}, | ||||
| 			{"(?<!\\.)`", LiteralStringBacktick, Push("simple-backtick")}, | ||||
| 			{`%\{`, LiteralStringOther, Push("cb-intp-string")}, | ||||
| 			{`%[wi]\{`, LiteralStringOther, Push("cb-string")}, | ||||
| 			{`%r\{`, LiteralStringRegex, Push("cb-regex")}, | ||||
| 			{`%\[`, LiteralStringOther, Push("sb-intp-string")}, | ||||
| 			{`%[wi]\[`, LiteralStringOther, Push("sb-string")}, | ||||
| 			{`%r\[`, LiteralStringRegex, Push("sb-regex")}, | ||||
| 			{`%\(`, LiteralStringOther, Push("pa-intp-string")}, | ||||
| 			{`%[wi]\(`, LiteralStringOther, Push("pa-string")}, | ||||
| 			{`%r\(`, LiteralStringRegex, Push("pa-regex")}, | ||||
| 			{`%<`, LiteralStringOther, Push("ab-intp-string")}, | ||||
| 			{`%[wi]<`, LiteralStringOther, Push("ab-string")}, | ||||
| 			{`%r<`, LiteralStringRegex, Push("ab-regex")}, | ||||
| 			{`(%r([\W_]))((?:\\\2|(?!\2).)*)(\2[imsx]*)`, String, nil}, | ||||
| 			{`(%[wi]([\W_]))((?:\\\2|(?!\2).)*)(\2)`, String, nil}, | ||||
| 			{`(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, | ||||
| 			{`^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, | ||||
| 			{`(%([\[{(<]))((?:\\\2|(?!\2).)*)(\2)`, String, nil}, | ||||
| 		}, | ||||
| 		"simple-string": { | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{`[^\\"#]+`, LiteralStringDouble, nil}, | ||||
| 			{`[\\#]`, LiteralStringDouble, nil}, | ||||
| 			{`"`, LiteralStringDouble, Pop(1)}, | ||||
| 		}, | ||||
| 		"simple-sym": { | ||||
| 			Include("string-escaped"), | ||||
| 			{`[^\\"#]+`, LiteralStringSymbol, nil}, | ||||
| 			{`[\\#]`, LiteralStringSymbol, nil}, | ||||
| 			{`"`, LiteralStringSymbol, Pop(1)}, | ||||
| 		}, | ||||
| 		"simple-backtick": { | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{"[^\\\\`#]+", LiteralStringBacktick, nil}, | ||||
| 			{`[\\#]`, LiteralStringBacktick, nil}, | ||||
| 			{"`", LiteralStringBacktick, Pop(1)}, | ||||
| 		}, | ||||
| 		"cb-intp-string": { | ||||
| 			{`\\[\{]`, LiteralStringOther, nil}, | ||||
| 			{`\{`, LiteralStringOther, Push()}, | ||||
| 			{`\}`, LiteralStringOther, Pop(1)}, | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{`[\\#{}]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#{}]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"cb-string": { | ||||
| 			{`\\[\\{}]`, LiteralStringOther, nil}, | ||||
| 			{`\{`, LiteralStringOther, Push()}, | ||||
| 			{`\}`, LiteralStringOther, Pop(1)}, | ||||
| 			{`[\\#{}]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#{}]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"cb-regex": { | ||||
| 			{`\\[\\{}]`, LiteralStringRegex, nil}, | ||||
| 			{`\{`, LiteralStringRegex, Push()}, | ||||
| 			{`\}[imsx]*`, LiteralStringRegex, Pop(1)}, | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#{}]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\#{}]+`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 		"sb-intp-string": { | ||||
| 			{`\\[\[]`, LiteralStringOther, nil}, | ||||
| 			{`\[`, LiteralStringOther, Push()}, | ||||
| 			{`\]`, LiteralStringOther, Pop(1)}, | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{`[\\#\[\]]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#\[\]]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"sb-string": { | ||||
| 			{`\\[\\\[\]]`, LiteralStringOther, nil}, | ||||
| 			{`\[`, LiteralStringOther, Push()}, | ||||
| 			{`\]`, LiteralStringOther, Pop(1)}, | ||||
| 			{`[\\#\[\]]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#\[\]]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"sb-regex": { | ||||
| 			{`\\[\\\[\]]`, LiteralStringRegex, nil}, | ||||
| 			{`\[`, LiteralStringRegex, Push()}, | ||||
| 			{`\][imsx]*`, LiteralStringRegex, Pop(1)}, | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#\[\]]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\#\[\]]+`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 		"pa-intp-string": { | ||||
| 			{`\\[\(]`, LiteralStringOther, nil}, | ||||
| 			{`\(`, LiteralStringOther, Push()}, | ||||
| 			{`\)`, LiteralStringOther, Pop(1)}, | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{`[\\#()]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#()]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"pa-string": { | ||||
| 			{`\\[\\()]`, LiteralStringOther, nil}, | ||||
| 			{`\(`, LiteralStringOther, Push()}, | ||||
| 			{`\)`, LiteralStringOther, Pop(1)}, | ||||
| 			{`[\\#()]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#()]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"pa-regex": { | ||||
| 			{`\\[\\()]`, LiteralStringRegex, nil}, | ||||
| 			{`\(`, LiteralStringRegex, Push()}, | ||||
| 			{`\)[imsx]*`, LiteralStringRegex, Pop(1)}, | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#()]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\#()]+`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 		"ab-intp-string": { | ||||
| 			{`\\[<]`, LiteralStringOther, nil}, | ||||
| 			{`<`, LiteralStringOther, Push()}, | ||||
| 			{`>`, LiteralStringOther, Pop(1)}, | ||||
| 			Include("string-intp-escaped"), | ||||
| 			{`[\\#<>]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#<>]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"ab-string": { | ||||
| 			{`\\[\\<>]`, LiteralStringOther, nil}, | ||||
| 			{`<`, LiteralStringOther, Push()}, | ||||
| 			{`>`, LiteralStringOther, Pop(1)}, | ||||
| 			{`[\\#<>]`, LiteralStringOther, nil}, | ||||
| 			{`[^\\#<>]+`, LiteralStringOther, nil}, | ||||
| 		}, | ||||
| 		"ab-regex": { | ||||
| 			{`\\[\\<>]`, LiteralStringRegex, nil}, | ||||
| 			{`<`, LiteralStringRegex, Push()}, | ||||
| 			{`>[imsx]*`, LiteralStringRegex, Pop(1)}, | ||||
| 			Include("string-intp"), | ||||
| 			{`[\\#<>]`, LiteralStringRegex, nil}, | ||||
| 			{`[^\\#<>]+`, LiteralStringRegex, nil}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										51
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/csharp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/csharp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // CSharp lexer. | ||||
| var CSharp = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "C#", | ||||
| 		Aliases:   []string{"csharp", "c#"}, | ||||
| 		Filenames: []string{"*.cs"}, | ||||
| 		MimeTypes: []string{"text/x-csharp"}, | ||||
| 		DotAll:    true, | ||||
| 		EnsureNL:  true, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`^\s*\[.*?\]`, NameAttribute, nil}, | ||||
| 			{`[^\S\n]+`, Text, nil}, | ||||
| 			{`\\\n`, Text, nil}, | ||||
| 			{`//.*?\n`, CommentSingle, nil}, | ||||
| 			{`/[*].*?[*]/`, CommentMultiline, nil}, | ||||
| 			{`\n`, Text, nil}, | ||||
| 			{`[~!%^&*()+=|\[\]:;,.<>/?-]`, Punctuation, nil}, | ||||
| 			{`[{}]`, Punctuation, nil}, | ||||
| 			{`@"(""|[^"])*"`, LiteralString, nil}, | ||||
| 			{`\$@?"(""|[^"])*"`, LiteralString, nil}, | ||||
| 			{`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil}, | ||||
| 			{`'\\.'|'[^\\]'`, LiteralStringChar, nil}, | ||||
| 			{`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, | ||||
| 			{`#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\n`, CommentPreproc, nil}, | ||||
| 			{`\b(extern)(\s+)(alias)\b`, ByGroups(Keyword, Text, Keyword), nil}, | ||||
| 			{`(abstract|as|async|await|base|break|by|case|catch|checked|const|continue|default|delegate|do|else|enum|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|let|lock|new|null|on|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unchecked|unsafe|virtual|void|while|get|set|new|partial|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b`, Keyword, nil}, | ||||
| 			{`(global)(::)`, ByGroups(Keyword, Punctuation), nil}, | ||||
| 			{`(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??`, KeywordType, nil}, | ||||
| 			{`(class|struct)(\s+)`, ByGroups(Keyword, Text), Push("class")}, | ||||
| 			{`(namespace|using)(\s+)`, ByGroups(Keyword, Text), Push("namespace")}, | ||||
| 			{`@?[_a-zA-Z]\w*`, Name, nil}, | ||||
| 		}, | ||||
| 		"class": { | ||||
| 			{`@?[_a-zA-Z]\w*`, NameClass, Pop(1)}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"namespace": { | ||||
| 			{`(?=\()`, Text, Pop(1)}, | ||||
| 			{`(@?[_a-zA-Z]\w*|\.)+`, NameNamespace, Pop(1)}, | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
							
								
								
									
										104
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/css.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/css.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										135
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cython.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								vendor/github.com/alecthomas/chroma/lexers/c/cython.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,135 @@ | ||||
| package c | ||||
|  | ||||
| import ( | ||||
| 	. "github.com/alecthomas/chroma" // nolint | ||||
| 	"github.com/alecthomas/chroma/lexers/internal" | ||||
| ) | ||||
|  | ||||
| // Cython lexer. | ||||
| var Cython = internal.Register(MustNewLexer( | ||||
| 	&Config{ | ||||
| 		Name:      "Cython", | ||||
| 		Aliases:   []string{"cython", "pyx", "pyrex"}, | ||||
| 		Filenames: []string{"*.pyx", "*.pxd", "*.pxi"}, | ||||
| 		MimeTypes: []string{"text/x-cython", "application/x-cython"}, | ||||
| 	}, | ||||
| 	Rules{ | ||||
| 		"root": { | ||||
| 			{`\n`, Text, nil}, | ||||
| 			{`^(\s*)("""(?:.|\n)*?""")`, ByGroups(Text, LiteralStringDoc), nil}, | ||||
| 			{`^(\s*)('''(?:.|\n)*?''')`, ByGroups(Text, LiteralStringDoc), nil}, | ||||
| 			{`[^\S\n]+`, Text, nil}, | ||||
| 			{`#.*$`, Comment, nil}, | ||||
| 			{`[]{}:(),;[]`, Punctuation, nil}, | ||||
| 			{`\\\n`, Text, nil}, | ||||
| 			{`\\`, Text, nil}, | ||||
| 			{`(in|is|and|or|not)\b`, OperatorWord, nil}, | ||||
| 			{`(<)([a-zA-Z0-9.?]+)(>)`, ByGroups(Punctuation, KeywordType, Punctuation), nil}, | ||||
| 			{`!=|==|<<|>>|[-~+/*%=<>&^|.?]`, Operator, nil}, | ||||
| 			{`(from)(\d+)(<=)(\s+)(<)(\d+)(:)`, ByGroups(Keyword, LiteralNumberInteger, Operator, Name, Operator, Name, Punctuation), nil}, | ||||
| 			Include("keywords"), | ||||
| 			{`(def|property)(\s+)`, ByGroups(Keyword, Text), Push("funcname")}, | ||||
| 			{`(cp?def)(\s+)`, ByGroups(Keyword, Text), Push("cdef")}, | ||||
| 			{`(cdef)(:)`, ByGroups(Keyword, Punctuation), nil}, | ||||
| 			{`(class|struct)(\s+)`, ByGroups(Keyword, Text), Push("classname")}, | ||||
| 			{`(from)(\s+)`, ByGroups(Keyword, Text), Push("fromimport")}, | ||||
| 			{`(c?import)(\s+)`, ByGroups(Keyword, Text), Push("import")}, | ||||
| 			Include("builtins"), | ||||
| 			Include("backtick"), | ||||
| 			{`(?:[rR]|[uU][rR]|[rR][uU])"""`, LiteralString, Push("tdqs")}, | ||||
| 			{`(?:[rR]|[uU][rR]|[rR][uU])'''`, LiteralString, Push("tsqs")}, | ||||
| 			{`(?:[rR]|[uU][rR]|[rR][uU])"`, LiteralString, Push("dqs")}, | ||||
| 			{`(?:[rR]|[uU][rR]|[rR][uU])'`, LiteralString, Push("sqs")}, | ||||
| 			{`[uU]?"""`, LiteralString, Combined("stringescape", "tdqs")}, | ||||
| 			{`[uU]?'''`, LiteralString, Combined("stringescape", "tsqs")}, | ||||
| 			{`[uU]?"`, LiteralString, Combined("stringescape", "dqs")}, | ||||
| 			{`[uU]?'`, LiteralString, Combined("stringescape", "sqs")}, | ||||
| 			Include("name"), | ||||
| 			Include("numbers"), | ||||
| 		}, | ||||
| 		"keywords": { | ||||
| 			{Words(``, `\b`, `assert`, `break`, `by`, `continue`, `ctypedef`, `del`, `elif`, `else`, `except`, `except?`, `exec`, `finally`, `for`, `fused`, `gil`, `global`, `if`, `include`, `lambda`, `nogil`, `pass`, `print`, `raise`, `return`, `try`, `while`, `yield`, `as`, `with`), Keyword, nil}, | ||||
| 			{`(DEF|IF|ELIF|ELSE)\b`, CommentPreproc, nil}, | ||||
| 		}, | ||||
| 		"builtins": { | ||||
| 			{Words(`(?<!\.)`, `\b`, `__import__`, `abs`, `all`, `any`, `apply`, `basestring`, `bin`, `bool`, `buffer`, `bytearray`, `bytes`, `callable`, `chr`, `classmethod`, `cmp`, `coerce`, `compile`, `complex`, `delattr`, `dict`, `dir`, `divmod`, `enumerate`, `eval`, `execfile`, `exit`, `file`, `filter`, `float`, `frozenset`, `getattr`, `globals`, `hasattr`, `hash`, `hex`, `id`, `input`, `int`, `intern`, `isinstance`, `issubclass`, `iter`, `len`, `list`, `locals`, `long`, `map`, `max`, `min`, `next`, `object`, `oct`, `open`, `ord`, `pow`, `property`, `range`, `raw_input`, `reduce`, `reload`, `repr`, `reversed`, `round`, `set`, `setattr`, `slice`, `sorted`, `staticmethod`, `str`, `sum`, `super`, `tuple`, `type`, `unichr`, `unicode`, `unsigned`, `vars`, `xrange`, `zip`), NameBuiltin, nil}, | ||||
| 			{`(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|NULL)\b`, NameBuiltinPseudo, nil}, | ||||
| 			{Words(`(?<!\.)`, `\b`, `ArithmeticError`, `AssertionError`, `AttributeError`, `BaseException`, `DeprecationWarning`, `EOFError`, `EnvironmentError`, `Exception`, `FloatingPointError`, `FutureWarning`, `GeneratorExit`, `IOError`, `ImportError`, `ImportWarning`, `IndentationError`, `IndexError`, `KeyError`, `KeyboardInterrupt`, `LookupError`, `MemoryError`, `NameError`, `NotImplemented`, `NotImplementedError`, `OSError`, `OverflowError`, `OverflowWarning`, `PendingDeprecationWarning`, `ReferenceError`, `RuntimeError`, `RuntimeWarning`, `StandardError`, `StopIteration`, `SyntaxError`, `SyntaxWarning`, `SystemError`, `SystemExit`, `TabError`, `TypeError`, `UnboundLocalError`, `UnicodeDecodeError`, `UnicodeEncodeError`, `UnicodeError`, `UnicodeTranslateError`, `UnicodeWarning`, `UserWarning`, `ValueError`, `Warning`, `ZeroDivisionError`), NameException, nil}, | ||||
| 		}, | ||||
| 		"numbers": { | ||||
| 			{`(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, | ||||
| 			{`0\d+`, LiteralNumberOct, nil}, | ||||
| 			{`0[xX][a-fA-F0-9]+`, LiteralNumberHex, nil}, | ||||
| 			{`\d+L`, LiteralNumberIntegerLong, nil}, | ||||
| 			{`\d+`, LiteralNumberInteger, nil}, | ||||
| 		}, | ||||
| 		"backtick": { | ||||
| 			{"`.*?`", LiteralStringBacktick, nil}, | ||||
| 		}, | ||||
| 		"name": { | ||||
| 			{`@\w+`, NameDecorator, nil}, | ||||
| 			{`[a-zA-Z_]\w*`, Name, nil}, | ||||
| 		}, | ||||
| 		"funcname": { | ||||
| 			{`[a-zA-Z_]\w*`, NameFunction, Pop(1)}, | ||||
| 		}, | ||||
| 		"cdef": { | ||||
| 			{`(public|readonly|extern|api|inline)\b`, KeywordReserved, nil}, | ||||
| 			{`(struct|enum|union|class)\b`, Keyword, nil}, | ||||
| 			{`([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)`, ByGroups(NameFunction, Text), Pop(1)}, | ||||
| 			{`([a-zA-Z_]\w*)(\s*)(,)`, ByGroups(NameFunction, Text, Punctuation), nil}, | ||||
| 			{`from\b`, Keyword, Pop(1)}, | ||||
| 			{`as\b`, Keyword, nil}, | ||||
| 			{`:`, Punctuation, Pop(1)}, | ||||
| 			{`(?=["\'])`, Text, Pop(1)}, | ||||
| 			{`[a-zA-Z_]\w*`, KeywordType, nil}, | ||||
| 			{`.`, Text, nil}, | ||||
| 		}, | ||||
| 		"classname": { | ||||
| 			{`[a-zA-Z_]\w*`, NameClass, Pop(1)}, | ||||
| 		}, | ||||
| 		"import": { | ||||
| 			{`(\s+)(as)(\s+)`, ByGroups(Text, Keyword, Text), nil}, | ||||
| 			{`[a-zA-Z_][\w.]*`, NameNamespace, nil}, | ||||
| 			{`(\s*)(,)(\s*)`, ByGroups(Text, Operator, Text), nil}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"fromimport": { | ||||
| 			{`(\s+)(c?import)\b`, ByGroups(Text, Keyword), Pop(1)}, | ||||
| 			{`[a-zA-Z_.][\w.]*`, NameNamespace, nil}, | ||||
| 			Default(Pop(1)), | ||||
| 		}, | ||||
| 		"stringescape": { | ||||
| 			{`\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})`, LiteralStringEscape, nil}, | ||||
| 		}, | ||||
| 		"strings": { | ||||
| 			{`%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]`, LiteralStringInterpol, nil}, | ||||
| 			{`[^\\\'"%\n]+`, LiteralString, nil}, | ||||
| 			{`[\'"\\]`, LiteralString, nil}, | ||||
| 			{`%`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"nl": { | ||||
| 			{`\n`, LiteralString, nil}, | ||||
| 		}, | ||||
| 		"dqs": { | ||||
| 			{`"`, LiteralString, Pop(1)}, | ||||
| 			{`\\\\|\\"|\\\n`, LiteralStringEscape, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 		"sqs": { | ||||
| 			{`'`, LiteralString, Pop(1)}, | ||||
| 			{`\\\\|\\'|\\\n`, LiteralStringEscape, nil}, | ||||
| 			Include("strings"), | ||||
| 		}, | ||||
| 		"tdqs": { | ||||
| 			{`"""`, LiteralString, Pop(1)}, | ||||
| 			Include("strings"), | ||||
| 			Include("nl"), | ||||
| 		}, | ||||
| 		"tsqs": { | ||||
| 			{`'''`, LiteralString, Pop(1)}, | ||||
| 			Include("strings"), | ||||
| 			Include("nl"), | ||||
| 		}, | ||||
| 	}, | ||||
| )) | ||||
		Reference in New Issue
	
	Block a user