Summary
Improve the developer experience for working with GraphQL query variables in the notebook by adding editor intelligence (hover tooltips, autocompletion) for variable types and values.
Scope
1. Hover and autocomplete for variable types in queries
- When a query declares variables (e.g.
$id: ID!, $filter: SomeInput), provide hover tooltips showing type details and autocomplete for type names.
2. Inline :setvars in the same cell as the query
- Allow writing
:setvars after the query in the same cell, so variables and the query live together without switching cells.
3. Editor intelligence for :setvars values (when query is in the same cell)
- Autocomplete variable names (from the query's variable declarations).
- Hover tooltips for variable names showing their declared type.
- Autocomplete and validation for JSON values based on the variable's GraphQL type (e.g. suggest enum values, input object fields).
Notes
This needs careful design — the interaction between the GraphQL parser, meta-command parser, and JSON value context is non-trivial. Consider:
- How to detect the boundary between the GraphQL query and
:setvars in a single cell
- How to map variable declarations to their usage in
:setvars
- How to provide type-aware JSON completions (enums, input objects, scalars)
Labels
Backlog / Enhancement
🤖 Generated with Claude Code
Summary
Improve the developer experience for working with GraphQL query variables in the notebook by adding editor intelligence (hover tooltips, autocompletion) for variable types and values.
Scope
1. Hover and autocomplete for variable types in queries
$id: ID!,$filter: SomeInput), provide hover tooltips showing type details and autocomplete for type names.2. Inline
:setvarsin the same cell as the query:setvarsafter the query in the same cell, so variables and the query live together without switching cells.3. Editor intelligence for
:setvarsvalues (when query is in the same cell)Notes
This needs careful design — the interaction between the GraphQL parser, meta-command parser, and JSON value context is non-trivial. Consider:
:setvarsin a single cell:setvarsLabels
Backlog / Enhancement
🤖 Generated with Claude Code