Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

word_append_space.lua 这个脚本如何移植到其他配置中? #33

Closed
dyphire opened this issue Apr 11, 2024 · 6 comments
Closed

Comments

@dyphire
Copy link

dyphire commented Apr 11, 2024

我在雾凇拼音的 iDvel/rime-ice#327 (comment) 中看到了这个脚本,但在尝试以补丁方式添加到雾凇中时无法使脚本生效,想请问下如何正确移植这个脚本呢?

@boomker
Copy link
Owner

boomker commented Apr 11, 2024

  1. 需要在rime.lua 中添加
    -- 适用于中文输入方案的中英文之间加空格
word_append_space = require("word_append_space")
word_append_space_filter = word_append_space.filter
word_append_space_processor = word_append_space.processor
  1. 在主配置文件里引用这两个Lua功能
    - lua_processor@word_append_space_processor
    - lua_filter@word_append_space_filter

另外你说的不生效,是指没有一点效果,还是在一些特定情况, 这个脚本还不是那么完美, 在一些情况下,用起来感觉像是没有效果的

@dyphire
Copy link
Author

dyphire commented Apr 11, 2024

通过进一步研究这个配置中的写法。我通过以下补丁使它生效了

patch:
  engine/processors/@before 0: lua_processor@word_append_space_processor
  engine/filters/+:
    - lua_filter@word_append_space_filter
    - uniquifier

但我在测试中发现输入英文时无论前面有没有输入中文它都会在单词前添加空格,这会是什么原因呢?

@boomker
Copy link
Owner

boomker commented Apr 11, 2024

但我在测试中发现输入英文时无论前面有没有输入中文它都会在单词前添加空格,这会是什么原因呢?


这个脚本在处理换行时, 或者当前行全部删除重新编辑时,会有这样的情况。
这个问题有点难以解决, Rime程序没法捕获你编辑时所有按键和编辑的状态。

@dyphire
Copy link
Author

dyphire commented Apr 11, 2024

但我在测试中发现输入英文时无论前面有没有输入中文它都会在单词前添加空格,这会是什么原因呢?

这个脚本在处理换行时, 或者当前行全部删除重新编辑时,会有这样的情况。 这个问题有点难以解决, Rime程序没法捕获你编辑时所有按键和编辑的状态。

但我遇到的问题是只要输入英文它就会自动在前面添加空格,英文后输入中文它会正常地在中间添加空格。现在困扰我的是如何让它只在中文之后输入英文的时候才在前面加空格

@boomker
Copy link
Owner

boomker commented Apr 11, 2024

你的意思是,前一个输入英文单词后, 后面再输入一个英文单词不用在前面添加空格是吗?
当你在一个 app 输入了中文, 换到另一个 app 后输入英文, 可能还是会在英文前面添加空格,
貌似 Librime-lua 还没探测 app 切换的接口,所以没法在 app 切换后准确的得知是否添加空格。

@dyphire
Copy link
Author

dyphire commented Apr 11, 2024

你的意思是,前一个输入英文单词后, 后面再输入一个英文单词不用在前面添加空格是吗? 当你在一个 app 输入了中文, 换到另一个 app 后输入英文, 可能还是会在英文前面添加空格, 貌似 Librime-lua 还没探测 app 切换的接口,所以没法在 app 切换后准确的得知是否添加空格。

我遇到的问题是每一次输入英文都会添加空格,即使是第一次输入也是如此
不过看上去确实存在很多由于 rime 限制无法处理的场景,还是老老实实手动加空格吧

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

No branches or pull requests

2 participants