feat: ADR-0035 4i(e) — colour DSL vs SQL completions when mixed

Building on the 4i(d) merge: tag each completion Candidate with a
ModeClass (Both/Advanced/Simple) and, in the hint UI, colour the
continuations by mode ONLY when a candidate list actually mixes modes
(a shared entry word offering both SQL and DSL forms) — Advanced →
theme.mode_advanced, Simple → theme.mode_simple, Both → the token-kind
colour. A single-mode list (the common case, e.g. deep inside a SQL
statement) keeps the token-kind colours, so the tint appears only where
it distinguishes DSL from SQL. With (d)'s Both → Advanced → Simple
block-ordering, each colour reads as one contiguous block.

Candidate gains a `mode` field (typing_surface snapshots regenerated —
uniformly `mode: Both`, no semantic change). Tests: render_candidate_line
mixed-mode colours + the single-mode-keeps-kind-colour rule. Full suite
1913 passing / 0 failing / 1 ignored; clippy clean.
This commit is contained in:
claude@clouddev1
2026-05-26 12:11:12 +00:00
parent 1afcf4ed29
commit f85261032d
132 changed files with 699 additions and 30 deletions
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "as",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "as",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "short",
kind: Keyword,
mode: Both,
},
Candidate {
text: "verbose",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "short",
kind: Keyword,
mode: Both,
},
Candidate {
text: "verbose",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "simple",
kind: Keyword,
mode: Both,
},
Candidate {
text: "advanced",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "simple",
kind: Keyword,
mode: Both,
},
Candidate {
text: "advanced",
kind: Keyword,
mode: Both,
},
],
},
@@ -15,6 +15,7 @@ Assessment {
Candidate {
text: "quit",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -31,6 +32,7 @@ Assessment {
Candidate {
text: "quit",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "as",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "as",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 131
description: "input=\"add column to \" cursor=14"
expression: "& a"
---
@@ -14,14 +13,17 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -38,14 +40,17 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 98
description: "input=\"add column \" cursor=11"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "to",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "to",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 56
description: "input=\"add column \" cursor=11"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "to",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "to",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 80
description: "input=\"change column \" cursor=14"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "in",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "in",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 107
description: "input=\"drop column \" cursor=12"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 64
description: "input=\"drop column \" cursor=12"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/candidate_ordering.rs
assertion_line: 72
description: "input=\"rename column \" cursor=14"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "in",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "in",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,18 +23,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,22 +13,27 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "relationship",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -45,22 +50,27 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "relationship",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/constraints.rs
assertion_line: 30
description: "input=\"create table Ages with pk age(int) check (age >= 0)\" cursor=51"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/constraints.rs
assertion_line: 19
description: "input=\"create table Books with pk isbn(text) default '000'\" cursor=51"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "with",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "with",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,42 +13,52 @@ Assessment {
Candidate {
text: "text",
kind: Keyword,
mode: Both,
},
Candidate {
text: "int",
kind: Keyword,
mode: Both,
},
Candidate {
text: "real",
kind: Keyword,
mode: Both,
},
Candidate {
text: "decimal",
kind: Keyword,
mode: Both,
},
Candidate {
text: "bool",
kind: Keyword,
mode: Both,
},
Candidate {
text: "date",
kind: Keyword,
mode: Both,
},
Candidate {
text: "datetime",
kind: Keyword,
mode: Both,
},
Candidate {
text: "blob",
kind: Keyword,
mode: Both,
},
Candidate {
text: "serial",
kind: Keyword,
mode: Both,
},
Candidate {
text: "shortid",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -65,42 +75,52 @@ Assessment {
Candidate {
text: "text",
kind: Keyword,
mode: Both,
},
Candidate {
text: "int",
kind: Keyword,
mode: Both,
},
Candidate {
text: "real",
kind: Keyword,
mode: Both,
},
Candidate {
text: "decimal",
kind: Keyword,
mode: Both,
},
Candidate {
text: "bool",
kind: Keyword,
mode: Both,
},
Candidate {
text: "date",
kind: Keyword,
mode: Both,
},
Candidate {
text: "datetime",
kind: Keyword,
mode: Both,
},
Candidate {
text: "blob",
kind: Keyword,
mode: Both,
},
Candidate {
text: "serial",
kind: Keyword,
mode: Both,
},
Candidate {
text: "shortid",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "pk",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "pk",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/create_table.rs
assertion_line: 117
description: "input=\"create table Memberships with pk UserId(int), GroupId(int)\" cursor=58"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/create_table.rs
assertion_line: 106
description: "input=\"create table Customers with pk Code(text)\" cursor=41"
expression: "& a"
---
@@ -14,18 +13,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -42,18 +45,22 @@ Assessment {
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "unique",
kind: Keyword,
mode: Both,
},
Candidate {
text: "default",
kind: Keyword,
mode: Both,
},
Candidate {
text: "check",
kind: Keyword,
mode: Both,
},
],
},
@@ -15,6 +15,7 @@ Assessment {
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
selected: None,
@@ -31,6 +32,7 @@ Assessment {
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/delete_with_where.rs
assertion_line: 60
description: "input=\"delete from Customers where Email=\" cursor=34"
expression: "& a"
---
@@ -24,26 +23,32 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/delete_with_where.rs
assertion_line: 39
description: "input=\"delete from Customers where \" cursor=28"
expression: "& a"
---
@@ -14,30 +13,37 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
selected: None,
@@ -54,30 +60,37 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/delete_with_where.rs
assertion_line: 86
description: "input=\"delete from Things where ts=\" cursor=28"
expression: "& a"
---
@@ -24,54 +23,67 @@ Assessment {
Candidate {
text: "auto",
kind: Identifier,
mode: Both,
},
Candidate {
text: "b",
kind: Identifier,
mode: Both,
},
Candidate {
text: "d",
kind: Identifier,
mode: Both,
},
Candidate {
text: "data",
kind: Identifier,
mode: Both,
},
Candidate {
text: "dt",
kind: Identifier,
mode: Both,
},
Candidate {
text: "k",
kind: Identifier,
mode: Both,
},
Candidate {
text: "note",
kind: Identifier,
mode: Both,
},
Candidate {
text: "r",
kind: Identifier,
mode: Both,
},
Candidate {
text: "sid",
kind: Identifier,
mode: Both,
},
Candidate {
text: "ts",
kind: Identifier,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/drop_column.rs
assertion_line: 19
description: "input=\"drop column from \" cursor=17"
expression: "& a"
---
@@ -14,14 +13,17 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -38,14 +40,17 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/drop_relationship.rs
assertion_line: 37
description: "input=\"drop relationship \" cursor=18"
expression: "& a"
---
@@ -14,10 +13,12 @@ Assessment {
Candidate {
text: "Orders_CustId_to_Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -34,10 +35,12 @@ Assessment {
Candidate {
text: "Orders_CustId_to_Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "from",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "--all-rows",
kind: Flag,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "show",
kind: Keyword,
mode: Both,
},
Candidate {
text: "update",
kind: Keyword,
mode: Both,
},
Candidate {
text: "delete",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "show",
kind: Keyword,
mode: Both,
},
Candidate {
text: "update",
kind: Keyword,
mode: Both,
},
Candidate {
text: "delete",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "limit",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "where",
kind: Keyword,
mode: Both,
},
Candidate {
text: "limit",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "data",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "data",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "set",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "set",
kind: Keyword,
mode: Both,
},
],
},
@@ -1,6 +1,5 @@
---
source: tests/typing_surface/explain.rs
assertion_line: 54
description: "input=\"explain show data Customers where \" cursor=34"
expression: "& a"
---
@@ -14,30 +13,37 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
selected: None,
@@ -54,30 +60,37 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
Candidate {
text: "not",
kind: Keyword,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,18 +13,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -41,18 +45,22 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
Candidate {
text: "1:n",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,22 +13,27 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "relationship",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -45,22 +50,27 @@ Assessment {
Candidate {
text: "column",
kind: Keyword,
mode: Both,
},
Candidate {
text: "relationship",
kind: Keyword,
mode: Both,
},
Candidate {
text: "table",
kind: Keyword,
mode: Both,
},
Candidate {
text: "index",
kind: Keyword,
mode: Both,
},
Candidate {
text: "constraint",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "insert",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "insert",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "into",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "into",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Customers",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Orders",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "Code",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Title",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "Code",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Title",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,10 +13,12 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
selected: None,
@@ -33,10 +35,12 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
},
@@ -23,14 +23,17 @@ Assessment {
Candidate {
text: "true",
kind: Keyword,
mode: Both,
},
Candidate {
text: "false",
kind: Keyword,
mode: Both,
},
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "CustId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "OrderId",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Total",
kind: Identifier,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,14 +13,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
selected: None,
@@ -37,14 +40,17 @@ Assessment {
Candidate {
text: "Email",
kind: Identifier,
mode: Both,
},
Candidate {
text: "Name",
kind: Identifier,
mode: Both,
},
Candidate {
text: "id",
kind: Identifier,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "(",
kind: Punct,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -25,6 +25,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -25,6 +25,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -23,6 +23,7 @@ Assessment {
Candidate {
text: "null",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
},
@@ -13,6 +13,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
selected: None,
@@ -29,6 +30,7 @@ Assessment {
Candidate {
text: "values",
kind: Keyword,
mode: Both,
},
],
},

Some files were not shown because too many files have changed in this diff Show More