bump(github.com/Azure/go-ansiterm) 388960b655244e76e24c75f48631564eaefade62

fixes failing windows build
This commit is contained in:
Tomas Kral
2016-07-21 20:19:09 +02:00
parent 91d981858f
commit 81744fccb4
34 changed files with 332 additions and 2105 deletions
+2
View File
@@ -1,3 +1,5 @@
// +build experimental
package bundlefile
import (
-102
View File
@@ -1,102 +0,0 @@
package logger
import (
"fmt"
"io"
"os"
"strconv"
"github.com/docker/libcompose/logger"
"golang.org/x/crypto/ssh/terminal"
)
// ColorLoggerFactory implements logger.Factory interface using ColorLogger.
type ColorLoggerFactory struct {
maxLength int
tty bool
}
// ColorLogger implements logger.Logger interface with color support.
type ColorLogger struct {
name string
colorPrefix string
factory *ColorLoggerFactory
}
// NewColorLoggerFactory creates a new ColorLoggerFactory.
func NewColorLoggerFactory() *ColorLoggerFactory {
return &ColorLoggerFactory{
tty: terminal.IsTerminal(int(os.Stdout.Fd())),
}
}
// CreateContainerLogger implements logger.Factory.CreateContainerLogger.
func (c *ColorLoggerFactory) CreateContainerLogger(name string) logger.Logger {
return c.create(name)
}
// CreateBuildLogger implements logger.Factory.CreateBuildLogger.
func (c *ColorLoggerFactory) CreateBuildLogger(name string) logger.Logger {
return &logger.RawLogger{}
}
// CreatePullLogger implements logger.Factory.CreatePullLogger.
func (c *ColorLoggerFactory) CreatePullLogger(name string) logger.Logger {
return &logger.NullLogger{}
}
// CreateBuildLogger implements logger.Factory.CreateContainerLogger.
func (c *ColorLoggerFactory) create(name string) logger.Logger {
if c.maxLength < len(name) {
c.maxLength = len(name)
}
return &ColorLogger{
name: name,
factory: c,
colorPrefix: <-colorPrefix,
}
}
// Out implements logger.Logger.Out.
func (c *ColorLogger) Out(bytes []byte) {
if len(bytes) == 0 {
return
}
logFmt, name := c.getLogFmt()
message := fmt.Sprintf(logFmt, name, string(bytes))
fmt.Print(message)
}
// Err implements logger.Logger.Err.
func (c *ColorLogger) Err(bytes []byte) {
if len(bytes) == 0 {
return
}
logFmt, name := c.getLogFmt()
message := fmt.Sprintf(logFmt, name, string(bytes))
fmt.Fprint(os.Stderr, message)
}
// OutWriter returns the base writer
func (c *ColorLogger) OutWriter() io.Writer {
return os.Stdout
}
// ErrWriter returns the base writer
func (c *ColorLogger) ErrWriter() io.Writer {
return os.Stderr
}
func (c *ColorLogger) getLogFmt() (string, string) {
pad := c.factory.maxLength
logFmt := "%s | %s"
if c.factory.tty {
logFmt = c.colorPrefix + " %s"
}
name := fmt.Sprintf("%-"+strconv.Itoa(pad)+"s", c.name)
return logFmt, name
}
-34
View File
@@ -1,34 +0,0 @@
package logger
import "fmt"
var (
colorPrefix = make(chan string)
)
func generateColors() {
i := 0
colorOrder := []string{
"36", // cyan
"33", // yellow
"32", // green
"35", // magenta
"31", // red
"34", // blue
"36;1", // intense cyan
"33;1", // intense yellow
"32;1", // intense green
"35;1", // intense magenta
"31;1", // intense red
"34;1", // intense blue
}
for {
colorPrefix <- fmt.Sprintf("\033[%sm%%s |\033[0m", colorOrder[i])
i = (i + 1) % len(colorOrder)
}
}
func init() {
go generateColors()
}