microsoft / microsoft/terminal

Allow user customization of the word boundary character classes, ala PuTTY, but better

Open
#19,719 1 comment 1 reaction 0 assignees View on GitHub
Area-Settings Area-TerminalControl Issue-Scenario Priority-3 Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

### Description of the new feature

Is there any way to switch wt to double-click-select chunk of text consisting of predefined character set, in a conventional way, same as vim (iskeyword) or putty (character classes) do for example? I know the character set I'm working with, and what should make my double-click selection, so I can enumerate it (ascii minus some chars). Otherwise I need to put almost all Unicode table to avoid sporadic UI symbols (like border elements, or file-type icons, etc) being selected as a part of the filename, keyword, variable, url, etc. Sporadically getting these symbols copied is distracting and getting annoying over time. Is this just because I don't understand what is the logic behind taking "word delimiters" approach and not providing all Unicode chars that's not a word as a default value, so I have to maintain my own list of known delimiters I hit by the time? Please explain.

### Proposed technical implementation details

Use "Double-click selection delimiter chars" if it's not empty, and "Double-click selection character set" otherwise.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing double-click selection delimiter handling and the related settings or configuration entry points. Compare the proposed precedence between custom delimiter characters and a custom character set, then verify that double-click selection follows the chosen setting without including unwanted symbols.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.