Land #7643, only use ANSI ctrl chars in stdio output
commit
f45b0e3c88
|
@ -63,18 +63,7 @@ class Output < Rex::Ui::Output
|
||||||
end
|
end
|
||||||
|
|
||||||
def print_line(msg = '')
|
def print_line(msg = '')
|
||||||
if (/mingw/ =~ RUBY_PLATFORM)
|
|
||||||
print(msg + "\n")
|
print(msg + "\n")
|
||||||
return
|
|
||||||
end
|
|
||||||
print("\033[s") # Save cursor position
|
|
||||||
print("\r\033[K" + msg + "\n")
|
|
||||||
if input and input.prompt
|
|
||||||
print("\r\033[K")
|
|
||||||
print(input.prompt.tr("\001\002", ''))
|
|
||||||
print(input.line_buffer.tr("\001\002", ''))
|
|
||||||
print("\033[u\033[B") # Restore cursor, move down one line
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def print_warning(msg = '')
|
def print_warning(msg = '')
|
||||||
|
|
|
@ -55,6 +55,23 @@ class Output::Stdio < Rex::Ui::Text::Output
|
||||||
@io ||= $stdout
|
@io ||= $stdout
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Use ANSI Control chars to reset prompt position for async output
|
||||||
|
# SEE https://github.com/rapid7/metasploit-framework/pull/7570
|
||||||
|
def print_line(msg = '')
|
||||||
|
if (/mingw/ =~ RUBY_PLATFORM)
|
||||||
|
print(msg + "\n")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
print("\033[s") # Save cursor position
|
||||||
|
print("\r\033[K" + msg + "\n")
|
||||||
|
if input and input.prompt
|
||||||
|
print("\r\033[K")
|
||||||
|
print(input.prompt.tr("\001\002", ''))
|
||||||
|
print(input.line_buffer.tr("\001\002", ''))
|
||||||
|
print("\033[u\033[B") # Restore cursor, move down one line
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
# Prints the supplied message to standard output.
|
# Prints the supplied message to standard output.
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue