Editor: open scripts in an external editor

Stage-10 editor-UX follow-up, second half of in-editor script authoring:

- "✏ Edit" button on the Script inspector section (enabled once a
  source is assigned) and double-click on any script in the Project
  panel open the .rhai in the user's editor. Non-script assets
  double-click through xdg-open.
- Resolution order: the new External Editor preference command (spawned
  detached as `<command> <file>`, flags allowed), else $VISUAL/$EDITOR
  in a new Terminal-panel tab (TUI editors work in-editor via the
  existing PTY widget), else xdg-open.
- New `editor.external_editor` settings section (ExternalEditorPrefs)
  registered by EditorState, persisted with the preferences file, with
  a rich row in the Preferences window; registration covered by a unit
  test. Editor crate now depends on serde directly for its own
  sections.

Saved edits flow back through the file watcher's live reload, including
into a playing scene. GUI piece — needs an eye-check before promotion.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Homer
2026-07-10 20:41:37 +02:00
parent 4f1e9a48d7
commit d08bee1361
5 changed files with 212 additions and 13 deletions
+4
View File
@@ -692,6 +692,10 @@ console)**. Each is GUI → `dev` + eye-check.
- **Open a script in an editor** (Stage 10 follow-up). Double-click / button to
open a `.rhai` in an in-editor text view or launch `$EDITOR` / a configured
external editor; edits flow back through the existing live reload.
**🚧 On `dev` (2026-07-10), awaiting eye-check**: ✏ Edit button on the Script
section + double-click in the Project panel; External Editor command
preference (`editor.external_editor`), fallback $VISUAL/$EDITOR in a Terminal
tab, else xdg-open.
---