Add engines from the command line through the Typing menu's path

omarchy setup input <engine> had its own restart, append, select and
live-rollback code in configure.py, parallel to the menu's. It now
installs the packages and appends through typing_setup, leaving
configure.py with install-time seeding and update defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
David Heinemeier HanssonandClaude Opus 5.5 committed 2026-10-11 07:54:21 +09:00
1 parent b0af02555e
commit cf9e8f3625
7 files changed
+70 -193

No files matched your search

+8
View File
@@ -80,6 +80,14 @@ class TypingSetupTest(unittest.TestCase):
run.assert_not_called()
save.assert_not_called()
def test_command_line_addition_appends_once(self):
group = ("Default", "us", [["keyboard-us", ""], ["hangul", ""]])
with patch.object(typing.setup, "live_group", return_value=group), patch.object(typing, "save_inputs") as save:
typing.add_input("mozc")
save.assert_called_once_with(["hangul", "mozc"])
typing.add_input("hangul")
save.assert_called_once()
def test_failed_font_write_restores_the_input_group(self):
before = [["keyboard-us", ""]]
with patch.object(typing.setup, "live_group", return_value=("Default", "us", before)), patch.object(typing.setup, "available_methods", return_value=[["mozc", "Mozc"]]), patch.object(typing, "set_inputs"), patch.object(typing.setup, "font_default", side_effect=OSError("read-only")), patch.object(typing.setup, "live_set") as setter: