Title: feat: markdown 表格闭合边框渲染 + CJK/emoji 宽度适配 by dengmik-commits · Pull Request #115 · lessweb/deepcode-cli · GitHub
Open Graph Title: feat: markdown 表格闭合边框渲染 + CJK/emoji 宽度适配 by dengmik-commits · Pull Request #115 · lessweb/deepcode-cli
X Title: feat: markdown 表格闭合边框渲染 + CJK/emoji 宽度适配 by dengmik-commits · Pull Request #115 · lessweb/deepcode-cli
Description: 概述
当前 deepcode-cli 的 markdown 表格仅原样输出 | col1 | col2 | 分隔符,排版简陋、宽度溢出时自动被 Ink 断行导致错乱。本次改动增加了闭合边框表格渲染、CJK 宽字符和 emoji 视觉宽度计算、单元格内自动换行,以及表格与普通文本分离渲染。
效果
变更
src/ui/components/MessageView/markdown.ts
新增 visualWidth(text) — 按终端列宽计算字符视觉宽度(CJK 字符、全角、emoji = 2 列,ASCII = 1 列)
新增 splitTableBlocks(text) — 从文本中检测和解析 markdown 表格(| col | col | + ---|---)
新增 renderTableBorder(rows, maxWidth) — 渲染闭合边框表格:
基于视觉宽度的列宽计算
列宽分配:窄列(#、状态、评论、日期)优先压缩,内容列保有最少 12 字符
单元格内逐字符自动换行,满格时在最后一个空格处截断
新增 renderMarkdownSegments(text, maxWidth) — 将文本拆分为 text/table/code 分段
renderMarkdown() 委托给 renderMarkdownSegments()(向后兼容)
src/ui/components/MessageView/index.tsx
内容渲染改用 renderMarkdownSegments() 返回的分段数组
表格 用
Open Graph Description: 概述 当前 deepcode-cli 的 markdown 表格仅原样输出 | col1 | col2 | 分隔符,排版简陋、宽度溢出时自动被 Ink 断行导致错乱。本次改动增加了闭合边框表格渲染、CJK 宽字符和 emoji 视觉宽度计算、单元格内自动换行,以及表格与普通文本分离渲染。 效果 变更 src/ui/components/MessageView/markdown.ts 新增...
X Description: 概述 当前 deepcode-cli 的 markdown 表格仅原样输出 | col1 | col2 | 分隔符,排版简陋、宽度溢出时自动被 Ink 断行导致错乱。本次改动增加了闭合边框表格渲染、CJK 宽字符和 emoji 视觉宽度计算、单元格内自动换行,以及表格与普通文本分离渲染。 效果 变更 src/ui/components/MessageView/markdown.ts 新增...
Opengraph URL: https://github.com/lessweb/deepcode-cli/pull/115
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:92d11ebb-32af-af5b-f8d4-43cd4d0095f1 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 955A:320E86:120C77:1A2121:6A4DFC51 |
| html-safe-nonce | 3318377679ed707f9b2a4480c1271e1f81d7e561acc6a5cdf757f88ed7bb2c9d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NTVBOjMyMEU4NjoxMjBDNzc6MUEyMTIxOjZBNERGQzUxIiwidmlzaXRvcl9pZCI6IjE4MzgzMzEyMTIzMjc2ODExMDUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 3bd76944ae066e193297adc52c7067c154e0c913450ee6e93c71be4be0c7a8cb |
| hovercard-subject-tag | pull_request:3734807623 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/lessweb/deepcode-cli/pull/115/files |
| twitter:image | https://avatars.githubusercontent.com/u/270912164?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/270912164?s=400&v=4 |
| og:image:alt | 概述 当前 deepcode-cli 的 markdown 表格仅原样输出 | col1 | col2 | 分隔符,排版简陋、宽度溢出时自动被 Ink 断行导致错乱。本次改动增加了闭合边框表格渲染、CJK 宽字符和 emoji 视觉宽度计算、单元格内自动换行,以及表格与普通文本分离渲染。 效果 变更 src/ui/components/MessageView/markdown.ts 新增... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5818716c93c6a2925b815402541a32814e43a7b1261c322b0c2df75224289566 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/lessweb/deepcode-cli git https://github.com/lessweb/deepcode-cli.git |
| octolytics-dimension-user_id | 118287711 |
| octolytics-dimension-user_login | lessweb |
| octolytics-dimension-repository_id | 1223512305 |
| octolytics-dimension-repository_nwo | lessweb/deepcode-cli |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1223512305 |
| octolytics-dimension-repository_network_root_nwo | lessweb/deepcode-cli |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 4314b1df11fa8a565684f3a72dc971e3785da365 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width