Skip to content

Commit 1b7ca79

Browse files
committed
fix(ci): 移除typos检查并修复encourage导入
1 parent 5bb484e commit 1b7ca79

10 files changed

Lines changed: 255 additions & 22 deletions
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## 项目上下文摘要(encourage-unused-imports)
2+
生成时间:2026-03-26 10:18:25 +0800
3+
4+
### 1. 相似实现分析
5+
- **实现1**: `main/src/encourage.rs`
6+
- 模式:当前文件只暴露 `render_encourage_section(cx)` 和内部渲染辅助结构,没有 `EventEmitter<TabContentEvent>` 或 `impl TabContent`。
7+
- 可复用:保留纯渲染所需的 `gpui`/`gpui_component` 导入即可。
8+
- 需注意:此前留下的 `TabContent`、`TabContentEvent`、`Window` 等导入已不再匹配当前职责。
9+
- **实现2**: `main/src/setting_tab.rs:642-670`
10+
- 模式:只有真正实现 `EventEmitter<TabContentEvent>` 和 `TabContent` 的 `SettingsPanel` 才导入并使用这两个类型。
11+
- 可复用:可以把 `encourage.rs` 的导入对齐到“纯渲染 helper”模式,而不是“页签实体”模式。
12+
- 需注意:`Window` 在 `SettingsPanel::on_activate` 和 `Render` 中实际参与签名,因此那里保留是合理的。
13+
- **实现3**: `main/src/home_tab.rs:2965-2988`
14+
- 模式:`HomePage` 作为页签实体同样实现了 `EventEmitter<TabContentEvent>` 和 `TabContent`,因此文件顶部需要导入 `InteractiveElement`、`StatefulInteractiveElement`、`Window`、`TabContent`、`TabContentEvent`。
15+
- 可复用:反向证明 `encourage.rs` 没有这些实现时,不应保留同类导入。
16+
- 需注意:`InteractiveElement` / `StatefulInteractiveElement` 是否需要保留,应以当前文件的方法调用是否真正依赖 trait 为准。
17+
18+
### 2. 项目约定
19+
- **命名约定**: Rust 导入按标准库、外部依赖、当前 crate 分组;仅保留实际使用项。
20+
- **文件组织**: `encourage.rs` 现在是设置页中的内容渲染模块,而不是独立页签实体。
21+
- **代码风格**: 最小改动修复 CI,优先删除无用导入,不改业务逻辑。
22+
23+
### 3. 可复用组件清单
24+
- `render_encourage_section(cx)`:设置页中复用的入口函数。
25+
- `SettingsPanel` / `HomePage`:用于对照真正需要 `TabContent` 系列导入的实现。
26+
27+
### 4. 测试策略
28+
- **验证命令**: `cargo check -p main --all-targets`
29+
- **验证目标**: 确认 `main/src/encourage.rs` 的 unused imports 消失,且 `main` crate 保持可编译。
30+
31+
### 5. 风险点
32+
- `gpui` 某些链式方法依赖 trait 导入;删导入时要以真实编译结果为准,避免误删 `ParentElement`、`Styled`、`IntoElement`、`StyledImage` 等仍被方法解析使用的 trait。
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
## 项目上下文摘要(typos-ci-fix)
2+
生成时间:2026-03-26 10:09:42 +0800
3+
4+
### 0. 需求变更说明
5+
- 初始方向是通过 `Cargo.toml` 白名单修复 `typos` 误报。
6+
- 用户随后明确要求“`typos` 去掉这个检查”,因此最终实施方向改为移除 `typos` 检查链路,而不是继续保留白名单方案。
7+
- 下文保留的是做出该决策前的上下文依据;最终落地以移除 CI、配置和文档中的 `typos` 入口为准。
8+
9+
### 1. 相似实现分析
10+
- **实现1**: `Cargo.toml:205-209`
11+
- 模式:仓库把 `typos` 配置直接放在根 `Cargo.toml` 的 `workspace.metadata.typos` 中,而不是单独维护 `_typos.toml`。
12+
- 可复用:现有 `files.extend-exclude` 与 `default.extend-identifiers` 配置组织方式。
13+
- 需注意:本次修复应继续集中在这个配置入口,避免分散到多个配置文件。
14+
- **实现2**: `.github/workflows/ci.yml:49-53`
15+
- 模式:CI 在 macOS 任务中直接执行 `typos`,没有传入额外参数。
16+
- 可复用:只要根配置生效,CI 无需同步修改。
17+
- 需注意:任何方案都必须兼容命令行直接读取 `Cargo.toml` 元数据的现有行为。
18+
- **实现3**: `crates/db/src/mssql/plugin.rs:117-126`
19+
- 模式:数据库插件通过 `SqlCompletionInfo.functions` 暴露方言函数说明。
20+
- 可复用:`IIF(cond, then, else)` 属于 SQL Server 合法函数签名,应保留字面量。
21+
- 需注意:这里不是英文拼写错误,不能为了过 `typos` 去改业务字符串。
22+
- **实现4**: `crates/db/src/sqlite/plugin.rs:286-292`
23+
- 模式:SQLite 插件同样通过 `functions` 列表暴露 SQL 函数说明。
24+
- 可复用:`IIF(cond, x, y)` 是 SQLite 合法函数签名,说明多个方言会共享同一保留词。
25+
- 需注意:白名单应该覆盖跨文件重复出现的同类词,而不是做局部注释规避。
26+
- **实现5**: `crates/db_view/src/sql_inline_completion.rs:17-58` 与 `:733-979`
27+
- 模式:`COMPOUND_KEYWORDS` 和测试用例故意保存 `SEL/SELEC/INSER/...` 这类未完成 SQL 片段,用于生成 ghost text 补全。
28+
- 可复用:补全实现与测试都依赖这些前缀/后缀字面量,不能改写语义。
29+
- 需注意:`ECT/ect`、`SELEC`、`INSER`、`UPDAT`、`DELET`、`WHE`、`WHER`、`HAV`、`HAVIN` 都是有意设计的 token。
30+
31+
### 2. 项目约定
32+
- **命名约定**: Rust 代码使用 `snake_case` / `PascalCase`,工具配置延续 TOML 分段命名。
33+
- **文件组织**: 根级工具配置集中放在 `Cargo.toml`;CI 定义位于 `.github/workflows/ci.yml`;任务留痕放在项目本地 `.claude/`。
34+
- **代码风格**: 优先最小改动和集中配置,不为工具误报重构业务代码。
35+
36+
### 3. 可复用组件清单
37+
- `Cargo.toml` 中现有 `[workspace.metadata.typos]`:本次唯一需要修改的运行配置入口。
38+
- `ci.yml` 中现有 `typos` 命令:作为本地复现和最终验证的对照。
39+
- `sql_inline_completion.rs` 的现有测试:用于证明前缀片段是功能需求,而非脏数据。
40+
41+
### 4. 官方文档与外部参考
42+
- Context7 `/crate-ci/typos` 文档确认:可通过 `[default.extend-words]` 与 `[default.extend-identifiers]` 扩展词典,也可用 `extend-ignore-words-re` 做正则忽略。
43+
- GitHub `search_code` 检索结果表明:Rust 仓库普遍直接在 `Cargo.toml` 的 `workspace.metadata.typos` 中维护白名单,符合当前仓库做法。
44+
45+
### 5. 测试策略
46+
- **验证命令**: 直接运行 `typos`,与 CI 工作流保持一致。
47+
- **覆盖要求**: 至少覆盖本次报错列出的 `IIF/ECT/ect/SELEC/INSER/UPDAT/DELET/WHE/WHER/HAV/HAVIN`。
48+
- **回归要求**: 不修改 `crates/db` 与 `crates/db_view` 的运行逻辑和测试语义。
49+
50+
### 6. 依赖和集成点
51+
- **外部依赖**: `typos-cli` 通过根配置读取白名单。
52+
- **内部依赖**: `crates/db` 的插件说明字符串、`crates/db_view` 的内联补全前缀和测试断言。
53+
- **集成方式**: 仅通过根配置扩展词典,无需修改 CI 和业务模块接口。
54+
55+
### 7. 技术选型理由
56+
- **为什么用 `extend-words`**: 报错 token 都出现在字符串文本里,不是 Rust 标识符;集中白名单比改代码更直接,也更符合现有 `Cargo.toml` 配置模式。
57+
- **优势**: 运行时零成本、变更面最小、后续维护集中。
58+
- **风险**: 如果 `typos` 对大小写处理与预期不一致,需要补充对应大小写词条;可通过本地执行立即验证。
59+
60+
### 8. 关键风险点
61+
- **边界条件**: `ECT` 与 `ect` 同时出现在常量和测试中,需要确认白名单覆盖大小写场景。
62+
- **维护风险**: 后续若新增更多 SQL 前缀片段,仍需同步更新白名单。
63+
- **验证缺口**: 本次不涉及运行时代码路径,本地验证主要依赖 `typos` 静态检查。

‎.claude/operations-log.md‎

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1769,3 +1769,91 @@
17691769
- `rustfmt --edition 2021 crates/db/src/oracle/connection.rs`:通过。
17701770
- `cargo check -p db`:通过。
17711771
- 限制:当前未连接真实 Oracle 实例,无法做运行时集成验证;本次仅确认编译正确和类型映射路径完整。
1772+
1773+
## 编码前检查 - typos-ci-fix
1774+
时间:2026-03-26 10:09:42 +0800
1775+
1776+
- 已查阅上下文摘要文件:`.claude/context-summary-typos-ci-fix.md`
1777+
- 将使用以下可复用组件:
1778+
- `Cargo.toml`:现有 `workspace.metadata.typos` 配置入口。
1779+
- `.github/workflows/ci.yml`:当前 CI 的 `typos` 执行方式。
1780+
- `crates/db/src/mssql/plugin.rs` 与 `crates/db/src/sqlite/plugin.rs`:`IIF(...)` 合法 SQL 函数字面量。
1781+
- `crates/db_view/src/sql_inline_completion.rs`:补全前缀/后缀字面量及断言模式。
1782+
- 将遵循命名约定:继续使用 TOML 分段配置,不引入新的文件或命名体系。
1783+
- 将遵循代码风格:优先集中配置修复,避免修改业务逻辑与测试语义。
1784+
- 确认不重复造轮子:已检查根 `Cargo.toml`、CI workflow、数据库插件和补全测试,确认直接扩展现有 typos 配置即可,无需新建 `_typos.toml` 或重构补全实现。
1785+
1786+
## 需求变更记录 - typos-ci-fix
1787+
时间:2026-03-26 10:11:45 +0800
1788+
1789+
- 用户将需求从“修复 `typos` 误报”改为“去掉这个检查”。
1790+
- 因此实施方案从扩展白名单切换为删除 `typos` 检查链路。
1791+
- 受影响范围重新确认如下:
1792+
- `.github/workflows/ci.yml`:删除 `Typo check` 步骤。
1793+
- `Cargo.toml`:删除 `workspace.metadata.typos` 配置段。
1794+
- `README.md`、`README_CN.md`、`CLAUDE.md`:删除开发命令中的 `typos` 说明。
1795+
1796+
## 编码后声明 - typos-ci-fix
1797+
时间:2026-03-26 10:12:34 +0800
1798+
1799+
### 1. 复用了以下既有组件
1800+
- `.github/workflows/ci.yml`:沿用现有 CI 结构,仅删除 `Typo check` 单一步骤,不改其余 job 顺序。
1801+
- `Cargo.toml`:直接清理原有 `workspace.metadata.typos` 配置入口,不新增替代配置文件。
1802+
- `README.md`、`README_CN.md`、`CLAUDE.md`:沿用现有开发命令展示结构,仅删除 `typos` 一项。
1803+
1804+
### 2. 遵循了以下项目约定
1805+
- 命名约定:未新增任何代码标识符,保持现有文件命名和配置分段方式不变。
1806+
- 代码风格:采用最小改动策略,只移除检查链路本身,不碰数据库插件与 SQL 补全逻辑。
1807+
- 文件组织:变更集中在 CI、根配置和开发文档,没有扩散到业务 crate。
1808+
1809+
### 3. 对比了以下相似实现
1810+
- `.github/workflows/ci.yml`:原先的 `Typo check` 与 `Lint`/`Test` 同级串联;本次只移除 `Typo check`,保留其它检查链路。
1811+
- `Cargo.toml`:原先工具配置直接挂在 `workspace.metadata`;本次按同一入口直接删除,不改用 `_typos.toml` 等替代方案。
1812+
- `README.md` / `README_CN.md` / `CLAUDE.md`:原先都把 `typos` 列为开发命令;本次同步删除,保证文档与 CI 一致。
1813+
1814+
### 4. 未重复造轮子的证明
1815+
- 未继续维护刚才尝试过的白名单方案,避免在检查被整体移除后留下无用途配置。
1816+
- 未新建额外脚本或条件开关,直接删除原有入口,符合“去掉这个检查”的用户意图。
1817+
- 未修改 `crates/db` 与 `crates/db_view` 中的 SQL 字符串和测试字面量,避免无关变更。
1818+
1819+
## 验证记录 - typos-ci-fix
1820+
- `cargo metadata --format-version 1 --no-deps >/dev/null`:通过,确认移除 `workspace.metadata.typos` 后根 `Cargo.toml` 仍然有效。
1821+
- 使用搜索验证 `Cargo.toml|README.md|README_CN.md|CLAUDE.md|*.yml` 中的 `typos`:无匹配,说明 CI、根配置和开发文档中的 `typos` 入口已全部移除。
1822+
- `git diff -- .github/workflows/ci.yml Cargo.toml README.md README_CN.md CLAUDE.md`:确认差异仅包含删除 `typos` 检查步骤、配置和文档说明。
1823+
1824+
## 编码前检查 - encourage-unused-imports
1825+
时间:2026-03-26 10:18:25 +0800
1826+
1827+
- 已查阅上下文摘要文件:`.claude/context-summary-encourage-unused-imports.md`
1828+
- 将使用以下可复用组件:
1829+
- `main/src/encourage.rs`:当前纯渲染实现,作为直接修复目标。
1830+
- `main/src/setting_tab.rs`:`SettingsPanel` 的 `TabContent` / `TabContentEvent` 正常使用模式。
1831+
- `main/src/home_tab.rs`:`HomePage` 的 `TabContent` / 交互 trait 正常使用模式。
1832+
- 将遵循命名约定:不新增命名,只清理实际未使用导入。
1833+
- 将遵循代码风格:采用最小修改原则,不调整渲染逻辑和页签行为。
1834+
- 确认不重复造轮子:这是现有文件的遗留导入问题,只需对齐当前职责并删除无用项,无需引入额外封装。
1835+
1836+
## 编码后声明 - encourage-unused-imports
1837+
时间:2026-03-26 10:19:36 +0800
1838+
1839+
### 1. 复用了以下既有组件
1840+
- `main/src/encourage.rs`:保留现有支持内容渲染结构,只调整文件顶部导入列表。
1841+
- `main/src/setting_tab.rs`:作为真正实现 `TabContent`/`TabContentEvent` 的参考,确认当前文件不再需要这些导入。
1842+
- `main/src/home_tab.rs`:作为真正依赖 `InteractiveElement`/`StatefulInteractiveElement`/`Window` 的参考,确认当前文件导入应与职责一致。
1843+
1844+
### 2. 遵循了以下项目约定
1845+
- 命名约定:未引入新标识符,仅清理导入。
1846+
- 代码风格:保持 Rust 导入分组和多行格式,与仓库现有写法一致。
1847+
- 文件组织:改动收敛在 `main/src/encourage.rs` 和 `.claude` 留痕文件,没有扩散到其他模块。
1848+
1849+
### 3. 对比了以下相似实现
1850+
- `setting_tab.rs`:该文件确实实现了 `impl EventEmitter<TabContentEvent>` 和 `impl TabContent`,因此保留相关导入;`encourage.rs` 没有这些实现,所以不应照搬。
1851+
- `home_tab.rs`:该文件的交互 trait 导入服务于真实方法调用和页签实体实现;`encourage.rs` 已退化为纯渲染模块,不再需要这些 trait。
1852+
- `encourage.rs` 当前正文:全文只有渲染辅助函数和数据加载结构,没有使用 `Window` 或 `TabContentEvent` 的签名或类型位点。
1853+
1854+
### 4. 未重复造轮子的证明
1855+
- 未为 unused import 问题增加 `#[allow(unused_imports)]` 之类的规避性属性。
1856+
- 未修改任何 UI 结构、页签注册或渲染逻辑,只做真正必要的导入清理。
1857+
1858+
## 验证记录 - encourage-unused-imports
1859+
- `cargo check -p main --all-targets`:通过,确认 `main/src/encourage.rs` 的 unused imports 已消失,且 `main` crate 全 targets 仍可编译。

‎.claude/verification-report.md‎

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,74 @@
507507

508508
---
509509

510+
## 审查报告(typos-ci-fix 实现)
511+
生成时间:2026-03-26 10:12:34 +0800
512+
513+
### 需求完整性检查
514+
- 目标明确:移除仓库中的 `typos` 检查链路,消除 GitHub 流程中的相关失败。
515+
- 范围明确:包含 CI workflow、根 `Cargo.toml` 工具配置,以及 README / README_CN / CLAUDE 的开发命令说明。
516+
- 交付物明确:代码修改、上下文摘要、操作日志、本地验证和审查报告均已落地。
517+
- 风险与依赖明确:`.claude` 历史记录仍会保留 `typos` 字样,但它们不属于生效检查入口。
518+
519+
### 技术维度评分
520+
- 代码质量:97/100
521+
- 测试覆盖:88/100
522+
- 规范遵循:95/100
523+
524+
### 战略维度评分
525+
- 需求匹配:98/100
526+
- 架构一致:96/100
527+
- 风险评估:93/100
528+
529+
### 综合评分
530+
- 95/100
531+
- 建议:通过
532+
533+
### 结论
534+
- CI 已移除 `typos` 检查:[`ci.yml`](/Users/hufei/RustroverProjects/onetcli/.github/workflows/ci.yml) 删除了 `Typo check` 步骤,GitHub workflow 不再安装或执行 `typos-cli`。
535+
- 根配置已清理:[`Cargo.toml`](/Users/hufei/RustroverProjects/onetcli/Cargo.toml) 删除了整个 `workspace.metadata.typos` 配置段,仓库不再维护 `typos` 白名单或标识符例外。
536+
- 开发文档已同步:[`README.md`](/Users/hufei/RustroverProjects/onetcli/README.md)、[`README_CN.md`](/Users/hufei/RustroverProjects/onetcli/README_CN.md)、[`CLAUDE.md`](/Users/hufei/RustroverProjects/onetcli/CLAUDE.md) 均已删除 `typos` 开发命令,避免文档与 CI 不一致。
537+
- 本地验证有效:`cargo metadata --format-version 1 --no-deps >/dev/null` 通过,且针对核心入口文件的 `typos` 搜索结果为 0。
538+
539+
### 剩余风险
540+
- 如果后续仍希望保留拼写检查能力,需要重新选择替代工具或恢复新的检查链路;当前仓库已完全不再依赖 `typos`。
541+
542+
---
543+
544+
## 审查报告(encourage-unused-imports 实现)
545+
生成时间:2026-03-26 10:19:36 +0800
546+
547+
### 需求完整性检查
548+
- 目标明确:修复 Linux / Windows CI 在 `main/src/encourage.rs` 上的 unused imports 失败。
549+
- 范围明确:只清理 `encourage.rs` 顶部的遗留导入,不改渲染行为。
550+
- 交付物明确:代码修复、上下文摘要、操作日志、本地验证和审查报告均已补齐。
551+
- 风险与依赖明确:`gpui` 某些链式方法依赖 trait 导入,因此必须以编译结果校验是否误删必要 trait。
552+
553+
### 技术维度评分
554+
- 代码质量:97/100
555+
- 测试覆盖:90/100
556+
- 规范遵循:97/100
557+
558+
### 战略维度评分
559+
- 需求匹配:98/100
560+
- 架构一致:97/100
561+
- 风险评估:94/100
562+
563+
### 综合评分
564+
- 96/100
565+
- 建议:通过
566+
567+
### 结论
568+
- 遗留导入已清理:[`encourage.rs`](/Users/hufei/RustroverProjects/onetcli/main/src/encourage.rs) 删除了未使用的 `InteractiveElement`、`StatefulInteractiveElement`、`Window`、`TabContent`、`TabContentEvent`。
569+
- 必要 trait 仍保留:[`encourage.rs`](/Users/hufei/RustroverProjects/onetcli/main/src/encourage.rs) 继续保留 `ParentElement`、`Styled`、`IntoElement`、`StyledImage` 等当前渲染链真实依赖的导入。
570+
- 修复方式符合现有模式:对比 [`setting_tab.rs`](/Users/hufei/RustroverProjects/onetcli/main/src/setting_tab.rs) 与 [`home_tab.rs`](/Users/hufei/RustroverProjects/onetcli/main/src/home_tab.rs) 后,本次仅让 `encourage.rs` 的导入与其“纯渲染 helper”职责重新一致。
571+
- 本地验证有效:`cargo check -p main --all-targets` 已通过。
572+
573+
### 剩余风险
574+
- 当前只验证了本地 `main` crate 的全 target 编译;如果远端 CI 还存在缓存或其他分支差异,需要以最新提交重新跑一次流程确认。
575+
576+
---
577+
510578
## 审查报告(db-connection-form-ssh-ssl-fixed 实现)
511579
生成时间:2026-03-25 21:57:00 +0800
512580

‎.github/workflows/ci.yml‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@ jobs:
4646
~/.cargo/git/db/
4747
target/
4848
key: test-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
49-
- name: Typo check
50-
if: ${{ matrix.run_on == 'macos-latest' }}
51-
run: |
52-
cargo install typos-cli || echo "typos-cli already installed"
53-
typos
5449
- name: Lint
5550
if: ${{ matrix.run_on == 'macos-latest' }}
5651
run: |

‎CLAUDE.md‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ cargo clippy -- --deny warnings
4040
# Format check
4141
cargo fmt --check
4242

43-
# Spell check
44-
typos
45-
4643
# Unused dependency check
4744
cargo machete
4845

‎Cargo.toml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,3 @@ lsp-types = { opt-level = 3 }
201201
reqwest_client = { opt-level = 3 }
202202
markdown = { opt-level = 3 }
203203
xml5ever = { opt-level = 3 }
204-
205-
[workspace.metadata.typos]
206-
files.extend-exclude = ["**/fixtures/*"]
207-
208-
[workspace.metadata.typos.default.extend-identifiers]
209-
consts = "consts"

‎README.md‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ cargo clippy -- --deny warnings
120120

121121
# Format check
122122
cargo fmt --check
123-
124-
# Spell check
125-
typos
126123
```
127124

128125
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development guide.

‎README_CN.md‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ cargo clippy -- --deny warnings
120120

121121
# 格式检查
122122
cargo fmt --check
123-
124-
# 拼写检查
125-
typos
126123
```
127124

128125
详细开发指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。

‎main/src/encourage.rs‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
// 支持作者页签面板
33
// ============================================================================
44

5-
use gpui::{AnyElement, App, ClickEvent, FontWeight, Image, ImageFormat, InteractiveElement, ParentElement, SharedString, StatefulInteractiveElement, Styled, Window, div, img, px, IntoElement, StyledImage};
5+
use gpui::{
6+
AnyElement, App, ClickEvent, FontWeight, Image, ImageFormat, IntoElement, ParentElement,
7+
SharedString, Styled, StyledImage, div, img, px,
8+
};
69
use gpui_component::button::{Button, ButtonVariants as _};
710
use gpui_component::clipboard::Clipboard;
811
use gpui_component::{ActiveTheme, Icon, IconName, Sizable, h_flex, v_flex};
9-
use one_core::tab_container::{TabContent, TabContentEvent};
1012
use rust_i18n::t;
1113
use std::sync::Arc;
1214

0 commit comments

Comments
 (0)