Skip to content

Enable IME marked text on Windows and Linux#10122

Open
rikarazome wants to merge 2 commits intowarpdotdev:masterfrom
rikarazome:fix/enable-ime-marked-text-all-platforms
Open

Enable IME marked text on Windows and Linux#10122
rikarazome wants to merge 2 commits intowarpdotdev:masterfrom
rikarazome:fix/enable-ime-marked-text-all-platforms

Conversation

@rikarazome
Copy link
Copy Markdown

@rikarazome rikarazome commented May 5, 2026

Summary

  • Remove the macOS-only #[cfg(target_os = "macos")] guard on ImeMarkedText in RELEASE_FLAGS, enabling it for Windows and Linux release builds
  • Add ime_marked_text to the gui cargo feature so OSS/local builds also get IME composition text display by default

Context

The IME preedit (composition) text implementation is already fully platform-agnostic:

  • winit IME event handling dispatches SetMarkedText/ClearMarkedText on all platforms
  • grid_renderer draws marked text inline with underline decoration
  • Editor view handles marked text with proper Vim mode checks
  • Dogfood builds have had this enabled on all platforms via DOGFOOD_FLAGS

The only thing preventing it from working in release builds on Windows/Linux was the feature flag gate.

Test plan

  • Built and tested on Windows 11 with Japanese IME (Microsoft IME)
  • Confirmed preedit text (hiragana before kanji conversion) displays inline during composition
  • Confirmed text commits correctly after candidate selection
  • Linux IME testing (ibus/fcitx) — not tested locally, relying on CI and community validation

Fixes #7987
Fixes #3403
Related: #6891

rikarazome and others added 2 commits May 5, 2026 11:44
Remove the macOS-only cfg guard on ImeMarkedText in RELEASE_FLAGS.
The implementation (event handling, grid rendering, editor support)
is already platform-agnostic and has been active in dogfood builds
on all platforms.

Fixes warpdotdev#7987
Fixes warpdotdev#3403
Related: warpdotdev#6891

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Two changes to enable inline IME composition (preedit) text display
on all platforms:

1. Remove the macOS-only cfg guard on ImeMarkedText in RELEASE_FLAGS
   so release builds enable the flag on Windows and Linux.
2. Add ime_marked_text to the gui cargo feature so OSS/local builds
   also get IME support by default.

The underlying implementation (winit event handling, grid renderer,
editor marked text support) is already platform-agnostic and has been
validated in dogfood builds on all platforms.

Tested locally on Windows with Japanese IME - preedit text now
displays inline with underline decoration during composition.

Fixes warpdotdev#7987
Fixes warpdotdev#3403
Related: warpdotdev#6891

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 5, 2026

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @rikarazome on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 5, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 5, 2026

@rikarazome

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

oz-for-oss[bot]
oz-for-oss Bot previously requested changes May 5, 2026
Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR enables the existing IME marked-text feature for release builds on Windows/Linux and includes the Cargo ime_marked_text feature in GUI builds.

Concerns

  • This is user-visible IME composition rendering behavior, but the PR description does not include screenshots or a video demonstrating the feature working end to end. For faster review, please upload screenshots or a video of the feature working end to end.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@rikarazome
Copy link
Copy Markdown
Author

rikarazome commented May 5, 2026

Screenshots

IME composition text working on Windows 11

Screenshot 2026-05-05 124222

Preedit text (「てすとてすて」) is displayed inline with underline decoration at the cursor position. The IME candidate window appears and text commits correctly after selection.

Note: The IME candidate window positioning could be improved (it overlaps the input area when the cursor is near the bottom of the terminal), but that is a pre-existing issue in update_ime_position and is out of scope for this PR.

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label May 5, 2026
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 5, 2026

The cla-bot has been summoned, and re-checked this pull request!

@rikarazome
Copy link
Copy Markdown
Author

@cla-bot check

@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 5, 2026

The cla-bot has been summoned, and re-checked this pull request!

@rikarazome
Copy link
Copy Markdown
Author

C:/Program Files/Git/oz-review

@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 5, 2026

@rikarazome

I'm re-reviewing this pull request in response to a review request.

You can view the conversation on Warp.

I reviewed this pull request and requested human review from: @warpdotdev/oss-maintainers.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot dismissed their stale review May 5, 2026 04:30

Oz no longer requests changes for this pull request after the latest automated review.

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR enables the existing IME marked-text feature for Windows and Linux release builds and includes it in the GUI cargo feature for OSS/local graphical builds. The changed gates align with the platform-agnostic marked-text handling already present in the editor and terminal paths.

Concerns

  • No blocking correctness, security, or spec-alignment concerns found in the changed lines.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot requested review from a team and kevinchevalier and removed request for a team May 5, 2026 04:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Japanese IME pre-conversion text not displayed on Windows Text input in multi-byte Japanese doesn't appear until confirmation

1 participant