UIA Word Navigation #4406

Closed
opened 2026-01-30 23:46:08 +00:00 by claunia · 7 comments
Owner

Originally created by @carlos-zamora on GitHub (Oct 11, 2019).

Originally assigned to: @carlos-zamora on GitHub.

Description of the new feature/enhancement

UIATextRanges don't know how to move by "word" because a terminal doesn't really know what a "word" is. This is a place to discuss what that should look like.

Proposed technical implementation details (optional)

For Windows Terminal, the user defined "wordDelimiters" and the space character could be used for this.

For ConHost, the user can't define a "wordDelimiter". So, should we just use the space character?

Originally created by @carlos-zamora on GitHub (Oct 11, 2019). Originally assigned to: @carlos-zamora on GitHub. # Description of the new feature/enhancement UIATextRanges don't know how to move by "word" because a terminal doesn't really know what a "word" is. This is a place to discuss what that should look like. # Proposed technical implementation details (optional) For Windows Terminal, the user defined "wordDelimiters" and the space character could be used for this. For ConHost, the user can't define a "wordDelimiter". So, should we just use the space character?
Author
Owner

@carlos-zamora commented on GitHub (Oct 11, 2019):

Related to #2160. Might even be the same??

@carlos-zamora commented on GitHub (Oct 11, 2019): Related to #2160. Might even be the same??
Author
Owner

@ghost commented on GitHub (Oct 11, 2019):

I don't think its the same as #2160 since the text navigation helpers explicitly decide that requests to move by word should just do line navigation instead.

@ghost commented on GitHub (Oct 11, 2019): I don't think its the same as #2160 since the text navigation helpers explicitly decide that requests to move by word should just do line navigation instead.
Author
Owner

@zadjii-msft commented on GitHub (Oct 25, 2019):

As an aisde, you technically can set wordDelimiters for conhost. We'll read that setting from the registry, but never exposed a UI for it ¯\_(ツ)_/¯

f8f0798826/doc/ConsoleHostSettings.md (L27)

9b92986b49/src/host/registry.cpp (L78-L116)

@zadjii-msft commented on GitHub (Oct 25, 2019): As an aisde, you technically _can_ set `wordDelimiters` for conhost. We'll read that setting from the registry, but never exposed a UI for it ¯\\\_(ツ)_/¯ https://github.com/microsoft/terminal/blob/f8f079882606247dcba6379dca20064bcffe65ef/doc/ConsoleHostSettings.md#L27 https://github.com/microsoft/terminal/blob/9b92986b49bed8cc41fde4d6ef080921c41e6d9e/src/host/registry.cpp#L78-L116
Author
Owner

@carlos-zamora commented on GitHub (Oct 25, 2019):

oooh. If that's the case, then we can make the UIA Provider read what the wordDelimiters are. Then, just have it read them differently according to the project. We already have a set of UIA Providers for ConHost and another for Terminal (both with the same base class).

@carlos-zamora commented on GitHub (Oct 25, 2019): oooh. If that's the case, then we can make the UIA Provider read what the `wordDelimiters` are. Then, just have it read them differently according to the project. We already have a set of UIA Providers for ConHost and another for Terminal (both with the same base class).
Author
Owner

@ghost commented on GitHub (Nov 8, 2019):

Why not use the definition of a word boundary as defined by unicode? http://www.unicode.org/reports/tr29/#Word_Boundaries

@ghost commented on GitHub (Nov 8, 2019): Why not use the definition of a word boundary as defined by unicode? http://www.unicode.org/reports/tr29/#Word_Boundaries
Author
Owner

@DHowett-MSFT commented on GitHub (Nov 8, 2019):

If somebody has the time to implement that as an alternative to user-requested word delimiters (fwiw: users want all sorts of things, and they were already fairly cross with us for shipping a delimiter set that included / and \ by default)), I'd entertain it 😄

I imagine the same would extend to "move by word"... but I'm not sure

@DHowett-MSFT commented on GitHub (Nov 8, 2019): If somebody has the time to implement that _as an alternative to user-requested word delimiters_ (fwiw: users want all sorts of things, and they were already fairly cross with us for shipping a delimiter set that included `/` and `\` by default)), I'd entertain it :smile: I imagine the same would extend to "move by word"... but I'm not sure
Author
Owner

@ghost commented on GitHub (Jan 14, 2020):

:tada:This issue was addressed in #3659, which has now been successfully released as Windows Terminal Preview v0.8.10091.0.🎉

Handy links:

@ghost commented on GitHub (Jan 14, 2020): :tada:This issue was addressed in #3659, which has now been successfully released as `Windows Terminal Preview v0.8.10091.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v0.8.10091.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4406