Module: Tty

Defined in:
utils/tty.rb,
sorbet/rbi/dsl/tty.rbi

Overview

DO NOT EDIT MANUALLY This is an autogenerated file for dynamic methods in Tty. Please instead update this file by running bin/tapioca dsl Tty.

Constant Summary collapse

COLOR_CODES =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

{
  red:     31,
  green:   32,
  yellow:  33,
  blue:    34,
  magenta: 35,
  cyan:    36,
  default: 39,
}.freeze
STYLE_CODES =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

{
  reset:         0,
  bold:          1,
  italic:        3,
  underline:     4,
  strikethrough: 9,
  no_underline:  24,
}.freeze
SPECIAL_CODES =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

{
  up:         "1A",
  down:       "1B",
  right:      "1C",
  left:       "1D",
  erase_line: "K",
  erase_char: "P",
}.freeze
CODES =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

COLOR_CODES.merge(STYLE_CODES).freeze

Class Method Summary collapse

Class Method Details

.blueString

Returns:



10
# File 'sorbet/rbi/dsl/tty.rbi', line 10

def blue; end

.boldString

Returns:



13
# File 'sorbet/rbi/dsl/tty.rbi', line 13

def bold; end

.color?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


113
114
115
116
117
118
# File 'utils/tty.rb', line 113

def color?
  return false if Homebrew::EnvConfig.no_color?
  return true if Homebrew::EnvConfig.color?

  @stream.tty?
end

.current_escape_sequenceString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



74
75
76
77
78
# File 'utils/tty.rb', line 74

def current_escape_sequence
  return "" if @escape_sequence.nil?

  "\033[#{@escape_sequence.join(";")}m"
end

.cyanString

Returns:



16
# File 'sorbet/rbi/dsl/tty.rbi', line 16

def cyan; end

.defaultString

Returns:



19
# File 'sorbet/rbi/dsl/tty.rbi', line 19

def default; end

.downString

Returns:



22
# File 'sorbet/rbi/dsl/tty.rbi', line 22

def down; end

.erase_charString

Returns:



25
# File 'sorbet/rbi/dsl/tty.rbi', line 25

def erase_char; end

.erase_lineString

Returns:



28
# File 'sorbet/rbi/dsl/tty.rbi', line 28

def erase_line; end

.greenString

Returns:



31
# File 'sorbet/rbi/dsl/tty.rbi', line 31

def green; end

.italicString

Returns:



34
# File 'sorbet/rbi/dsl/tty.rbi', line 34

def italic; end

.leftString

Returns:



37
# File 'sorbet/rbi/dsl/tty.rbi', line 37

def left; end

.magentaString

Returns:



40
# File 'sorbet/rbi/dsl/tty.rbi', line 40

def magenta; end

.no_underlineString

Returns:



43
# File 'sorbet/rbi/dsl/tty.rbi', line 43

def no_underline; end

.redString

Returns:



46
# File 'sorbet/rbi/dsl/tty.rbi', line 46

def red; end

.resetString

Returns:



49
# File 'sorbet/rbi/dsl/tty.rbi', line 49

def reset; end

.reset_escape_sequence!void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



81
82
83
# File 'utils/tty.rb', line 81

def reset_escape_sequence!
  @escape_sequence = nil
end

.rightString

Returns:



52
# File 'sorbet/rbi/dsl/tty.rbi', line 52

def right; end

.strikethroughString

Returns:



55
# File 'sorbet/rbi/dsl/tty.rbi', line 55

def strikethrough; end

.strip_ansi(string) ⇒ String

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



54
55
56
# File 'utils/tty.rb', line 54

def strip_ansi(string)
  string.gsub(/\033\[\d+(;\d+)*m/, "")
end

.to_sString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



104
105
106
107
108
109
110
# File 'utils/tty.rb', line 104

def to_s
  return "" unless color?

  current_escape_sequence
ensure
  reset_escape_sequence!
end

.truncate(string) ⇒ String

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



69
70
71
# File 'utils/tty.rb', line 69

def truncate(string)
  (w = width).zero? ? string.to_s : (string.to_s[0, w - 4] || "")
end

.underlineString

Returns:



58
# File 'sorbet/rbi/dsl/tty.rbi', line 58

def underline; end

.upString

Returns:



61
# File 'sorbet/rbi/dsl/tty.rbi', line 61

def up; end

.widthInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Integer)


59
60
61
62
63
64
65
66
# File 'utils/tty.rb', line 59

def width
  @width ||= begin
    _, width = `/bin/stty size 2>/dev/null`.split
    width, = `/usr/bin/tput cols 2>/dev/null`.split if width.to_i.zero?
    width ||= 80
    width.to_i
  end
end

.with(stream, &_block) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:

  • stream (IO, StringIO)
  • _block (T.proc.params(arg0: T.any(IO, StringIO)).void)


44
45
46
47
48
49
50
51
# File 'utils/tty.rb', line 44

def with(stream, &_block)
  previous_stream = @stream
  @stream = stream

  yield stream
ensure
  @stream = previous_stream
end

.yellowString

Returns:



64
# File 'sorbet/rbi/dsl/tty.rbi', line 64

def yellow; end