Skip to content

Implement more modern word-wise cursor navigations #15787

Open
@lhecker

Description

@lhecker

Description of the new feature/enhancement

Conhost and Windows Terminal currently use the classic Windows algorithm, which is also used by Notepad and Visual Studio. Given 3 classes of characters - whitespace, delimiters and regular text - it works something like this:

  • Forward navigation:
    • Skip text until (after) you encounter a different character class
    • Skip whitespace
  • Backward navigation:
    • Skip whitespace
    • Skip text until (before) you encounter a different character class

In comparison Visual Studio Code's navigation works like this:

  • Forward navigation:
    • Skip whitespace
    • Skip 1 glyph
    • Skip text until (before) you encounter a different character class
  • Backward navigation:
    • Skip whitespace
    • Skip 1 glyph
    • Skip text until (before) you encounter a different character class

Due to this symmetry navigating forward/backward will produce consistent and identical results. It'll feel more "intuitive" to new users.

Risk

People can be very picky about changes to our word selection algorithm. Double-clicking words needs to behave similar/identical to before. Cursor navigation needs to be at least so close that no one will feel bothered by it. There should be an opt-out if not at least via a registry key, just in case things go bad.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-CookedReadThe cmd.exe COOKED_READ handlingIssue-TaskIt's a feature request, but it doesn't really need a major design.Needs-Tag-FixDoesn't match tag requirementsProduct-ConhostFor issues in the Console codebaseProduct-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions