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

feat: Add ime preedit text support #1959

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

jxlpzqc
Copy link

@jxlpzqc jxlpzqc commented Aug 3, 2023

Since some neovim gui (e.g. Neovim qt) support ime support, including ime preedit text display, and candidate window in correct position.
image

This pull request introduce such support to neovide.
image

The approach is to send event from keyboard_manager to renderer and add additional text rendered in cursor_renderer.

What kind of change does this PR introduce?

  • Feature

Did this PR introduce a breaking change?

  • No

@fredizzimo
Copy link
Member

Thanks, but I also have a simple implementation here main...fredizzimo:neovide:fsundvik/ime

That one is slightly more developed, since it renders an actual cursor as well, although range selections are not rendered yet.

It also renders as a part of the window itself rather than as a cursor, which will make it easier to support transparency for example, another thing that's missing from both our implementations currently.

I stopped working on it, since #1870, will change the rendering and transparency, so there will be some duplicate work to try to get the transparency work.

Finally, there need to be some kind of word wrapping when approaching the edges of the windows, so that the text don't go outside the Windows.

Do you think you can combine our changes, and implement the missing features range selections and wrapping? I think we can leave the transparency support until later.

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.

None yet

2 participants