Skip to content

feat(macos): 补齐全局编辑器样式与 VS Code/IDEA 语法配色 - #1568

Merged
1lck merged 5 commits into
previewfrom
codex/macos-global-style
Oct 30, 2026
Merged

1lck merged 5 commits into
previewfrom
codex/macos-global-style

Conversation

@arkleselect

@arkleselect arkleselect commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

改动

macOS 编辑器此前只暴露部分外观选项,源码高亮固定使用内置色表。本次在「设置 → 编辑器」补齐所有项目共享的样式配置,修改后即时作用于已有及新建源码视图,并持久化保存。

  • 复用现有字体选择、软换行和缩略图设置;字号支持 6–72,新增自动行高或 1–3 倍行间距、字体连字。
  • 新增独立源码配色:Lithe、GitHub、One、VS Code Dark/Light 2026、IntelliJ IDEA Islands 深浅配色。配色随界面明暗切换,不改变工作台主题;注释斜体可设置。
  • 彩色配对括号归属语法高亮方案:IDEA 关闭,其余内置方案启用,只读显示状态,不提供手动开关或持久化覆盖。
  • IDEA Java 方法调用、静态方法使用正文色,普通方法声明使用声明色;共享语义编码保留 declaration/static,词法阶段保持 Java 方法名中性着色。
  • 增加绝对/相对/隐藏行号、空白符模式、缩进引导线、当前行高亮、固定作用域标题、平滑滚动、末行后滚动、光标样式与闪烁方式。
  • 更新已有编辑器和后续分栏的显示选项,保留模型、光标和撤销历史;Git 作者栏与相对/隐藏行号兼容,设置更新、关闭作者栏及切换标签后保留所选模式。
  • 新字段逐项校验和回退,支持恢复默认;同步中英文词条、设置搜索、能力矩阵与决策笔记。
  • GitHub/One 色表从 Windows 目录原样移动到共享编辑器目录,Windows 更新导入路径;新增上游配色附固定来源、许可证和 NOTICE,并随编辑器资源打包。补齐资源隔离清单、验证和构建说明。

范围

作用于 macOS 主源码编辑器、分栏、独立文件窗口和完整源码预览。原生 Diff、SQL 控制台、终端与结果片段沿用各自排版。本次不实现 VS Code/IDEA 检测或配置导入,也不包含 Java Support 导航增强。配色按现有词法/语义角色映射,不承诺完整复现上游所有语言规则。

已同步 1lck/Lithe-IDEA preview 48c27485c,保留全局样式及硬链接保存功能的翻译词条。

验证

  • 本地提交前审查:未发现需要阻塞合并的问题。
  • 真实 WebKit 工作台集成检查:98 项通过,包含配色、分栏、撤销保留、IDEA 方法分类和 Git 作者栏行号回归。
  • 共享语义 token / TextMate 限制测试:15 项通过(macOS Bun 执行,不等同 Windows 原生验收)。
  • i18n:35 项通过;资源复用:27 项通过。
  • 功能矩阵内容及变更门禁、共享契约、服务/编辑器/Windows 边界、应用语言、Agent Notes、运行时 bundle 只读检查通过。
  • Swift 针对性测试:94 项、5 个测试组通过,使用仓库要求的 Swift 6.3.3,覆盖 AppSettings、MonacoWorkbenchTheme、SettingsSearchVocabulary、ContextMenuCoverage 和 EditorFontFamily。

此前在基线 21e03f704 做过完整 Swift 对照:改动版与干净基线均出现相同的 4 个失败测试(Git 日期筛选、Native Diff 额外行配对、Diff 标题布局、Git graph 悬停)。未将全量测试标为通过,也未夹带修复无关基线问题;同步最新 preview 后重新执行受影响的针对性测试。

完整产品的多项目、重启及全部设置布局验收,和 Windows WebView2 原生验收仍待完成,功能矩阵保留 pending。测试启动的探针按生命周期退出。

