feat(external-editor): Add TextEditorConfig and ExternalEditorConfig models

- Add TextEditorConfig and ExternalEditorConfig dataclasses to models.py
- Create src/external_editor.py with ExternalEditorLauncher class
- Add tests for configuration and launcher functionality
- Support for config.toml [tools.text_editors] and manual_slop.toml default_editor
This commit is contained in:
2026-05-07 19:07:05 -04:00
parent 87bcd698bb
commit 414d2ab561
4 changed files with 322 additions and 6 deletions
@@ -1,12 +1,12 @@
# Implementation Plan: External Text Editor Integration for Approvals
## Phase 1: Configuration & Data Modeling
- [ ] Task: Define the schema for external editor configuration.
- [ ] Update `src/models.py` (or equivalent configuration parsing logic) to include a `text_editors` dictionary and `default_editor` string.
- [ ] Task: Integrate configuration parsing.
- [ ] Update `config.toml` loading to support a `[tools.text_editors]` section mapping names to paths/commands.
- [ ] Update `manual_slop.toml` loading to support a project-level `default_editor` override.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Configuration & Data Modeling' (Protocol in workflow.md)
- [x] Task: Define the schema for external editor configuration.
- [x] Update `src/models.py` (or equivalent configuration parsing logic) to include a `text_editors` dictionary and `default_editor` string.
- [x] Task: Integrate configuration parsing.
- [x] Update `config.toml` loading to support a `[tools.text_editors]` section mapping names to paths/commands.
- [x] Update `manual_slop.toml` loading to support a project-level `default_editor` override.
- [x] Task: Conductor - User Manual Verification 'Phase 1: Configuration & Data Modeling' (Protocol in workflow.md)
## Phase 2: Editor Launch Logic
- [ ] Task: Implement the `ExternalEditorLauncher` utility.