# Add \`completion_query_characters\` in language \(\#27175\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/23e85190576b3a9449a21fdbd805b840da752e95)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 23e85190576b3a9449a21fdbd805b840da752e95

Requested commit: 23e85190576b3a9449a21fdbd805b840da752e95

Commit: 23e85190576b3a9449a21fdbd805b840da752e95

Tree: b1d2db32643565970b9fa141b2478b9080cb6dc2

Author: Smit Barmase

Committer: GitHub

## Message

```
Add `completion_query_characters` in language (#27175)

Closes #18581

Now characters for completing query and word characters, which are
responsible for selecting words by double clicking or navigating, are
different. This fixes a bunch of things:

For settings.json, this improves completions to treat the whole string
as a completion query, instead of just the last word. We now added
"space" as a completion query character without it being a word
character.

For keymap.json, this improves selecting part of an action as the ":"
character is only a completion character and not a word character. So,
completions would still trigger on ":" and query capture will treat ":"
as a word, but for actions like selections and navigation, ":" will be
treated as punctuation.

Before:
Unnecessary related suggestions as query is only the last word which is
"d".
<img width="300" alt="image"
src="https://github.com/user-attachments/assets/8199a715-7521-49dd-948b-e6aaed04c488"
/>

Double clicking `ToggleFold` selects the whole action:
<img width="300" alt="image"
src="https://github.com/user-attachments/assets/c7f91a6b-06d5-45b6-9d59-61a1b2deda71"
/>

After:
Now query is "one d" and it shows only matched ones.
<img width="300" alt="image"
src="https://github.com/user-attachments/assets/1455dfbc-9906-42e8-b8aa-b3f551194ca2"
/>

Double clicking `ToggleFold` only selects part of the action, which is
more refined behavior.
<img width="300" alt="image"
src="https://github.com/user-attachments/assets/34b1c3c2-184f-402f-9dc8-73030a8c370f"
/>

Release Notes:

- Improved autocomplete suggestions in `settings.json`, now whole string
is queried instead of just last word of string, which filters out lot of
false positives.
- Improved selection of action in `keymap.json`, where now you can
double click to only select certain part of action, instead of selecting
whole action.

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
```

## Parents

- [1180b6fbc7f5028f1476d55af50e86f0c62c6541](https://git.cafe/gitcafe/zed/commit/1180b6fbc7f5028f1476d55af50e86f0c62c6541?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/23e85190576b3a9449a21fdbd805b840da752e95?format=markdown)
