Repository navigation
feat(core): DECCKM/DECTCEM 模式位 (#28) - #232
Merged
Merged
Conversation
Private ?1 and ?25 are parsed into two explicit mode bits with accessors, the strict-mode reply test covers them, and the unsupported private samples move to an unimplemented sequence.
…ection case refs #28 Cursor visibility is handled now, so the strict-mode negative sample moves to an unimplemented private mode.
The keyboard encoder takes the application-cursor flag, the shell passes the parser mode bit, and keyboard_test covers the SS3 forms plus the unchanged modified and editing keys.
The candidate terminal does not expose the mode bit yet, so the helper returns false there instead of referencing a method it lacks.
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.
内容
补上 #28 计划中的模式位基础(状态层,本 PR 不接消费者):
CSI ? 1 h/l(DECCKM 应用光标键)CSI ? 25 h/l(DECTCEM 光标可见)Parser暴露mode_bits()/application_cursor_keys()/cursor_visible();其余私有 CSI 仍按原规则拒绝(strict 抛错、recovery 计数)。测试
reply_test新增 strict 模式断言:默认位正确、?1h+?25l生效、?1l+?25h复位;alternate_mode_test里两处"私有序列应被拒绝/忽略"的样例从?25l换成仍未实现的?12l(因为?25l现在是受支持模式)。本地:
reply_test、alternate_mode_test、experiments.core.test_recovery(35 tests)全部通过。边界
ESC O A等应用键序列,光标隐藏也还没影响绘制;这两项在下一片实现;Refs #28