Private
Public Access
0
0
Files
manual_slop/src
ed bca0875580 refactor(external_editor): merge TextEditorConfig + ExternalEditorConfig from models.py
Per the 4-criteria decision rule: editor configs fail C1 (only used by
the editor subsystem), fail C2 (no state machine), fail C3 (no
dedicated test file), borderline C4. MERGE into the existing
src/external_editor.py which already has ExternalEditorLauncher +
the helper functions.

This commit:
 1. Adds TextEditorConfig + ExternalEditorConfig + EMPTY_TEXT_EDITOR_CONFIG
    class definitions to src/external_editor.py at the top.
 2. Removes the same class defs from src/models.py.
 3. Adds lazy re-export via the existing __getattr__ in src/models.py
    (EAGER would cycle: external_editor was previously importing from
    models; if models re-exports, the cycle would deadlock on initial
    load).
 4. Updates external_editor.py imports to no longer import from models
    (the class defs are now local).

Verification: VC8 (TextEditorConfig + ExternalEditorConfig)
  from src.external_editor import TextEditorConfig, ExternalEditorConfig,
                                     EMPTY_TEXT_EDITOR_CONFIG  # OK
  from src.models            import TextEditorConfig, ExternalEditorConfig,
                                     EMPTY_TEXT_EDITOR_CONFIG  # OK (lazy)
  identity check: True for all 3

Tests verified (22/22 PASS):
  tests/test_external_editor.py (17 tests)
  tests/test_external_editor_gui.py (5 tests)
2026-06-26 10:12:30 -04:00
..
2026-06-06 10:24:22 -04:00
2026-06-26 05:55:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 11:08:07 -04:00