合入 preview 后的 CI 修复

文件访问层已将符号链接错误细分为 DocumentFileAccessError.symbolicLink,Agent 文件回滚测试仍期待旧的 CocoaError,导致 Swift CI 唯一失败。更新该测试为精确匹配符号链接错误,保留链接恢复、目标内容不变和临时路径清理的全部断言。

验证:Swift 6.3.3 下 AgentEditRestorerTests、DocumentHardLinkTests、DocumentOpenAndHardLinkWorkflowTests 共 41 项通过;测试稳定性、功能矩阵及运行时 bundle 只读检查通过。

@ghfind-review ghfind-review Bot added the review: medium ghfind author score; see https://ghfind.com label Oct 29, 2026
@lithe-code-review

lithe-code-review Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Lithe Review

结论: ⚠️ 有建议
范围: preview ← codex/macos-global-style · head: a4d8f01

未发现需要阻塞合并的问题。

Scope Check

  • 关联需求:未找到可验证的关联 Issue;按 PR 描述核对实现范围。
  • 已完成范围:全局样式设置、字段校验与持久化、现有及后续分栏更新、共享配色、语义修饰符保留,以及 i18n、资源清单和决策笔记。
  • 未完成范围:完整产品 UI、多项目、重启恢复及 Windows WebView2 原生验收;功能矩阵已保留 pending。
  • 上游复用:沿用 Monaco 显示选项、TextMate 和 LSP 语义信息,未发现新增平行语言事实来源。
  • 未形成满足证据门槛的代码 Finding;建议均属于本次界面与验证范围。

Suggestions

  1. 补充设置页和源码编辑器的前后对比截图,展示中英文、深浅外观及分栏效果。当前提供的上下文没有截图,视觉效果尚未验证。
  2. 完成矩阵列出的产品与 Windows 原生验收后,再更新验证状态。

Summary

改动沿用现有设置存储和编辑器更新路径,新增选项通过 updateOptions 应用,未重建文档模型。共享配色移动、许可证打包和运行时只读边界相互一致。现有测试覆盖了主要配置与编辑器状态回归,完整产品交互仍需验收。

Verification

  • 静态检查:核对完整 34 文件清单,确认 GitHub/One 为原样移动;追踪 AppSettings → MonacoWorkbenchDisplayConfiguration → configure → updateOptions,以及配色、Java 词法/语义映射、Git 作者栏行号和 Windows 导入路径。生成资源正文未读取。
  • 作者报告:WebKit 98 项、共享语义/TextMate 15 项、i18n 35 项、资源复用 27 项、Swift 针对性测试 94 项通过,相关边界检查通过;全量 Swift 未宣称通过。
  • 已提供的 head Check Runs 均为 queued,尚无最终 CI 结果。
  • 本次仅做只读静态审查,未运行代码、测试或验证脚本,未访问网络。
  • 验证缺口:需补充上述界面前后截图;完整产品 UI、多项目、重启及 Windows 原生效果尚未验证。

@xiaoyumuxi xiaoyumuxi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review 结论

建议修改 1 项 P2;未发现需要阻塞合并的问题。具体问题见行内评论。

审查范围:43a31d4b → c79a09b2。已检查设置持久化、Swift→Monaco 配置链路、主题与新增测试;i18n、运行时 bundle 只读边界、编辑器/Windows 架构边界、平台功能矩阵、Agent Notes 和针对本次提交范围的测试稳定性静态检查通过。使用现有 Monaco 渲染器的最小 Node 探针确认:关闭行号后断点元素输出为空。

未启动 Lithe,未重跑完整 Swift、WebKit 或 Windows 测试;上述静态检查和探针不替代原生运行时验收。

Comment thread macos/Sources/Lithe/Models/Settings/EditorAppearanceSettings.swift
@1lck
1lck merged commit 5bcb227 into preview Oct 30, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: medium ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants