mirror of
https://github.com/strongdm/comply
synced 2024-11-25 09:04:54 +00:00
73 lines
999 B
Go
73 lines
999 B
Go
|
// Copyright 2016 Canonical Ltd.
|
||
|
// Licensed under the LGPLv3, see LICENCE file for details.
|
||
|
|
||
|
package ansiterm
|
||
|
|
||
|
const (
|
||
|
_ Style = iota
|
||
|
Bold
|
||
|
Faint
|
||
|
Italic
|
||
|
Underline
|
||
|
Blink
|
||
|
Reverse
|
||
|
Strikethrough
|
||
|
Conceal
|
||
|
)
|
||
|
|
||
|
type Style int
|
||
|
|
||
|
func (s Style) String() string {
|
||
|
switch s {
|
||
|
case Bold:
|
||
|
return "bold"
|
||
|
case Faint:
|
||
|
return "faint"
|
||
|
case Italic:
|
||
|
return "italic"
|
||
|
case Underline:
|
||
|
return "underline"
|
||
|
case Blink:
|
||
|
return "blink"
|
||
|
case Reverse:
|
||
|
return "reverse"
|
||
|
case Strikethrough:
|
||
|
return "strikethrough"
|
||
|
case Conceal:
|
||
|
return "conceal"
|
||
|
default:
|
||
|
return ""
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (s Style) enable() attribute {
|
||
|
switch s {
|
||
|
case Bold:
|
||
|
return 1
|
||
|
case Faint:
|
||
|
return 2
|
||
|
case Italic:
|
||
|
return 3
|
||
|
case Underline:
|
||
|
return 4
|
||
|
case Blink:
|
||
|
return 5
|
||
|
case Reverse:
|
||
|
return 7
|
||
|
case Conceal:
|
||
|
return 8
|
||
|
case Strikethrough:
|
||
|
return 9
|
||
|
default:
|
||
|
return unknownAttribute
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (s Style) disable() attribute {
|
||
|
value := s.enable()
|
||
|
if value != unknownAttribute {
|
||
|
return value + 20
|
||
|
}
|
||
|
return value
|
||
|
}
|