8000 color/color.go at master · daisy-ycguo/color · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"vendor","path":"vendor","contentType":"directory"},{"name":".travis.yml","path":".travis.yml","contentType":"file"},{"name":"Gopkg.lock","path":"Gopkg.lock","contentType":"file"},{"name":"Gopkg.toml","path":"Gopkg.toml","contentType":"file"},{"name":"LICENSE.md","path":"LICENSE.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"color.go","path":"color.go","contentType":"file"},{"name":"color_test.go","path":"color_test.go","contentType":"file"},{"name":"doc.go","path":"doc.go","contentType":"file"}],"totalCount":9}},"fileTreeProcessingTime":7.407885,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":128950416,"defaultBranch":"master","name":"color","ownerLogin":"daisy-ycguo","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2018-04-10T14:56:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1657701?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1616010312.708331","canEdit":false,"refType":"branch","currentOid":"507f6050b8568533fb3f5504de8e5205fa62a114"},"path":"color.go","currentUser":null,"blob":{"rawLines":["package color","","import (","\t\"fmt\"","\t\"io\"","\t\"os\"","\t\"strconv\"","\t\"strings\"","\t\"sync\"","","\t\"github.com/mattn/go-colorable\"","\t\"github.com/mattn/go-isatty\"",")","","var (","\t// NoColor defines if the output is colorized or not. It's dynamically set to","\t// false or true based on the stdout's file descriptor referring to a terminal","\t// or not. This is a global option and affects all colors. For more control","\t// over each color block use the methods DisableColor() individually.","\tNoColor = os.Getenv(\"TERM\") == \"dumb\" ||","\t\t(!isatty.IsTerminal(os.Stdout.Fd()) \u0026\u0026 !isatty.IsCygwinTerminal(os.Stdout.Fd()))","","\t// Output defines the standard output of the print functions. By default","\t// os.Stdout is used.","\tOutput = colorable.NewColorableStdout()","","\t// colorsCache is used to reduce the count of created Color objects and","\t// allows to reuse already created objects with required Attribute.","\tcolorsCache = make(map[Attribute]*Color)","\tcolorsCacheMu sync.Mutex // protects colorsCache",")","","// Color defines a custom color object which is defined by SGR parameters.","type Color struct {","\tparams []Attribute","\tnoColor *bool","}","","// Attribute defines a single SGR Code","type Attribute int","","const escape = \"\\x1b\"","","// Base attributes","const (","\tReset Attribute = iota","\tBold","\tFaint","\tItalic","\tUnderline","\tBlinkSlow","\tBlinkRapid","\tReverseVideo","\tConcealed","\tCrossedOut",")","","// Foreground text colors","const (","\tFgBlack Attribute = iota + 30","\tFgRed","\tFgGreen","\tFgYellow","\tFgBlue","\tFgMagenta","\tFgCyan","\tFgWhite",")","","// Foreground Hi-Intensity text colors","const (","\tFgHiBlack Attribute = iota + 90","\tFgHiRed","\tFgHiGreen","\tFgHiYellow","\tFgHiBlue","\tFgHiMagenta","\tFgHiCyan","\tFgHiWhite",")","","// Background text colors","const (","\tBgBlack Attribute = iota + 40","\tBgRed","\tBgGreen","\tBgYellow","\tBgBlue","\tBgMagenta","\tBgCyan","\tBgWhite",")","","// Background Hi-Intensity text colors","const (","\tBgHiBlack Attribute = iota + 100","\tBgHiRed","\tBgHiGreen","\tBgHiYellow","\tBgHiBlue","\tBgHiMagenta","\tBgHiCyan","\tBgHiWhite",")","","// New returns a newly created color object.","func New(value ...Attribute) *Color {","\tc := \u0026Color{params: make([]Attribute, 0)}","\tc.Add(value...)","\treturn c","}","","// Set sets the given parameters immediately. It will change the color of","// output with the given SGR parameters until color.Unset() is called.","func Set(p ...Attribute) *Color {","\tc := New(p...)","\tc.Set()","\treturn c","}","","// Unset resets all escape attributes and clears the output. Usually should","// be called after Set().","func Unset() {","\tif NoColor {","\t\treturn","\t}","","\tfmt.Fprintf(Output, \"%s[%dm\", escape, Reset)","}","","// Set sets the SGR sequence.","func (c *Color) Set() *Color {","\tif c.isNoColorSet() {","\t\treturn c","\t}","","\tfmt.Fprintf(Output, c.format())","\treturn c","}","","func (c *Color) unset() {","\tif c.isNoColorSet() {","\t\treturn","\t}","","\tUnset()","}","","func (c *Color) setWriter(w io.Writer) *Color {","\tif c.isNoColorSet() {","\t\treturn c","\t}","","\tfmt.Fprintf(w, c.format())","\treturn c","}","","func (c *Color) unsetWriter(w io.Writer) {","\tif c.isNoColorSet() {","\t\treturn","\t}","","\tif NoColor {","\t\treturn","\t}","","\tfmt.Fprintf(w, \"%s[%dm\", escape, Reset)","}","","// Add is used to chain SGR parameters. Use as many as parameters to combine","// and create custom color objects. Example: Add(color.FgRed, color.Underline).","func (c *Color) Add(value ...Attribute) *Color {","\tc.params = append(c.params, value...)","\treturn c","}","","func (c *Color) prepend(value Attribute) {","\tc.params = append(c.params, 0)","\tcopy(c.params[1:], c.params[0:])","\tc.params[0] = value","}","","// Fprint formats using the default formats for its operands and writes to w.","// Spaces are added between operands when neither is a string.","// It returns the number of bytes written and any write error encountered.","// On Windows, users should wrap w with colorable.NewColorable() if w is of","// type *os.File.","func (c *Color) Fprint(w io.Writer, a ...interface{}) (n int, err error) {","\tc.setWriter(w)","\tdefer c.unsetWriter(w)","","\treturn fmt.Fprint(w, a...)","}","","// Print formats using the default formats for its operands and writes to","// standard output. Spaces are added between operands when neither is a","// string. It returns the number of bytes written and any write error","// encountered. This is the standard fmt.Print() method wrapped with the given","// color.","func (c *Color) Print(a ...interface{}) (n int, err error) {","\tc.Set()","\tdefer c.unset()","","\treturn fmt.Fprint(Output, a...)","}","","// Fprintf formats according to a format specifier and writes to w.","// It returns the number of bytes written and any write error encountered.","// On Windows, users should wrap w with colorable.NewColorable() if w is of","// type *os.File.","func (c *Color) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {","\tc.setWriter(w)","\tdefer c.unsetWriter(w)","","\treturn fmt.Fprintf(w, format, a...)","}","","// Printf formats according to a format specifier and writes to standard output.","// It returns the number of bytes written and any write error encountered.","// This is the standard fmt.Printf() method wrapped with the given color.","func (c *Color) Printf(format string, a ...interface{}) (n int, err error) {","\tc.Set()","\tdefer c.unset()","","\treturn fmt.Fprintf(Output, format, a...)","}","","// Fprintln formats using the default formats for its operands and writes to w.","// Spaces are always added between operands and a newline is appended.","// On Windows, users should wrap w with colorable.NewColorable() if w is of","// type *os.File.","func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {","\tc.setWriter(w)","\tdefer c.unsetWriter(w)","","\treturn fmt.Fprintln(w, a...)","}","","// Println formats using the default formats for its operands and writes to","// standard output. Spaces are always added between operands and a newline is","// appended. It returns the number of bytes written and any write error","// encountered. This is the standard fmt.Print() method wrapped with the given","// color.","func (c *Color) Println(a ...interface{}) (n int, err error) {","\tc.Set()","\tdefer c.unset()","","\treturn fmt.Fprintln(Output, a...)","}","","// Sprint is just like Print, but returns a string instead of printing it.","func (c *Color) Sprint(a ...interface{}) string {","\treturn c.wrap(fmt.Sprint(a...))","}","","// Sprintln is just like Println, but returns a string instead of printing it.","func (c *Color) Sprintln(a ...interface{}) string {","\treturn c.wrap(fmt.Sprintln(a...))","}","","// Sprintf is just like Printf, but returns a string instead of printing it.","func (c *Color) Sprintf(format string, a ...interface{}) string {","\treturn c.wrap(fmt.Sprintf(format, a...))","}","","// FprintFunc returns a new function that prints the passed arguments as","// colorized with color.Fprint().","func (c *Color) FprintFunc() func(w io.Writer, a ...interface{}) {","\treturn func(w io.Writer, a ...interface{}) {","\t\tc.Fprint(w, a...)","\t}","}","","// PrintFunc returns a new function that prints the passed arguments as","// colorized with color.Print().","func (c *Color) PrintFunc() func(a ...interface{}) {","\treturn func(a ...interface{}) {","\t\tc.Print(a...)","\t}","}","","// FprintfFunc returns a new function that prints the passed arguments as","// colorized with color.Fprintf().","func (c *Color) FprintfFunc() func(w io.Writer, format string, a ...interface{}) {","\treturn func(w io.Writer, format string, a ...interface{}) {","\t\tc.Fprintf(w, format, a...)","\t}","}","","// PrintfFunc returns a new function that prints the passed arguments as","// colorized with color.Printf().","func (c *Color) PrintfFunc() func(format string, a ...interface{}) {","\treturn func(format string, a ...interface{}) {","\t\tc.Printf(format, a...)","\t}","}","","// FprintlnFunc returns a new function that prints the passed arguments as","// colorized with color.Fprintln().","func (c *Color) FprintlnFunc() func(w io.Writer, a ...interface{}) {","\treturn func(w io.Writer, a ...interface{}) {","\t\tc.Fprintln(w, a...)","\t}","}","","// PrintlnFunc returns a new function that prints the passed arguments as","// colorized with color.Println().","func (c *Color) PrintlnFunc() func(a ...interface{}) {","\treturn func(a ...interface{}) {","\t\tc.Println(a...)","\t}","}","","// SprintFunc returns a new function that returns colorized strings for the","// given arguments with fmt.Sprint(). Useful to put into or mix into other","// string. Windows users should use this in conjunction with color.Output, example:","//","//\tput := New(FgYellow).SprintFunc()","//\tfmt.Fprintf(color.Output, \"This is a %s\", put(\"warning\"))","func (c *Color) SprintFunc() func(a ...interface{}) string {","\treturn func(a ...interface{}) string {","\t\treturn c.wrap(fmt.Sprint(a...))","\t}","}","","// SprintfFunc returns a new function that returns colorized strings for the","// given arguments with fmt.Sprintf(). Useful to put into or mix into other","// string. Windows users should use this in conjunction with color.Output.","func (c *Color) SprintfFunc() func(format string, a ...interface{}) string {","\treturn func(format string, a ...interface{}) string {","\t\treturn c.wrap(fmt.Sprintf(format, a...))","\t}","}","","// SprintlnFunc returns a new function that returns colorized strings for the","// given arguments with fmt.Sprintln(). Useful to put into or mix into other","// string. Windows users should use this in conjunction with color.Output.","func (c *Color) SprintlnFunc() func(a ...interface{}) string {","\treturn func(a ...interface{}) string {","\t\treturn c.wrap(fmt.Sprintln(a...))","\t}","}","","// sequence returns a formatted SGR sequence to be plugged into a \"\\x1b[...m\"","// an example output might be: \"1;36\" -\u003e bold cyan","func (c *Color) sequence() string {","\tformat := make([]string, len(c.params))","\tfor i, v := range c.params {","\t\tformat[i] = strconv.Itoa(int(v))","\t}","","\treturn strings.Join(format, \";\")","}","","// wrap wraps the s string with the colors attributes. The string is ready to","// be printed.","func (c *Color) wrap(s string) string {","\tif c.isNoColorSet() {","\t\treturn s","\t}","","\treturn c.format() + s + c.unformat()","}","","func (c *Color) format() string {","\treturn fmt.Sprintf(\"%s[%sm\", escape, c.sequence())","}","","func (c *Color) unformat() string {","\treturn fmt.Sprintf(\"%s[%dm\", escape, Reset)","}","","// DisableColor disables the color output. Useful to not change any existing","// code and still being able to output. Can be used for flags like","// \"--no-color\". To enable back use EnableColor() method.","func (c *Color) DisableColor() {","\tc.noColor = boolPtr(true)","}","","// EnableColor enables the color output. Use it in conjunction with","// DisableColor(). Otherwise this method has no side effects.","func (c *Color) EnableColor() {","\tc.noColor = boolPtr(false)","}","","func (c *Color) isNoColorSet() bool {","\t// check first if we have user setted action","\tif c.noColor != nil {","\t\treturn *c.noColor","\t}","","\t// if not return the global option, which is disabled by default","\treturn NoColor","}","","// Equals returns a boolean value indicating whether two colors are equal.","func (c *Color) Equals(c2 *Color) bool {","\tif len(c.params) != len(c2.params) {","\t\treturn false","\t}","","\tfor _, attr := range c.params {","\t\tif !c2.attrExists(attr) {","\t\t\treturn false","\t\t}","\t}","","\treturn true","}","","func (c *Color) attrExists(a Attribute) bool {","\tfor _, attr := range c.params {","\t\tif attr == a {","\t\t\treturn true","\t\t}","\t}","","\treturn false","}","","func boolPtr(v bool) *bool {","\treturn \u0026v","}","","func getCachedColor(p Attribute) *Color {","\tcolorsCacheMu.Lock()","\tdefer colorsCacheMu.Unlock()","","\tc, ok := colorsCache[p]","\tif !ok {","\t\tc = New(p)","\t\tcolorsCache[p] = c","\t}","","\treturn c","}","","func colorPrint(format string, p Attribute, a ...interface{}) {","\tc := getCachedColor(p)","","\tif !strings.HasSuffix(format, \"\\n\") {","\t\tformat += \"\\n\"","\t}","","\tif len(a) == 0 {","\t\tc.Print(format)","\t} else {","\t\tc.Printf(format, a...)","\t}","}","","func colorString(format string, p Attribute, a ...interface{}) string {","\tc := getCachedColor(p)","","\tif len(a) == 0 {","\t\treturn c.SprintFunc()(format)","\t}","","\treturn c.SprintfFunc()(format, a...)","}","","// Black is a convenient helper function to print with black foreground. A","// newline is appended to format by default.","func Black(format string, a ...interface{}) { colorPrint(format, FgBlack, a...) }","","// Red is a convenient helper function to print with red foreground. A","// newline is appended to format by default.","func Red(format string, a ...interface{}) { colorPrint(format, FgRed, a...) }","","// Green is a convenient helper function to print with green foreground. A","// newline is appended to format by default.","func Green(format string, a ...interface{}) { colorPrint(format, FgGreen, a...) }","","// Yellow is a convenient helper function to print with yellow foreground.","// A newline is appended to format by default.","func Yellow(format string, a ...interface{}) { colorPrint(format, FgYellow, a...) }","","// Blue is a convenient helper function to print with blue foreground. A","// newline is appended to format by default.","func Blue(format string, a ...interface{}) { colorPrint(format, FgBlue, a...) }","","// Magenta is a convenient helper function to print with magenta foreground.","// A newline is appended to format by default.","func Magenta(format string, a ...interface{}) { colorPrint(format, FgMagenta, a...) }","","// Cyan is a convenient helper function to print with cyan foreground. A","// newline is appended to format by default.","func Cyan(format string, a ...interface{}) { colorPrint(format, FgCyan, a...) }","","// White is a convenient helper function to print with white foreground. A","// newline is appended to format by default.","func White(format string, a ...interface{}) { colorPrint(format, FgWhite, a...) }","","// BlackString is a convenient helper function to return a string with black","// foreground.","func BlackString(format string, a ...interface{}) string { return colorString(format, FgBlack, a...) }","","// RedString is a convenient helper function to return a string with red","// foreground.","func RedString(format string, a ...interface{}) string { return colorString(format, FgRed, a...) }","","// GreenString is a convenient helper function to return a string with green","// foreground.","func GreenString(format string, a ...interface{}) string { return colorString(format, FgGreen, a...) }","","// YellowString is a convenient helper function to return a string with yellow","// foreground.","func YellowString(format string, a ...interface{}) string { return colorString(format, FgYellow, a...) }","","// BlueString is a convenient helper function to return a string with blue","// foreground.","func BlueString(format string, a ...interface{}) string { return colorString(format, FgBlue, a...) }","","// MagentaString is a convenient helper function to return a string with magenta","// foreground.","func MagentaString(format string, a ...interface{}) string {","\treturn colorString(format, FgMagenta, a...)","}","","// CyanString is a convenient helper function to return a string with cyan","// foreground.","func CyanString(format string, a ...interface{}) string { return colorString(format, FgCyan, a...) }","","// WhiteString is a convenient helper function to return a string with white","// foreground.","func WhiteString(format string, a ...interface{}) string { return colorString(format, FgWhite, a...) }","","// HiBlack is a convenient helper function to print with hi-intensity black foreground. A","// newline is appended to format by default.","func HiBlack(format string, a ...interface{}) { colorPrint(format, FgHiBlack, a...) }","","// HiRed is a convenient helper function to print with hi-intensity red foreground. A","// newline is appended to format by default.","func HiRed(format string, a ...interface{}) { colorPrint(format, FgHiRed, a...) }","","// HiGreen is a convenient helper function to print with hi-intensity green foreground. A","// newline is appended to format by default.","func HiGreen(format string, a ...interface{}) { colorPrint(format, FgHiGreen, a...) }","","// HiYellow is a convenient helper function to print with hi-intensity yellow foreground.","// A newline is appended to format by default.","func HiYellow(format string, a ...interface{}) { colorPrint(format, FgHiYellow, a...) }","","// HiBlue is a convenient helper function to print with hi-intensity blue foreground. A","// newline is appended to format by default.","func HiBlue(format string, a ...interface{}) { colorPrint(format, FgHiBlue, a...) }","","// HiMagenta is a convenient helper function to print with hi-intensity magenta foreground.","// A newline is appended to format by default.","func HiMagenta(format string, a ...interface{}) { colorPrint(format, FgHiMagenta, a...) }","","// HiCyan is a convenient helper function to print with hi-intensity cyan foreground. A","// newline is appended to format by default.","func HiCyan(format string, a ...interface{}) { colorPrint(format, FgHiCyan, a...) }","","// HiWhite is a convenient helper function to print with hi-intensity white foreground. A","// newline is appended to format by default.","func HiWhite(format string, a ...interface{}) { colorPrint(format, FgHiWhite, a...) }","","// HiBlackString is a convenient helper function to return a string with hi-intensity black","// foreground.","func HiBlackString(format string, a ...interface{}) string {","\treturn colorString(format, FgHiBlack, a...)","}","","// HiRedString is a convenient helper function to return a string with hi-intensity red","// foreground.","func HiRedString(format string, a ...interface{}) string { return colorString(format, FgHiRed, a...) }","","// HiGreenString is a convenient helper function to return a string with hi-intensity green","// foreground.","func HiGreenString(format string, a ...interface{}) string {","\treturn colorString(format, FgHiGreen, a...)","}","","// HiYellowString is a convenient helper function to return a string with hi-intensity yellow","// foreground.","func HiYellowString(format string, a ...interface{}) string {","\treturn colorString(format, FgHiYellow, a...)","}","","// HiBlueString is a convenient helper function to return a string with hi-intensity blue","// foreground.","func HiBlueString(format string, a ...interface{}) string { return colorString(format, FgHiBlue, a...) }","","// HiMagentaString is a convenient helper function to return a string with hi-intensity magenta","// foreground.","func HiMagentaString(format string, a ...interface{}) string {","\treturn colorString(format, FgHiMagenta, a...)","}","","// HiCyanString is a convenient helper function to return a string with hi-intensity cyan","// foreground.","func HiCyanString(format string, a ...interface{}) string { return colorString(format, FgHiCyan, a...) }","","// HiWhiteString is a convenient helper function to return a string with hi-intensity white","// foreground.","func HiWhiteString(format string, a ...interface{}) string {","\treturn colorString(format, FgHiWhite, a...)","}"],"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/daisy-ycguo/color/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"color.go","displayUrl":"https://github.com/daisy-ycguo/color/blob/master/color.go?raw=true","headerInfo":{"blobSize":"17.8 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"b1f591d","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fdaisy-ycguo%2Fcolor%2Fblob%2Fmaster%2Fcolor.go","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"600","truncatedSloc":"491"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Go","languageID":132,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/daisy-ycguo/color/blob/master/color.go","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/daisy-ycguo/color/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/daisy-ycguo/color/raw/refs/heads/master/color.go","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Color","kind":"class","ident_start":1037,"ident_end":1042,"extent_start":1032,"extent_end":1089,"fully_qualified_name":"Color","ident_utf16":{"start":{"line_number":33,"utf16_col":5},"end":{"line_number":33,"utf16_col":10}},"extent_utf16":{"start":{"line_number":33,"utf16_col":0},"end":{"line_number":36,"utf16_col":1}}},{"name":"params","kind":"field","ident_start":1053,"ident_end":1059,"extent_start":1053,"extent_end":1072,"fully_qualified_name":"Color.params","ident_utf16":{"start":{"line_number":34,"utf16_col":1},"end":{"line_number":34,"utf16_col":7}},"extent_utf16":{"start":{"line_number":34,"utf16_col":1},"end":{"line_number":34,"utf16_col":20}}},{"name":"noColor","kind":"field","ident_start":1074,"ident_end":1081,"extent_start":1074,"extent_end":1087,"fully_qualified_name":"Color.noColor","ident_utf16":{"start":{"line_number":35,"utf16_col":1},"end":{"line_number":35,"utf16_col":8}},"extent_utf16":{"start":{"line_number":35,"utf16_col":1},"end":{"line_number":35,"utf16_col":14}}},{"name":"Attribute","kind":"type","ident_start":1135,"ident_end":1144,"extent_start":1130,"extent_end":1148,"fully_qualified_name":"Attribute","ident_utf16":{"start":{"line_number":39,"utf16_col":5},"end":{"line_number":39,"utf16_col":14}},"extent_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":39,"utf16_col":18}}},{"name":"escape","kind":"constant","ident_start":1156,"ident_end":1162,"extent_start":1165,"extent_end":1171,"fully_qualified_name":"escape","ident_utf16":{"start":{"line_number":41,"utf16_col":6},"end":{"line_number":41,"utf16_col":12}},"extent_utf16":{"start":{"line_number":41,"utf16_col":15},"end":{"line_number":41,"utf16_col":21}}},{"name":"Reset","kind":"constant","ident_start":1201,"ident_end":1206,"extent_start":1219,"extent_end":1223,"fully_qualified_name":"Reset","ident_utf16":{"start":{"line_number":45,"utf16_col":1},"end":{"line_number":45,"utf16_col":6}},"extent_utf16":{"start":{"line_number":45,"utf16_col":19},"end":{"line_number":45,"utf16_col":23}}},{"name":"FgBlack","kind":"constant","ident_start":1354,"ident_end":1361,"extent_start":1374,"extent_end":1383,"fully_qualified_name":"FgBlack","ident_utf16":{"start":{"line_number":59,"utf16_col":1},"end":{"line_number":59,"utf16_col":8}},"extent_utf16":{"start":{"line_number":59,"utf16_col":21},"end":{"line_number":59,"utf16_col":30}}},{"name":"FgHiBlack","kind":"constant","ident_start":1497,"ident_end":1506,"extent_start":1519,"extent_end":1528,"fully_qualified_name":"FgHiBlack","ident_utf16":{"start":{"line_number":71,"utf16_col":1},"end":{"line_number":71,"utf16_col":10}},"extent_utf16":{"start":{"line_number":71,"utf16_col":23},"end":{"line_number":71,"utf16_col":32}}},{"name":"BgBlack","kind":"constant","ident_start":1643,"ident_end":1650,"extent_start":1663,"extent_end":1672,"fully_qualified_name":"BgBlack","ident_utf16":{"start":{"line_number":83,"utf16_col":1},"end":{"line_number":83,"utf16_col":8}},"extent_utf16":{"start":{"line_number":83,"utf16_col":21},"end":{"line_number":83,"utf16_col":30}}},{"name":"BgHiBlack","kind":"constant","ident_start":1786,"ident_end":1795,"extent_start":1808,"extent_end":1818,"fully_qualified_name":"BgHiBlack","ident_utf16":{"start":{"line_number":95,"utf16_col":1},"end":{"line_number":95,"utf16_col":10}},"extent_utf16":{"start":{"line_number":95,"utf16_col":23},"end":{"line_number":95,"utf16_col":33}}},{"name":"New","kind":"function","ident_start":1948,"ident_end":1951,"extent_start":1943,"extent_end":2052,"fully_qualified_name":"New","ident_utf16":{"start":{"line_number":106,"utf16_col":5},"end":{"line_number":106,"utf16_col":8}},"extent_utf16":{"start":{"line_number":106,"utf16_col":0},"end":{"line_number":110,"utf16_col":1}}},{"name":"Set","kind":"function","ident_start":2204,"ident_end":2207,"extent_start":2199,"extent_end":2269,"fully_qualified_name":"Set","ident_utf16":{"start":{"line_number":114,"utf16_col":5},"end":{"line_number":114,"utf16_col":8}},"extent_utf16":{"start":{"line_number":114,"utf16_col":0},"end":{"line_number":118,"utf16_col":1}}},{"name":"Unset","kind":"function","ident_start":2378,"ident_end":2383,"extent_start":2373,"extent_end":2462,"fully_qualified_name":"Unset","ident_utf16":{"start":{"line_number":122,"utf16_col":5},"end":{"line_number":122,"utf16_col":10}},"extent_utf16":{"start":{"line_number":122,"utf16_col":0},"end":{"line_number":128,"utf16_col":1}}},{"name":"Set","kind":"method","ident_start":2510,"ident_end":2513,"extent_start":2494,"extent_end":2607,"fully_qualified_name":"Color.Set","ident_utf16":{"start":{"line_number":131,"utf16_col":16},"end":{"line_number":131,"utf16_col":19}},"extent_utf16":{"start":{"line_number":131,"utf16_col":0},"end":{"line_number":138,"utf16_col":1}}},{"name":"unset","kind":"method","ident_start":2625,"ident_end":2630,"extent_start":2609,"extent_end":2681,"fully_qualified_name":"Color.unset","ident_utf16":{"start":{"line_number":140,"utf16_col":16},"end":{"line_number":140,"utf16_col":21}},"extent_utf16":{"start":{"line_number":140,"utf16_col":0},"end":{"line_number":146,"utf16_col":1}}},{"name":"setWriter","kind":"method","ident_start":2699,"ident_end":2708,"extent_start":2683,"extent_end":2808,"fully_qualified_name":"Color.setWriter","ident_utf16":{"start":{"line_number":148,"utf16_col":16},"end":{"line_number":148,"utf16_col":25}},"extent_utf16":{"start":{"line_number":148,"utf16_col":0},"end":{"line_number":155,"utf16_col":1}}},{"name":"unsetWriter","kind":"method","ident_start":2826,"ident_end":2837,"extent_start":2810,"extent_end":2958,"fully_qualified_name":"Color.unsetWriter","ident_utf16":{"start":{"line_number":157,"utf16_col":16},"end":{"line_number":157,"utf16_col":27}},"extent_utf16":{"start":{"line_number":157,"utf16_col":0},"end":{"line_number":167,"utf16_col":1}}},{"name":"Add","kind":"method","ident_start":3133,"ident_end":3136,"extent_start":3117,"extent_end":3216,"fully_qualified_name":"Color.Add","ident_utf16":{"start":{"line_number":171,"utf16_col":16},"end":{"line_number":171,"utf16_col":19}},"extent_utf16":{"start":{"line_number":171,"utf16_col":0},"end":{"line_number":174,"utf16_col":1}}},{"name":"prepend","kind":"method","ident_start":3234,"ident_end":3241,"extent_start":3218,"extent_end":3349,"fully_qualified_name":"Color.prepend","ident_utf16":{"start":{"line_number":176,"utf16_col":16},"end":{"line_number":176,"utf16_col":23}},"extent_utf16":{"start":{"line_number":176,"utf16_col":0},"end":{"line_number":180,"utf16_col":1}}},{"name":"Fprint","kind":"method","ident_start":3677,"ident_end":3683,"extent_start":3661,"extent_end":3806,"fully_qualified_name":"Color.Fprint","ident_utf16":{"start":{"line_number":187,"utf16_col":16},"end":{"line_number":187,"utf16_col":22}},"extent_utf16":{"start":{"line_number":187,"utf16_col":0},"end":{"line_number":192,"utf16_col":1}}},{"name":"Print","kind":"method","ident_start":4129,"ident_end":4134,"extent_start":4113,"extent_end":4235,"fully_qualified_name":"Color.Print","ident_utf16":{"start":{"line_number":199,"utf16_col":16},"end":{"line_number":199,"utf16_col":21}},"extent_utf16":{"start":{"line_number":199,"utf16_col":0},"end":{"line_number":204,"utf16_col":1}}},{"name":"Fprintf","kind":"method","ident_start":4490,"ident_end":4497,"extent_start":4474,"extent_end":4644,"fully_qualified_name":"Color.Fprintf","ident_utf16":{"start":{"line_number":210,"utf16_col":16},"end":{"line_number":210,"utf16_col":23}},"extent_utf16":{"start":{"line_number":210,"utf16_col":0},"end":{"line_number":215,"utf16_col":1}}},{"name":"Printf","kind":"method","ident_start":4892,"ident_end":4898,"extent_start":4876,"extent_end":5023,"fully_qualified_name":"Color.Printf","ident_utf16":{"start":{"line_number":220,"utf16_col":16},"end":{"line_number":220,"utf16_col":22}},"extent_utf16":{"start":{"line_number":220,"utf16_col":0},"end":{"line_number":225,"utf16_col":1}}},{"name":"Fprintln","kind":"method","ident_start":5286,"ident_end":5294,"extent_start":5270,"extent_end":5419,"fully_qualified_name":"Color.Fprintln","ident_utf16":{"start":{"line_number":231,"utf16_col":16},"end":{"line_number":231,"utf16_col":24}},"extent_utf16":{"start":{"line_number":231,"utf16_col":0},"end":{"line_number":236,"utf16_col":1}}},{"name":"Println","kind":"method","ident_start":5752,"ident_end":5759,"extent_start":5736,"extent_end":5862,"fully_qualified_name":"Color.Println","ident_utf16":{"start":{"line_number":243,"utf16_col":16},"end":{"line_number":243,"utf16_col":23}},"extent_utf16":{"start":{"line_number":243,"utf16_col":0},"end":{"line_number":248,"utf16_col":1}}},{"name":"Sprint","kind":"method","ident_start":5955,"ident_end":5961,"extent_start":5939,"extent_end":6023,"fully_qualified_name":"Color.Sprint","ident_utf16":{"start":{"line_number":251,"utf16_col":16},"end":{"line_number":251,"utf16_col":22}},"extent_utf16":{"start":{"line_number":251,"utf16_col":0},"end":{"line_number":253,"utf16_col":1}}},{"name":"Sprintln","kind":"method","ident_start":6120,"ident_end":6128,"extent_start":6104,"extent_end":6192,"fully_qualified_name":"Color.Sprintln","ident_utf16":{"start":{"line_number":256,"utf16_col":16},"end":{"line_number":256,"utf16_col":24}},"extent_utf16":{"start":{"line_number":256,"utf16_col":0},"end":{"line_number":258,"utf16_col":1}}},{"name":"Sprintf","kind":"method","ident_start":6287,"ident_end":6294,"extent_start":6271,"extent_end":6380,"fully_qualified_name":"Color.Sprintf","ident_utf16":{"start":{"line_number":261,"utf16_col":16},"end":{"line_numb 7890 er":261,"utf16_col":23}},"extent_utf16":{"start":{"line_number":261,"utf16_col":0},"end":{"line_number":263,"utf16_col":1}}},{"name":"FprintFunc","kind":"method","ident_start":6505,"ident_end":6515,"extent_start":6489,"extent_end":6626,"fully_qualified_name":"Color.FprintFunc","ident_utf16":{"start":{"line_number":267,"utf16_col":16},"end":{"line_number":267,"utf16_col":26}},"extent_utf16":{"start":{"line_number":267,"utf16_col":0},"end":{"line_number":271,"utf16_col":1}}},{"name":"PrintFunc","kind":"method","ident_start":6749,"ident_end":6758,"extent_start":6733,"extent_end":6839,"fully_qualified_name":"Color.PrintFunc","ident_utf16":{"start":{"line_number":275,"utf16_col":16},"end":{"line_number":275,"utf16_col":25}},"extent_utf16":{"start":{"line_number":275,"utf16_col":0},"end":{"line_number":279,"utf16_col":1}}},{"name":"FprintfFunc","kind":"method","ident_start":6966,"ident_end":6977,"extent_start":6950,"extent_end":7127,"fully_qualified_name":"Color.FprintfFunc","ident_utf16":{"start":{"line_number":283,"utf16_col":16},"end":{"line_number":283,"utf16_col":27}},"extent_utf16":{"start":{"line_number":283,"utf16_col":0},"end":{"line_number":287,"utf16_col":1}}},{"name":"PrintfFunc","kind":"method","ident_start":7252,"ident_end":7262,"extent_start":7236,"extent_end":7382,"fully_qualified_name":"Color.PrintfFunc","ident_utf16":{"start":{"line_number":291,"utf16_col":16},"end":{"line_number":291,"utf16_col":26}},"extent_utf16":{"start":{"line_number":291,"utf16_col":0},"end":{"line_number":295,"utf16_col":1}}},{"name":"FprintlnFunc","kind":"method","ident_start":7511,"ident_end":7523,"extent_start":7495,"extent_end":7636,"fully_qualified_name":"Color.FprintlnFunc","ident_utf16":{"start":{"line_number":299,"utf16_col":16},"end":{"line_number":299,"utf16_col":28}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":303,"utf16_col":1}}},{"name":"PrintlnFunc","kind":"method","ident_start":7763,"ident_end":7774,"extent_start":7747,"extent_end":7857,"fully_qualified_name":"Color.PrintlnFunc","ident_utf16":{"start":{"line_number":307,"utf16_col":16},"end":{"line_number":307,"utf16_col":27}},"extent_utf16":{"start":{"line_number":307,"utf16_col":0},"end":{"line_number":311,"utf16_col":1}}},{"name":"SprintFunc","kind":"method","ident_start":8211,"ident_end":8221,"extent_start":8195,"extent_end":8334,"fully_qualified_name":"Color.SprintFunc","ident_utf16":{"start":{"line_number":319,"utf16_col":16},"end":{"line_number":319,"utf16_col":26}},"extent_utf16":{"start":{"line_number":319,"utf16_col":0},"end":{"line_number":323,"utf16_col":1}}},{"name":"SprintfFunc","kind":"method","ident_start":8580,"ident_end":8591,"extent_start":8564,"extent_end":8743,"fully_qualified_name":"Color.SprintfFunc","ident_utf16":{"start":{"line_number":328,"utf16_col":16},"end":{"line_number":328,"utf16_col":27}},"extent_utf16":{"start":{"line_number":328,"utf16_col":0},"end":{"line_number":332,"utf16_col":1}}},{"name":"SprintlnFunc","kind":"method","ident_start":8991,"ident_end":9003,"extent_start":8975,"extent_end":9118,"fully_qualified_name":"Color.SprintlnFunc","ident_utf16":{"start":{"line_number":337,"utf16_col":16},"end":{"line_number":337,"utf16_col":28}},"extent_utf16":{"start":{"line_number":337,"utf16_col":0},"end":{"line_number":341,"utf16_col":1}}},{"name":"sequence","kind":"method","ident_start":9265,"ident_end":9273,"extent_start":9249,"extent_end":9430,"fully_qualified_name":"Color.sequence","ident_utf16":{"start":{"line_number":345,"utf16_col":16},"end":{"line_number":345,"utf16_col":24}},"extent_utf16":{"start":{"line_number":345,"utf16_col":0},"end":{"line_number":352,"utf16_col":1}}},{"name":"wrap","kind":"method","ident_start":9541,"ident_end":9545,"extent_start":9525,"extent_end":9642,"fully_qualified_name":"Color.wrap","ident_utf16":{"start":{"line_number":356,"utf16_col":16},"end":{"line_number":356,"utf16_col":20}},"extent_utf16":{"start":{"line_number":356,"utf16_col":0},"end":{"line_number":362,"utf16_col":1}}},{"name":"format","kind":"method","ident_start":9660,"ident_end":9666,"extent_start":9644,"extent_end":9731,"fully_qualified_name":"Color.format","ident_utf16":{"start":{"line_number":364,"utf16_col":16},"end":{"line_number":364,"utf16_col":22}},"extent_utf16":{"start":{"line_number":364,"utf16_col":0},"end":{"line_number":366,"utf16_col":1}}},{"name":"unformat","kind":"method","ident_start":9749,"ident_end":9757,"extent_start":9733,"extent_end":9815,"fully_qualified_name":"Color.unformat","ident_utf16":{"start":{"line_number":368,"utf16_col":16},"end":{"line_number":368,"utf16_col":24}},"extent_utf16":{"start":{"line_number":368,"utf16_col":0},"end":{"line_number":370,"utf16_col":1}}},{"name":"DisableColor","kind":"method","ident_start":10035,"ident_end":10047,"extent_start":10019,"extent_end":10080,"fully_qualified_name":"Color.DisableColor","ident_utf16":{"start":{"line_number":375,"utf16_col":16},"end":{"line_number":375,"utf16_col":28}},"extent_utf16":{"start":{"line_number":375,"utf16_col":0},"end":{"line_number":377,"utf16_col":1}}},{"name":"EnableColor","kind":"method","ident_start":10228,"ident_end":10239,"extent_start":10212,"extent_end":10273,"fully_qualified_name":"Color.EnableColor","ident_utf16":{"start":{"line_number":381,"utf16_col":16},"end":{"line_number":381,"utf16_col":27}},"extent_utf16":{"start":{"line_number":381,"utf16_col":0},"end":{"line_number":383,"utf16_col":1}}},{"name":"isNoColorSet","kind":"method","ident_start":10291,"ident_end":10303,"extent_start":10275,"extent_end":10489,"fully_qualified_name":"Color.isNoColorSet","ident_utf16":{"start":{"line_number":385,"utf16_col":16},"end":{"line_number":385,"utf16_col":28}},"extent_utf16":{"start":{"line_number":385,"utf16_col":0},"end":{"line_number":393,"utf16_col":1}}},{"name":"Equals","kind":"method","ident_start":10582,"ident_end":10588,"extent_start":10566,"extent_end":10763,"fully_qualified_name":"Color.Equals","ident_utf16":{"start":{"line_number":396,"utf16_col":16},"end":{"line_number":396,"utf16_col":22}},"extent_utf16":{"start":{"line_number":396,"utf16_col":0},"end":{"line_number":408,"utf16_col":1}}},{"name":"attrExists","kind":"method","ident_start":10781,"ident_end":10791,"extent_start":10765,"extent_end":10900,"fully_qualified_name":"Color.attrExists","ident_utf16":{"start":{"line_number":410,"utf16_col":16},"end":{"line_number":410,"utf16_col":26}},"extent_utf16":{"start":{"line_number":410,"utf16_col":0},"end":{"line_number":418,"utf16_col":1}}},{"name":"boolPtr","kind":"function","ident_start":10907,"ident_end":10914,"extent_start":10902,"extent_end":10943,"fully_qualified_name":"boolPtr","ident_utf16":{"start":{"line_number":420,"utf16_col":5},"end":{"line_number":420,"utf16_col":12}},"extent_utf16":{"start":{"line_number":420,"utf16_col":0},"end":{"line_number":422,"utf16_col":1}}},{"name":"getCachedColor","kind":"function","ident_start":10950,"ident_end":10964,"extent_start":10945,"extent_end":11124,"fully_qualified_name":"getCachedColor","ident_utf16":{"start":{"line_number":424,"utf16_col":5},"end":{"line_number":424,"utf16_col":19}},"extent_utf16":{"start":{"line_number":424,"utf16_col":0},"end":{"line_number":435,"utf16_col":1}}},{"name":"colorPrint","kind":"function","ident_start":11131,"ident_end":11141,"extent_start":11126,"extent_end":11350,"fully_qualified_name":"colorPrint","ident_utf16":{"start":{"line_number":437,"utf16_col":5},"end":{"line_number":437,"utf16_col":15}},"extent_utf16":{"start":{"line_number":437,"utf16_col":0},"end":{"line_number":449,"utf16_col":1}}},{"name":"colorString","kind":"function","ident_start":11357,"ident_end":11368,"extent_start":11352,"extent_end":11542,"fully_qualified_name":"colorString","ident_utf16":{"start":{"line_number":451,"utf16_col":5},"end":{"line_number":451,"utf16_col":16}},"extent_utf16":{"start":{"line_number":451,"utf16_col":0},"end":{"line_number":459,"utf16_col":1}}},{"name":"Black","kind":"function","ident_start":11669,"ident_end":11674,"extent_start":11664,"extent_end":11745,"fully_qualified_name":"Black","ident_utf16":{"start":{"line_number":463,"utf16_col":5},"end":{"line_number":463,"utf16_col":10}},"extent_utf16":{"start":{"line_number":463,"utf16_col":0},"end":{"line_number":463,"utf16_col":81}}},{"name":"Red","kind":"function","ident_start":11868,"ident_end":11871,"extent_start":11863,"extent_end":11940,"fully_qualified_name":"Red","ident_utf16":{"start":{"line_number":467,"utf16_col":5},"end":{"line_number":467,"utf16_col":8}},"extent_utf16":{"start":{"line_number":467,"utf16_col":0},"end":{"line_number":467,"utf16_col":77}}},{"name":"Green","kind":"function","ident_start":12067,"ident_end":12072,"extent_start":12062,"extent_end":12143,"fully_qualified_name":"Green","ident_utf16":{"start":{"line_number":471,"utf16_col":5},"end":{"line_number":471,"utf16_col":10}},"extent_utf16":{"start":{"line_number":471,"utf16_col":0},"end":{"line_number":471,"utf16_col":81}}},{"name":"Yellow","kind":"function","ident_start":12272,"ident_end":12278,"extent_start":12267,"extent_end":12350,"fully_qualified_name":"Yellow","ident_utf16":{"start":{"line_number":475,"utf16_col":5},"end":{"line_number":475,"utf16_col":11}},"extent_utf16":{"start":{"line_number":475,"utf16_col":0},"end":{"line_number":475,"utf16_col":83}}},{"name":"Blue","kind":"function","ident_start":12475,"ident_end":12479,"extent_start":12470,"extent_end":12549,"fully_qualified_name":"Blue","ident_utf16":{"start":{"line_number":479,"utf16_col":5},"end":{"line_number":479,"utf16_col":9}},"extent_utf16":{"start":{"line_number":479,"utf16_col":0},"end":{"line_number":479,"utf16_col":79}}},{"name":"Magenta","kind":"function","ident_start":12680,"ident_end":12687,"extent_start":12675,"extent_end":12760,"fully_qualified_name":"Magenta","ident_utf16":{"start":{"line_number":483,"utf16_col":5},"end":{"line_number":483,"utf16_col":12}},"extent_utf16":{"start":{"line_number":483,"utf16_col":0},"end":{"line_number":483,"utf16_col":85}}},{"name":"Cyan","kind":"function","ident_start":12885,"ident_end":12889,"extent_start":12880,"extent_end":12959,"fully_qualified_name":"Cyan","ident_utf16":{"start":{"line_number":487,"utf16_col":5},"end":{"line_number":487,"utf16_col":9}},"extent_utf16":{"start":{"line_number":487,"utf16_col":0},"end":{"line_number":487,"utf16_col":79}}},{"name":"White","kind":"function","ident_start":13086,"ident_end":13091,"extent_start":13081,"extent_end":13162,"fully_qualified_name":"White","ident_utf16":{"start":{"line_number":491,"utf16_col":5},"end":{"line_number":491,"utf16_col":10}},"extent_utf16":{"start":{"line_number":491,"utf16_col":0},"end":{"line_number":491,"utf16_col":81}}},{"name":"BlackString","kind":"function","ident_start":13261,"ident_end":13272,"extent_start":13256,"extent_end":13358,"fully_qualified_name":"BlackString","ident_utf16":{"start":{"line_number":495,"utf16_col":5},"end":{"line_number":495,"utf16_col":16}},"extent_utf16":{"start":{"line_number":495,"utf16_col":0},"end":{"line_number":495,"utf16_col":102}}},{"name":"RedString","kind":"function","ident_start":13453,"ident_end":13462,"extent_start":13448,"extent_end":13546,"fully_qualified_name":"RedString","ident_utf16":{"start":{"line_number":499,"utf16_col":5},"end":{"line_number":499,"utf16_col":14}},"extent_utf16":{"start":{"line_number":499,"utf16_col":0},"end":{"line_number":499,"utf16_col":98}}},{"name":"GreenString","kind":"function","ident_start":13645,"ident_end":13656,"extent_start":13640,"extent_end":13742,"fully_qualified_name":"GreenString","ident_utf16":{"start":{"line_number":503,"utf16_col":5},"end":{"line_number":503,"utf16_col":16}},"extent_utf16":{"start":{"line_number":503,"utf16_col":0},"end":{"line_number":503,"utf16_col":102}}},{"name":"YellowString","kind":"function","ident_start":13843,"ident_end":13855,"extent_start":13838,"extent_end":13942,"fully_qualified_name":"YellowString","ident_utf16":{"start":{"line_number":507,"utf16_col":5},"end":{"line_number":507,"utf16_col":17}},"extent_utf16":{"start":{"line_number":507,"utf16_col":0},"end":{"line_number":507,"utf16_col":104}}},{"name":"BlueString","kind":"function","ident_start":14039,"ident_end":14049,"extent_start":14034,"extent_end":14134,"fully_qualified_name":"BlueString","ident_utf16":{"start":{"line_number":511,"utf16_col":5},"end":{"line_number":511,"utf16_col":15}},"extent_utf16":{"start":{"line_number":511,"utf16_col":0},"end":{"line_number":511,"utf16_col":100}}},{"name":"MagentaString","kind":"function","ident_start":14237,"ident_end":14250,"extent_start":14232,"extent_end":14339,"fully_qualified_name":"MagentaString","ident_utf16":{"start":{"line_number":515,"utf16_col":5},"end":{"line_number":515,"utf16_col":18}},"extent_utf16":{"start":{"line_number":515,"utf16_col":0},"end":{"line_number":517,"utf16_col":1}}},{"name":"CyanString","kind":"function","ident_start":14436,"ident_end":14446,"extent_start":14431,"extent_end":14531,"fully_qualified_name":"CyanString","ident_utf16":{"start":{"line_number":521,"utf16_col":5},"end":{"line_number":521,"utf16_col":15}},"extent_utf16":{"start":{"line_number":521,"utf16_col":0},"end":{"line_number":521,"utf16_col":100}}},{"name":"WhiteString","kind":"function","ident_start":14630,"ident_end":14641,"extent_start":14625,"extent_end":14727,"fully_qualified_name":"WhiteString","ident_utf16":{"start":{"line_number":525,"utf16_col":5},"end":{"line_number":525,"utf16_col":16}},"extent_utf16":{"start":{"line_number":525,"utf16_col":0},"end":{"line_number":525,"utf16_col":102}}},{"name":"HiBlack","kind":"function","ident_start":14869,"ident_end":14876,"extent_start":14864,"extent_end":14949,"fully_qualified_name":"HiBlack","ident_utf16":{"start":{"line_number":529,"utf16_col":5},"end":{"line_number":529,"utf16_col":12}},"extent_utf16":{"start":{"line_number":529,"utf16_col":0},"end":{"line_number":529,"utf16_col":85}}},{"name":"HiRed","kind":"function","ident_start":15087,"ident_end":15092,"extent_start":15082,"extent_end":15163,"fully_qualified_name":"HiRed","ident_utf16":{"start":{"line_number":533,"utf16_col":5},"end":{"line_number":533,"utf16_col":10}},"extent_utf16":{"start":{"line_number":533,"utf16_col":0},"end":{"line_number":533,"utf16_col":81}}},{"name":"HiGreen","kind":"function","ident_start":15305,"ident_end":15312,"extent_start":15300,"extent_end":15385,"fully_qualified_name":"HiGreen","ident_utf16":{"start":{"line_number":537,"utf16_col":5},"end":{"line_number":537,"utf16_col":12}},"extent_utf16":{"start":{"line_number":537,"utf16_col":0},"end":{"line_number":537,"utf16_col":85}}},{"name":"HiYellow","kind":"function","ident_start":15529,"ident_end":15537,"extent_start":15524,"extent_end":15611,"fully_qualified_name":"HiYellow","ident_utf16":{"start":{"line_number":541,"utf16_col":5},"end":{"line_number":541,"utf16_col":13}},"extent_utf16":{"start":{"line_number":541,"utf16_col":0},"end":{"line_number":541,"utf16_col":87}}},{"name":"HiBlue","kind":"function","ident_start":15751,"ident_end":15757,"extent_start":15746,"extent_end":15829,"fully_qualified_name":"HiBlue","ident_utf16":{"start":{"line_number":545,"utf16_col":5},"end":{"line_number":545,"utf16_col":11}},"extent_utf16":{"start":{"line_number":545,"utf16_col":0},"end":{"line_number":545,"utf16_col":83}}},{"name":"HiMagenta","kind":"function","ident_start":15975,"ident_end":15984,"extent_start":15970,"extent_end":16059,"fully_qualified_name":"HiMagenta","ident_utf16":{"start":{"line_number":549,"utf16_col":5},"end":{"line_number":549,"utf16_col":14}},"extent_utf16":{"start":{"line_number":549,"utf16_col":0},"end":{"line_number":549,"utf16_col":89}}},{"name":"HiCyan","kind":"function","ident_start":16199,"ident_end":16205,"extent_start":16194,"extent_end":16277,"fully_qualified_name":"HiCyan","ident_utf16":{"start":{"line_number":553,"utf16_col":5},"end":{"line_number":553,"utf16_col":11}},"extent_utf16":{"start":{"line_number":553,"utf16_col":0},"end":{"line_number":553,"utf16_col":83}}},{"name":"HiWhite","kind":"function","ident_start":16419,"ident_end":16426,"extent_start":16414,"extent_end":16499,"fully_qualified_name":"HiWhite","ident_utf16":{"start":{"line_number":557,"utf16_col":5},"end":{"line_number":557,"utf16_col":12}},"extent_utf16":{"start":{"line_number":557,"utf16_col":0},"end":{"line_number":557,"utf16_col":85}}},{"name":"HiBlackString","kind":"function","ident_start":16613,"ident_end":16626,"extent_start":16608,"extent_end":16715,"fully_qualified_name":"HiBlackString","ident_utf16":{"start":{"line_number":561,"utf16_col":5},"end":{"line_number":561,"utf16_col":18}},"extent_utf16":{"start":{"line_number":561,"utf16_col":0},"end":{"line_number":563,"utf16_col":1}}},{"name":"HiRedString","kind":"function","ident_start":16825,"ident_end":16836,"extent_start":16820,"extent_end":16922,"fully_qualified_name":"HiRedString","ident_utf16":{"start":{"line_number":567,"utf16_col":5},"end":{"line_number":567,"utf16_col":16}},"extent_utf16":{"start":{"line_number":567,"utf16_col":0},"end":{"line_number":567,"utf16_col":102}}},{"name":"HiGreenString","kind":"function","ident_start":17036,"ident_end":17049,"extent_start":17031,"extent_end":17138,"fully_qualified_name":"HiGreenString","ident_utf16":{"start":{"line_number":571,"utf16_col":5},"end":{"line_number":571,"utf16_col":18}},"extent_utf16":{"start":{"line_number":571,"utf16_col":0},"end":{"line_number":573,"utf16_col":1}}},{"name":"HiYellowString","kind":"function","ident_start":17254,"ident_end":17268,"extent_start":17249,"extent_end":17358,"fully_qualified_name":"HiYellowString","ident_utf16":{"start":{"line_number":577,"utf16_col":5},"end":{"line_number":577,"utf16_col":19}},"extent_utf16":{"start":{"line_number":577,"utf16_col":0},"end":{"line_number":579,"utf16_col":1}}},{"name":"HiBlueString","kind":"function","ident_start":17470,"ident_end":17482,"extent_start":17465,"extent_end":17569,"fully_qualified_name":"HiBlueString","ident_utf16":{"start":{"line_number":583,"utf16_col":5},"end":{"line_number":583,"utf16_col":17}},"extent_utf16":{"start":{"line_number":583,"utf16_col":0},"end":{"line_number":583,"utf16_col":104}}},{"name":"HiMagentaString","kind":"function","ident_start":17687,"ident_end":17702,"extent_start":17682,"extent_end":17793,"fully_qualified_name":"HiMagentaString","ident_utf16":{"start":{"line_number":587,"utf16_col":5},"end":{"line_number":587,"utf16_col":20}},"extent_utf16":{"start":{"line_number":587,"utf16_col":0},"end":{"line_number":589,"utf16_col":1}}},{"name":"HiCyanString","kind":"function","ident_start":17905,"ident_end":17917,"extent_start":17900,"extent_end":18004,"fully_qualified_name":"HiCyanString","ident_utf16":{"start":{"line_number":593,"utf16_col":5},"end":{"line_number":593,"utf16_col":17}},"extent_utf16":{"start":{"line_number":593,"utf16_col":0},"end":{"line_number":593,"utf16_col":104}}},{"name":"HiWhiteString","kind":"function","ident_start":18118,"ident_end":18131,"extent_start":18113,"extent_end":18220,"fully_qualified_name":"HiWhiteString","ident_utf16":{"start":{"line_number":597,"utf16_col":5},"end":{"line_number":597,"utf16_col":18}},"extent_utf16":{"start":{"line_number":597,"utf16_col":0},"end":{"line_number":599,"utf16_col":1}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/daisy-ycguo/color/branches":{"post":"JM3es94zJd85MoqHF-rlPJa_fojt3WTH1Cwk33jiYyONfr_MS3dwPQ9Ym9kxbVWUD7FIQVMB8bIyIjYdIZoOBQ"},"/repos/preferences":{"post":"8oOHnxWrzJBRv3dydVdVQyb-XXLrjf5gbda-XTqEdVaTmJObPTOtN2vj-gCrlxAXrHakT6gnmokQGVdddNxIgA"}}},"title":"color/color.go at master · daisy-ycguo/color","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1ae9fa256942.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}
0