Skip to content

v1.8.46

Choose a tag to compare

@wudream813 wudream813 released this 06 Sep 10:01
· 87 commits to master since this release

v1.8.46 — 逻辑行历史 + 本地 reflow 引擎(地基)

为彻底解决「调整窗格宽度后历史排版」打地基。本版本是独立引擎模块,暂不改变显示行为;后续版本接入渲染/复制/搜索的历史数据源。

为什么不用「子终端无限宽」:pty 超宽会让全屏 TUI(vim/htop/less/man)按超宽绝对定位,本地软换行无法重排二维画布,TUI 与鼠标坐标错乱,命令行编辑器也会花屏。现代终端做法是实时屏保持视口尺寸(TUI 正确),历史存成逻辑行(按真实换行切分,软换行折下来的物理行合并),resize 时只在本地对历史 reflow。

  • 新增 loghist 模块:LogHistory 环形缓冲按逻辑行存历史;区分硬/软换行(续行合并)、裁物理行尾空格;按当前宽度 reflow 计算显示行并输出。
  • 宽字符感知折行:CJK 与 emoji(代理对)在行边界整体折行、不拆半个字;空行硬放避免超宽 glyph 死循环。
  • 环形淘汰最老逻辑行。
  • 新增 verify_loghist.py 七组纯函数回归,纳入 verify_all。

校验:单元测试 309/0 failed;verify_all.py 全过;MinGW gcc/g++ × x86_64/i686 四套 -Wall -Wextra -Werror。