AvaloniaUI / AvaloniaEdit

Avalonia-based text editor (port of AvalonEdit)
MIT License
746 stars 148 forks source link

Handling Selection get/set in TextInputMethodClient #421

Open Necromanika opened 5 months ago

Necromanika commented 5 months ago

What does the pull request do?

Handling selection change on TextArea and properly sync it with TextInputMethodClient callers.

What is the current behavior?

Currently TextInputMethodClient mostly ignore selection Set and doesnt respect TextEditor indexes of columns and rows.

What is the updated/expected behavior with this PR?

Working with IME

How was the solution implemented (if it's not obvious)?

The solution was achieved by correctly using column and row indexes. Also for word completion and correction work, the _emptySelection field was added, which is necessary to simulate changing the empty selection step by step (start and end) as it works in Avalonia TextBox.

Fixed issues

Fixes #417

Necromanika commented 5 months ago

@dotnet-policy-service agree