mirror of
https://github.com/go-delve/delve.git
synced 2025-11-02 04:36:29 +08:00
terminal: Use go-colorable
Add fallback to display colors on Windows.
This commit is contained in:
committed by
Derek Parker
parent
af4798e2a9
commit
f6836cbcf1
@ -28,6 +28,7 @@ type Term struct {
|
||||
line *liner.State
|
||||
cmds *Commands
|
||||
dumb bool
|
||||
stdout io.Writer
|
||||
InitFile string
|
||||
}
|
||||
|
||||
@ -37,12 +38,23 @@ func New(client service.Client, conf *config.Config) *Term {
|
||||
if conf != nil && conf.Aliases != nil {
|
||||
cmds.Merge(conf.Aliases)
|
||||
}
|
||||
|
||||
var w io.Writer
|
||||
|
||||
dumb := strings.ToLower(os.Getenv("TERM")) == "dumb"
|
||||
if dumb {
|
||||
w = os.Stdout
|
||||
} else {
|
||||
w = getColorableWriter()
|
||||
}
|
||||
|
||||
return &Term{
|
||||
prompt: "(dlv) ",
|
||||
line: liner.NewLiner(),
|
||||
client: client,
|
||||
cmds: cmds,
|
||||
dumb: !supportsEscapeCodes(),
|
||||
dumb: dumb,
|
||||
stdout: w,
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,7 +146,7 @@ func (t *Term) Println(prefix, str string) {
|
||||
if !t.dumb {
|
||||
prefix = fmt.Sprintf("%s%s%s", terminalBlueEscapeCode, prefix, terminalResetEscapeCode)
|
||||
}
|
||||
fmt.Printf("%s%s\n", prefix, str)
|
||||
fmt.Fprintf(t.stdout, "%s%s\n", prefix, str)
|
||||
}
|
||||
|
||||
func (t *Term) promptForInput() (string, error) {
|
||||
|
||||
Reference in New Issue
Block a user