mirror of
https://github.com/rancher/os.git
synced 2025-09-02 23:34:57 +00:00
move dependencies to vendor
This commit is contained in:
76
vendor/github.com/docker/libcompose/cli/logger/color_logger.go
generated
vendored
Normal file
76
vendor/github.com/docker/libcompose/cli/logger/color_logger.go
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"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())),
|
||||
}
|
||||
}
|
||||
|
||||
// Create implements logger.Factory.Create.
|
||||
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)
|
||||
}
|
||||
|
||||
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
vendor/github.com/docker/libcompose/cli/logger/colors.go
generated
vendored
Normal file
34
vendor/github.com/docker/libcompose/cli/logger/colors.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
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()
|
||||
}
|
Reference in New Issue
Block a user