Skip to content

feat: 添加辅助码功能 - #68

Open
mosaic-roll wants to merge 59 commits into
huanfeng:mainfrom
mosaic-roll:feat/aux-code
Open

feat: 添加辅助码功能#68
mosaic-roll wants to merge 59 commits into
huanfeng:mainfrom
mosaic-roll:feat/aux-code

Conversation

@mosaic-roll

Copy link
Copy Markdown

变更说明

添加了辅助码功能,在双拼中测试可用

已实现的功能:

  1. 双拼中,按反斜杠进入辅助码模式,可连续输入辅助码对候选词进行过滤。用法:单字,输入完整辅助码。词组,每字的首位辅助码(例:人 pd,人间 pm)。退格或esc退出辅助码模式。
  2. 内置了小鹤、自然码、笔画辅助码。可以同时加载多个码表。双拼默认小鹤,全拼默认笔画。
  3. 可读取辅助码表开头的name字段显示码表名称。
  4. 定义了几个选项,可以设置码表、过滤模式、词组长度上限、触发键(但不可用)。

但存在以下问题:

  1. 没有设置界面。
  2. 目前默认的触发键是反引号,全拼下和划分音节的符号冲突了,因此全拼下不可用(但实在想不出还能用什么键了)。全拼下没测试过,但应该可用。
  3. 码表目前是全量吞进内存里的,所以没办法用太大的表。
  4. 触发按键写在了 shuangpin.schema.tomlpinyin.schema.toml中,目前这个配置好像没法改。

其他:

  1. 搜狗之类的输入法,辅助码触发键是tab,理想情况下这个输入法的触发键也应该是tab。
    更理想的情况下,触发键应该可以和翻页键占用同一个键位(tab进入辅助码模式+tab翻页),往回翻页翻到第一页可以退出辅助码模式。
    但这个功能需要修改太多东西了。但还是希望能实现。
  2. 笔画表其实也应该能在拼音里进入笔画模式(直接用笔画输入),但那样的话,可能现在存储的位置不太合适。

实在是蹬不动了。

变更类型

  • Bug 修复
  • 新功能
  • 重构 / 代码优化
  • 文档更新
  • 构建 / CI 相关
  • 其他(请说明)

相关 Issue

测试情况

  • 已在 Windows 10/11 上测试
  • 已在 macOS 上测试(如涉及)
  • 已测试相关输入方案(五笔/拼音/混输)
  • .\scripts\dev.ps1 ci 通过(fmt 检查 + clippy + 测试)

检查清单

  • Rust 代码已用 cargo fmt 格式化(逻辑修改与 fmt 修改分开提交)
  • 提交信息遵循 Conventional Commits 规范
  • 修改了 crate 对外接口/文件结构时,已同步更新对应 AGENTS.md
  • 已阅读 贡献指南
  • 首次贡献已签署 CLA

@huanfeng

Copy link
Copy Markdown
Owner

感谢提交PR.
此pr有些细节问题:
1.提交消息的风格和仓库的风格不统一
2.cargo fmt 和 ci 的验证脚本不过

另外,main 分支的变化比较快,我建议你把散落的commit进行整理,在最新的main上重新补上,签署CLA(之前有错误)

@huanfeng

Copy link
Copy Markdown
Owner

recheck

@github-actions

Copy link
Copy Markdown

感谢您的贡献!在我们合并此 PR 之前,您需要签署贡献者许可协议 (CLA)。

请阅读 CLA 文档,然后在此评论区回复以下内容以完成签署:

I have read the CLA Document and I hereby sign the CLA


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants