in src/nova_act/util/terminal_manager.py [0:0]
def __enter__(self):
if not self.is_interactive:
return self
if sys.platform == "win32":
# No equivalent setup required for Windows.
pass
else:
try:
# Save the terminal settings
self.fd = sys.stdin.fileno()
self.new_term = termios.tcgetattr(self.fd)
self.old_term = termios.tcgetattr(self.fd)
# New terminal setting unbuffered
self.new_term[3] = self.new_term[3] & ~termios.ICANON & ~termios.ECHO
termios.tcsetattr(self.fd, termios.TCSAFLUSH, self.new_term)
except termios.error:
# Handle case where terminal manipulation fails
self.is_interactive = False
return self