Repository navigation
[提案] 把 ui-deliverables 的 FileDiff(带行号 diff 审阅渲染)提升为 ui-primitives 的可复用组件 #9148
KannaKuron
started this conversation in
Ideas
Replies: 1 comment
|
补充一个实证结论(实测 dsh 0.1.7-rc.2 隔离实例):从插件 client bundle 所以这里的技术卡点比原帖说的更小:不是「跨包禁止」,而是 ui-deliverables 的包入口没有 re-export 组件—— 据此把请求收窄为更轻的选项(任一即可,按维护者偏好):
如果方向 OK,两种方案我都可以出 PR。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
背景
插件生态里展示 git diff 是常见需求。以 dsh-ide-git(JetBrains 风格 Git 工具窗)为例:变更文件点击后的 diff 预览,希望能和产品自家的 diff 审阅视图(deliverables 的「本轮改动」)保持同一视觉与能力。
现状是两个组件各管一头:
于是插件只有两个都不理想的选择:用 DiffBlock(与官方审阅视图割裂、无行号),或者照着 FileDiff 重写一份布局(临时可用,官方演进后会漂移)。dsh-ide-git v0.14.2 就走了第二条路,所以对这个漂移有切身体会。
观察
FileDiff 组合的积木其实已经在 seed 表里:useCodeHighlighter(共享懒加载 Shiki)、languageForPath,以及 --dsw-alias-file-diff-added/deleted-gutter/marker/bg 这组 file-diff alias token。缺的只是组件本体的布局层。
提议
把 FileDiff 的行号 diff 渲染提升为 ui-primitives 的可复用组件(比如 LineDiffBlock,或给 DiffBlock 增加行号模式),deliverables 自身改为消费它:
愿意提 PR 承担迁移与测试;如果方向上更倾向于给 DiffBlock 加行号模式而不是新组件,也完全可以按维护者的偏好来。
All reactions