You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"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}}}