Currently when extending a selection using shift-click, the selection granularity (or `SelectMode`) is based on the click count when extending the selection, not on the click count of the initial selection. For example, selecting a word with double-click followed by shift-click uses a character granularity: https://github.com/user-attachments/assets/13c78bb9-9c31-45d4-97de-99c30c7425a7 This PR changes this behavior to be more in line with other editors that I'm familiar with by preserving the granularity of the initial selection (unless the extension has a higher click count, i.e. the behavior of a single click selection by a shift-double-click extension is unchanged): https://github.com/user-attachments/assets/92e69e95-7ea2-4f76-b0a4-e4b9efa1947b Release Notes: - Extending a selection using shift-click now preserves the character/word/line granularity of the initial selection --------- Co-authored-by: Lukas Wirth <lukas@zed.dev>