Skip to content

chore(ts-query): autocomplete more captures - #347

Merged
vitallium merged 1 commit into
zed-extensions:mainfrom
AlternateRT:ts-query-autocompletions
Oct 18, 2026
Merged

vitallium merged 1 commit into
zed-extensions:mainfrom
AlternateRT:ts-query-autocompletions

Conversation

@AlternateRT

Copy link
Copy Markdown
Contributor

Also adds autocompletions for query predicates and directives

@cla-bot cla-bot Bot added the cla-signed label Oct 14, 2026
Also adds autocomplete for query predicates and directives
@AlternateRT
AlternateRT force-pushed the ts-query-autocompletions branch from 55ae389 to 69e8df0 Compare October 14, 2026 22:19
@AlternateRT AlternateRT changed the title ®chore(ts-query): autocomplete more captures chore(ts-query): autocomplete more captures Oct 14, 2026
@vitallium

Copy link
Copy Markdown
Collaborator

Looks great! Thanks!

@vitallium
vitallium merged commit cb73f21 into zed-extensions:main Oct 18, 2026
5 checks passed
@AlternateRT
AlternateRT deleted the ts-query-autocompletions branch October 18, 2026 13:18
vitallium added a commit that referenced this pull request Oct 18, 2026
## Summary

Follow up on #347 to align query completions and argument validation
with `ts_query_ls` and Zed's query runtime.

- Let `ts_query_ls` generate `not-eq` and `not-match` from their base
predicates, and disable automatic `not-` expansion for the explicit
quantified variants. This avoids unsupported suggestions such as
`#not-not-eq?` and `#not-any-eq?`, while preserving the supported
`#not-any-of?` spelling.
- Accept either a capture or a string as the second equality operand,
including for negated and quantified variants.
- Remove `is`/`is-not` and `downcase!`/`select-adjacent!`/`strip!`
completion entries because Zed does not execute those operations. Keep
`set!`, which Zed consumes through property settings.

The capture additions from #347 and all existing query files are
unchanged. In particular, cleanup of the existing no-op `downcase!` use
is outside this PR.

## Validation

- `cargo test --locked`: 82 tests passed.
- JSON Schema validation against the configuration's declared schema
passed.
- Three temporary Rust checks using the actual `ts_query_ls`
configuration deserializer at
`305587adaf39719152866012edd700c53036c7a6`: all failed against the
original configuration, then passed after the fix. They verify the
expanded predicate names, equality argument types, and directive names.
The temporary harness is not added as a project dependency or committed
test.
- `git diff --check` passed.

No live editor/LSP session was run.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants