| // 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 |
| } |