feat(cli): add built-in changelog viewer with styled paging - #77
Merged
Conversation
Add i18n public changelog APIs that embed docs/changelog/zh-CN.md and parse it by version heading. Add a third-level settings submenu with view-all and per-version entries, using the existing pager for output. Empty changelog shows a localized notice. Add unit and integration tests.
…entation Add format_changelog_text to render changelog markdown with emphasized version headings, accented section headings, gray body text, and two-space indentation. Rename docs/changelog/zh-CN.md to docs/changelog/CHANGELOG_ZH_CN.md, add v0.1.0 user-facing changelog content to the renamed file, and update the i18n include path.
Add root developer changelog and user-facing built-in changelog covering v0.1.0 initial release, v0.2.0 session statistics and Windows fixes, and v0.3.0 parser tool filtering and clipboard provider abstraction.
Add v0.3.1 and v0.4.0 entries to both changelog files and reorganize existing entries under standard Added/Changed/Fixed headings.
Add v0.4.1 entries for Read line diagnostic flags and Edit not-found hints, and v0.5.0 entries for the debug whitelist command, inline shortcut commands, expanded default shell whitelist, and prompt/tool description updates.
Add Unreleased entries for bang shell commands, built-in changelog viewer, and stable menu keys; add v0.7.0 entries for menu/command unification, parser order change, and copy-prompt submenu; add v0.6.0 entries for invoke parser and XML bare less-than fix.
Rename print_paged_collapsed to print_paged_three_lines and make it show three lines per key press for every page. Replace its uses in approval, handlers, command, and config, and update the format test.
SunYanbox
force-pushed
the
feat/changelog-viewer
branch
from
August 24, 2026 15:41
594674d to
830f29c
Compare
Add print_paged_diff that shows 20 lines on the first page and 10 lines per key press afterwards. Use it for approval preview and diff output, and update the Unreleased changelog entries.
Replace empty-changelog assertions with checks that the embedded changelog contains Unreleased and version entries, and that changelog_version returns Some for an existing version and None for a bogus one.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Add run_command coverage for menu, toggle and changelog branches, a changelog menu version-body test, and print_paged_diff pager tests. Raise command.rs/config.rs/pager.rs line coverage to at least 91%.
…u test Replace the cli.config.back text assertion with the numeric marker assertion already present, avoiding CI locale-dependent failures that poisoned the skill lock.
Add changelog menu invalid-input and config-menu changelog-entry tests, plus a write_pages_with pager test. Raise config.rs and pager.rs line coverage to at least 91%.
Add changelog_all, changelog_versions, changelog_version and set_locale wrapper to the developer changelog Unreleased section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a built-in changelog viewer to the
manualaid-clisettings menu. The changelog is embedded throughi18npublic APIs, parsed by## [version]headings, and displayed through a styled pager with three-line pages for general output and a 20/10-line diff pager.Changes
changelog_all,changelog_versions, andchangelog_versionpublic APIs in thei18ncrate.docs/changelog/CHANGELOG_ZH_CN.mdand add a root-level developer changelogCHANGELOG_ZH_CN.md.print_paged_three_linesandprint_paged_diffpager helpers, and use three-line paging for changelog and tool output.中文
摘要
在
manualaid-cli设置菜单中内置更新日志查看器。更新日志通过i18n公开接口嵌入并按## [版本]标题解析,使用带样式的分页器展示:普通输出每页三行,diff 输出首次 20 行、之后每次 10 行。变更
i18ncrate 中新增changelog_all、changelog_versions、changelog_version公开接口。docs/changelog/CHANGELOG_ZH_CN.md,并新增根目录开发者更新日志CHANGELOG_ZH_CN.md。print_paged_three_lines和print_paged_diff分页辅助,更新日志和工具输出使用每页三行分页。