41 строка
		
	
	
	
		
			1,2 КиБ
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 строка
		
	
	
	
		
			1,2 КиБ
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2014 shiena Authors. All rights reserved.
 | |
| // Use of this source code is governed by a MIT-style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| package colors
 | |
| 
 | |
| import "io"
 | |
| 
 | |
| type outputMode int
 | |
| 
 | |
| // DiscardNonColorEscSeq supports the divided color escape sequence.
 | |
| // But non-color escape sequence is not output.
 | |
| // Please use the OutputNonColorEscSeq If you want to output a non-color
 | |
| // escape sequences such as ncurses. However, it does not support the divided
 | |
| // color escape sequence.
 | |
| const (
 | |
| 	_ outputMode = iota
 | |
| 	discardNonColorEscSeq
 | |
| 	outputNonColorEscSeq // unused
 | |
| )
 | |
| 
 | |
| // Colored creates and initializes a new ansiColorWriter
 | |
| // using io.Writer w as its initial contents.
 | |
| // In the console of Windows, which change the foreground and background
 | |
| // colors of the text by the escape sequence.
 | |
| // In the console of other systems, which writes to w all text.
 | |
| func Colored(w io.Writer) io.Writer {
 | |
| 	return createModeAnsiColorWriter(w, discardNonColorEscSeq)
 | |
| }
 | |
| 
 | |
| // NewModeAnsiColorWriter create and initializes a new ansiColorWriter
 | |
| // by specifying the outputMode.
 | |
| func createModeAnsiColorWriter(w io.Writer, mode outputMode) io.Writer {
 | |
| 	if _, ok := w.(*ansiColorWriter); !ok {
 | |
| 		return &ansiColorWriter{
 | |
| 			w:    w,
 | |
| 			mode: mode,
 | |
| 		}
 | |
| 	}
 | |
| 	return w
 | |
| }
 | 
