clide:// deep link handler — open files at a line (T-56)

clide://open?path=&line= translates (in parseArgv) to editor.open, so an OS
scheme invocation routes through the existing CLI→IPC path into the running
window — single-instance for free, no new code path. Registered the scheme:
linux/clide.desktop MimeType x-scheme-handler/clide (Exec already passes %U) and
macOS Info.plist CFBundleURLTypes. Parser validates the action/path/line.

Linux works end to end (the OS passes the URL as argv). macOS URL DELIVERY (the
AppDelegate openURLs callback → forward into this path) is a follow-up — the
scheme is registered, but the native hook needs a real macOS machine to verify,
so it's not shipped blind. Also drops a stray import in clide_markdown_test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 22:41:00 +02:00
co-authored by Claude Opus 4.8
parent 1411e19ab4
commit 4057286632
8 changed files with 99 additions and 2 deletions
+5
View File
@@ -18,6 +18,11 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Added
- **`clide://` deep links open files.** `clide://open?path=/repo/file.dart&line=42`
opens the file at the line — handy for CI links, error reports, and cross-tool
integration. The link routes through the existing CLI→IPC path, so it lands in
the running window (no second instance). The scheme is registered on Linux
(`x-scheme-handler/clide`) and macOS. (T-56)
- **Number keys pick prompt buttons (CLI muscle memory).** In a permission or
AskUserQuestion prompt, `1`/`2`/`3`… select the matching button or option
(labels are now numbered), and Enter confirms the primary action. Typing in a