From b67ee8fd6205fcce70559bee33bdf21af016ef73 Mon Sep 17 00:00:00 2001 From: kuddev Date: Fri, 28 Aug 2026 22:17:09 +0800 Subject: [PATCH] docs: describe terminal conventions without naming other products Replace references to specific terminal products in comments and the runtime API document with neutral descriptions of the shared convention. The technical facts stay; only the product names go. --- docs/runtime-control-api.md | 2 +- nebula_app/src/agent_env.rs | 4 ++-- nebula_app/src/font_install.rs | 2 +- nebula_app/src/gpui_shell/terminal/view.rs | 2 +- nebula_app/src/gpui_shell/workspace.rs | 2 +- nebula_app/src/gpui_shell/workspace/top_tabs.rs | 8 ++++---- nebula_terminal/src/term/mod.rs | 7 +++---- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/docs/runtime-control-api.md b/docs/runtime-control-api.md index 47c5d87..56a17aa 100644 --- a/docs/runtime-control-api.md +++ b/docs/runtime-control-api.md @@ -27,7 +27,7 @@ Nebula 打开的每个**本地** pane 都带上下面这些变量。pane 里的 | 变量 | 含义 | |---|---| -| `TERM_PROGRAM=nebula` | 外面这层终端是 Nebula。与 `vscode` / `iTerm.app` / `WezTerm` 同一个事实标准入口,第三方工具的既有识别逻辑不必改代码 | +| `TERM_PROGRAM=nebula` | 外面这层终端是 Nebula。沿用终端生态的事实标准入口,第三方工具的既有识别逻辑不必改代码 | | `TERM_PROGRAM_VERSION` | Nebula 版本 | | `NEBULA_PANE_ID` | 调用者所在 pane。AI hook 用同一个值给回合状态定位 tab 圆点 | | `NEBULA_CLI` | 提供控制面的那个可执行文件的绝对路径。便携版不一定在 `PATH` 上,所以给精确路径 | diff --git a/nebula_app/src/agent_env.rs b/nebula_app/src/agent_env.rs index 7b6bb9a..d0556f7 100644 --- a/nebula_app/src/agent_env.rs +++ b/nebula_app/src/agent_env.rs @@ -35,8 +35,8 @@ use std::path::{Path, PathBuf}; pub(crate) use crate::ai_hook::PANE_ENV; /// `TERM_PROGRAM` 的取值。这是程序判断"我跑在哪个终端里"的事实标准入口, -/// 其它终端(`vscode`、`iTerm.app`、`WezTerm`…)都用同一个变量,所以第三方 -/// 工具的既有识别逻辑不需要为 Nebula 改代码。 +/// 终端生态普遍使用同一个变量,所以第三方工具的既有识别逻辑不需要为 Nebula +/// 改代码。 pub const TERM_PROGRAM: &str = "nebula"; /// Nebula 可执行文件的绝对路径。 diff --git a/nebula_app/src/font_install.rs b/nebula_app/src/font_install.rs index 0881bb1..0ee904d 100644 --- a/nebula_app/src/font_install.rs +++ b/nebula_app/src/font_install.rs @@ -125,7 +125,7 @@ pub fn normalize_font_family_chain(value: &str) -> String { } /// 用建议项替换输入框最后一个逗号段。用户先键入尾逗号即可追加 fallback; -/// 没有逗号时则替换主字体,这与 Windows Terminal 的 AutoSuggestBox 一致。 +/// 没有逗号时则替换主字体,保持单值输入时的直接替换语义。 pub fn complete_font_family_input(value: &str, completion: &str) -> String { let completion = completion.trim(); if completion.is_empty() { diff --git a/nebula_app/src/gpui_shell/terminal/view.rs b/nebula_app/src/gpui_shell/terminal/view.rs index 9a9e9e3..ec762e7 100644 --- a/nebula_app/src/gpui_shell/terminal/view.rs +++ b/nebula_app/src/gpui_shell/terminal/view.rs @@ -2597,7 +2597,7 @@ impl TerminalView { true } - /// 右键沿用 Windows 终端惯例:有选区直接复制,无选区直接粘贴。 + /// 右键行为:有选区直接复制,无选区直接粘贴。 /// Ctrl+右键保留选区菜单,供显式调用 Send to Chat。 fn on_right_down( &mut self, diff --git a/nebula_app/src/gpui_shell/workspace.rs b/nebula_app/src/gpui_shell/workspace.rs index da050cc..205e51a 100644 --- a/nebula_app/src/gpui_shell/workspace.rs +++ b/nebula_app/src/gpui_shell/workspace.rs @@ -4323,7 +4323,7 @@ impl NebulaWorkspace { /// 复制标签页:另开一个**同身份**的 Tab,不克隆活动 PTY 也不克隆分屏树 /// (旧壳 `window_context::duplicate_tab` 同合同——副本是新进程/新会话, - /// 与 Windows Terminal 一致,也避开 PTY 共享所有权)。 + /// 也避开 PTY 共享所有权)。 /// /// 关键是继承 launch 身份。WSL / Git Bash / Nushell 这类 Tab 的 /// program+args 记在 [`TabMeta::launch`],而此前这里一律走 diff --git a/nebula_app/src/gpui_shell/workspace/top_tabs.rs b/nebula_app/src/gpui_shell/workspace/top_tabs.rs index 57cbb68..a43f42b 100644 --- a/nebula_app/src/gpui_shell/workspace/top_tabs.rs +++ b/nebula_app/src/gpui_shell/workspace/top_tabs.rs @@ -505,8 +505,8 @@ impl NebulaWorkspace { .min_w_0() .items_center() .child( - // Windows Terminal 的 TabView 贴住标题栏底边;只让 tab 与其 - // 相邻操作按钮下沉,标题栏两侧的独立工具仍保持垂直居中。 + // TabView 贴住标题栏底边;只让 tab 与其相邻操作按钮下沉, + // 标题栏两侧的独立工具仍保持垂直居中。 h_flex() .h_full() .flex_shrink(1.0) @@ -645,8 +645,8 @@ impl NebulaWorkspace { ), ), ) - // Windows Terminal 的新建 split button 紧跟 TabView;剩余空间 - // 才是可拖拽标题栏,文件树与 Git 固定在其右侧。 + // 新建 split button 紧跟 TabView;剩余空间才是可拖拽标题栏, + // 文件树与 Git 固定在其右侧。 .child(div().h_full().flex_1().min_w_0()) .child( title_bar_panel_controls() diff --git a/nebula_terminal/src/term/mod.rs b/nebula_terminal/src/term/mod.rs index 2dc1fc0..a2933af 100644 --- a/nebula_terminal/src/term/mod.rs +++ b/nebula_terminal/src/term/mod.rs @@ -584,10 +584,9 @@ impl Term { } /// 发 `CSI ? 997 ; 1 n`(暗)/ `CSI ? 997 ; 2 n`(亮)。 /// - /// 编号来自 Contour 的 color-palette-update-notifications 提案, - /// kitty / wezterm / ghostty / alacritty 用的是同一套(kitty - /// `window.py`:`n = 1 if is_dark else 2`)。没订阅就不发——这个序列对没 - /// 要求过它的程序来说是不认识的输入。 + /// 编号来自 color-palette-update-notifications 提案;主流终端实现采用 + /// 同一套应答格式。没订阅就不发——这个序列对没要求过它的程序来说是 + /// 不认识的输入。 fn report_color_scheme(&mut self) where T: EventListener,