improve readability for future self
Vladimir Bauer
7 years ago
| 258 | 258 |
op(s)
|
| 259 | 259 |
case cmd := <-b.cmdValue:
|
| 260 | 260 |
switch {
|
| 261 | |
case cmd&cmdId != 0:
|
|
261 |
case (cmd & cmdId) != 0:
|
| 262 | 262 |
b.cmdValue <- s.id
|
| 263 | |
case cmd&cmdCurrent != 0:
|
|
263 |
case (cmd & cmdCurrent) != 0:
|
| 264 | 264 |
b.cmdValue <- int(s.current)
|
| 265 | |
case cmd&cmdPLen != 0:
|
|
265 |
case (cmd & cmdPLen) != 0:
|
| 266 | 266 |
b.cmdValue <- len(s.pDecorators)
|
| 267 | |
case cmd&cmdALen != 0:
|
|
267 |
case (cmd & cmdALen) != 0:
|
| 268 | 268 |
b.cmdValue <- len(s.aDecorators)
|
| 269 | |
case cmd&cmdCompleted != 0:
|
|
269 |
case (cmd & cmdCompleted) != 0:
|
| 270 | 270 |
var v int
|
| 271 | 271 |
if s.toComplete {
|
| 272 | 272 |
v = 1
|
| 97 | 97 |
// FormatMsg formats final message according to WC.W and WC.C.
|
| 98 | 98 |
// Should be called by any Decorator implementation.
|
| 99 | 99 |
func (wc WC) FormatMsg(msg string, widthAccumulator chan<- int, widthDistributor <-chan int) string {
|
| 100 | |
if wc.C&DSyncWidth != 0 {
|
|
100 |
if (wc.C & DSyncWidth) != 0 {
|
| 101 | 101 |
widthAccumulator <- utf8.RuneCountInString(msg)
|
| 102 | 102 |
max := <-widthDistributor
|
| 103 | 103 |
if max == 0 {
|
| 104 | 104 |
max = wc.W
|
| 105 | 105 |
}
|
| 106 | |
if wc.C&DextraSpace != 0 {
|
|
106 |
if (wc.C & DextraSpace) != 0 {
|
| 107 | 107 |
max++
|
| 108 | 108 |
}
|
| 109 | 109 |
return fmt.Sprintf(fmt.Sprintf(wc.format, max), msg)
|
|
| 114 | 114 |
// BuildFormat builds initial format according to WC.C
|
| 115 | 115 |
func (wc *WC) BuildFormat() {
|
| 116 | 116 |
wc.format = "%%"
|
| 117 | |
if wc.C&DidentRight != 0 {
|
|
117 |
if (wc.C & DidentRight) != 0 {
|
| 118 | 118 |
wc.format += "-"
|
| 119 | 119 |
}
|
| 120 | 120 |
wc.format += "%ds"
|