Skip to content

移除编辑器 Cursor / Windsurf 与终端 Warp 支持 #45

Description

@maguowei

目标

移除对以下本地应用的支持(设置抽屉不再可选、native open 不再识别、相关逻辑清理):

  • 编辑器:CursorWindsurf(保留 VS Code、Zed)
  • 终端:Warp(保留 Terminal、iTerm、Ghostty,Windows 保留 Terminal)

影响面(已排查)

后端

  • src-tauri/src/native_open.rs

    • CURSOR_MAC_APP_NAMES / WINDSURF_MAC_APP_NAMES 常量、对应 EDITOR_OPTION_DEFINITIONS 条目
    • editor_cli_command()"cursor" / "windsurf" 分支
    • TERMINAL_OPTION_DEFINITIONS"warp" 条目
    • terminal_is_supported() 各平台匹配串去掉 "warp"
    • terminal_is_available() 的 Warp 分支
    • linux_terminal_candidates() / windows_terminal_candidates()"warp" 分支
    • windows_warp_program_candidates*() 函数
    • 相关测试断言(editor_cli_mapping_covers_linux_and_windows_editorswindows_*_warp*native_open_options_* 等)
  • src-tauri/src/config.rs

    • EDITOR_APPS("cursor", ...) / ("windsurf", ...)
    • TERMINAL_APPS("warp", ...)
    • 错误提示文案中枚举的列表("四种终端" / "四种编辑器")
  • src-tauri/src/terminal_focus.rs

    • "warp" 映射与相关测试(Warp 无 AppleScript,本就不支持聚焦;确认一并清理)
    • src-tauri/src/tray.rs 中 Warp 相关判断

前端

  • src/types.tsDefaultTerminalApp 去掉 "warp"DefaultEditorApp 去掉 "cursor" / "windsurf"
  • src/components/SettingsDrawer.tsxterminalOptions / editorOptionsgetTerminalOptionsForPlatform 的对应条目
  • src/schemas/* 与 i18n:如存在对应枚举/文案条目需同步

文档

  • docs/user-manual.md / docs/user-manual.zh-CN.md:编辑器 / 终端支持表、会话聚焦描述
  • docs/platform-support.md / docs/platform-support.zh-CN.md:默认编辑器 / 默认终端、设置抽屉可选列表
  • docs/adr/0004-herdr-session-focus.md 中 Warp 提及

注意

  • CLI / macOS 应用名映射:cursor: cursorwindsurf: windsurfwarp: warp-terminal / warp.exe
  • 移除后保留 config 里已有用户的 default_editor_app / default_terminal_app 若指向被移除值时的降级行为,避免启动报错
  • 涉及 IPC 契约的变更需跑 make bindings / make bindings-check

验证

  • Rust:make fmt-rust-checkmake checkmake test-rust
  • 前端:make lint-frontendmake build-frontendmake test-frontend
  • 契约:make bindings-check
  • 文档:git diff --check

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions