mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-08 03:01:47 +00:00
fix(cli): submit LF enter in thin PTYs (#20896)
This commit is contained in:
parent
d8b85bfd1c
commit
5044e1cbf1
2 changed files with 48 additions and 7 deletions
|
|
@ -3,6 +3,7 @@ that only manifest at runtime (not in mocked unit tests)."""
|
|||
|
||||
import os
|
||||
import sys
|
||||
from types import SimpleNamespace
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
||||
|
|
@ -161,6 +162,35 @@ class TestBusyInputMode:
|
|||
assert cli._pending_input.empty()
|
||||
|
||||
|
||||
class TestPromptToolkitTerminalCompatibility:
|
||||
def test_lf_enter_binds_to_submit_handler(self):
|
||||
"""Some thin PTYs deliver Enter as LF/c-j instead of CR/enter."""
|
||||
from prompt_toolkit.key_binding import KeyBindings
|
||||
|
||||
from cli import _bind_prompt_submit_keys
|
||||
|
||||
kb = KeyBindings()
|
||||
|
||||
def submit_handler(event):
|
||||
return None
|
||||
|
||||
_bind_prompt_submit_keys(kb, submit_handler)
|
||||
|
||||
bindings = {tuple(key.value for key in binding.keys): binding.handler for binding in kb.bindings}
|
||||
assert bindings[("c-m",)] is submit_handler
|
||||
assert bindings[("c-j",)] is submit_handler
|
||||
|
||||
def test_cpr_warning_callback_is_disabled(self):
|
||||
from cli import _disable_prompt_toolkit_cpr_warning
|
||||
|
||||
renderer = SimpleNamespace(cpr_not_supported_callback=lambda: None)
|
||||
app = SimpleNamespace(renderer=renderer)
|
||||
|
||||
_disable_prompt_toolkit_cpr_warning(app)
|
||||
|
||||
assert renderer.cpr_not_supported_callback is None
|
||||
|
||||
|
||||
class TestSingleQueryState:
|
||||
def test_voice_and_interrupt_state_initialized_before_run(self):
|
||||
"""Single-query mode calls chat() without going through run()."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue