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

如何实现顶字上屏 #43

Open
Kaiser-Yang opened this issue Dec 15, 2024 · 9 comments
Open

如何实现顶字上屏 #43

Kaiser-Yang opened this issue Dec 15, 2024 · 9 comments
Labels
enhancement New feature or request

Comments

@Kaiser-Yang
Copy link
Contributor

在进行五笔输入的时候,可以在输入第五个字符的时候,自动上屏前四码的第一候选,请问这个如何实现?

@wlh320
Copy link
Owner

wlh320 commented Dec 16, 2024

这个行为应该需要编辑器这边的插件配合。

现在输入第五个字符后的补全列表长什么样子?

@Kaiser-Yang
Copy link
Contributor Author

这个行为应该需要编辑器这边的插件配合。

现在输入第五个字符后的补全列表长什么样子?

image

image

@Kaiser-Yang
Copy link
Contributor Author

这个行为应该需要编辑器这边的插件配合。
现在输入第五个字符后的补全列表长什么样子?

image

image

期望效果:

image

@Kaiser-Yang
Copy link
Contributor Author

这个功能在 rime 里面是通过下面的字段控制的:

image

@wlh320 wlh320 added the enhancement New feature or request label Dec 17, 2024
@wlh320
Copy link
Owner

wlh320 commented Dec 17, 2024

试了一下,按现在的逻辑,输入第五个字符后 commit_text 拿不到东西,和用数字选择后的行为不太一样。不知道是不是我 Rime 的 API 用得不对,等有时间再研究一下。

@Kaiser-Yang
Copy link
Contributor Author

Kaiser-Yang commented Dec 17, 2024

试了一下,按现在的逻辑,输入第五个字符后 commit_text 拿不到东西,和用数字选择后的行为不太一样。不知道是不是我 Rime 的 API 用得不对,等有时间再研究一下。

如果设置了 max_code_length: 4,感觉输入五个字符确实应该拿不到东西。

@wlh320
Copy link
Owner

wlh320 commented Dec 17, 2024

哦,不对,我搞错了, 我直接 clone 下来了你的配置没有改,原版的 max_code_length 没有设置为 4。我修改后在 rime_api_console 里测试了一下似乎是可以获取到的。

那么现在的问题就在于 rime-ls 的实现逻辑。目前是先尝试获取当前的候选列表,候选为空就尝试获取 commit.text ,不为空则返回。而模拟顶字上屏的话,会同时拥有 commit.text 和候选列表,如果都返回的话对其他输入方案有没有影响还得再测试一下。

即使客户端把 commit.text 返回了,用 LSP 的方式服务端也没法控制客户端让其直接上屏,还是得在客户端这边写插件配合。我初步考虑感觉服务端不用做什么,不如直接在插件侧写一些代码判断当前输入串的长度,在客户端把这个功能做了。

@wlh320
Copy link
Owner

wlh320 commented Dec 17, 2024

#41 的朋友可能跟你有类似的需求,不过我当时觉得只返回第一个候选项和补全的理念相悖就没有合并。后来这位朋友又单独做了个插件,你可以参考下看看有没有帮助。

总之要想输入体验好,只做服务端确实还差得远,必须得有一个好的客户端插件才行。

@Kaiser-Yang
Copy link
Contributor Author

我想了一下,这个功能ls确实做不了。

等我空了在readme里加点nvim的配制并把一些有用的配制整理一下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants