diff --git a/Library/Homebrew/cmd/fetch.rb b/Library/Homebrew/cmd/fetch.rb index 359b3c5d2ba2bc..a480e5c741a4d5 100644 --- a/Library/Homebrew/cmd/fetch.rb +++ b/Library/Homebrew/cmd/fetch.rb @@ -275,7 +275,7 @@ def run finished_downloads.each do |downloadable, future| previous_pending_line_count -= 1 - print "\033[K" + print Tty.clear_to_end $stdout.flush output_message.call(downloadable, future) end @@ -284,7 +284,7 @@ def run remaining_downloads.each do |downloadable, future| break if previous_pending_line_count >= [concurrency, (Tty.height - 1)].min - print "\033[K" + print Tty.clear_to_end $stdout.flush previous_pending_line_count += output_message.call(downloadable, future) end diff --git a/Library/Homebrew/utils/tty.rb b/Library/Homebrew/utils/tty.rb index cf500c0fb389bb..348c412cf0aa54 100644 --- a/Library/Homebrew/utils/tty.rb +++ b/Library/Homebrew/utils/tty.rb @@ -51,6 +51,11 @@ def strip_ansi(string) string.gsub(/\033\[\d+(;\d+)*m/, "") end + sig { returns(String) } + def clear_to_end + "\033[K" + end + sig { returns(String) } def hide_cursor "\033[?25l"