Add src/dsl/sql_functions.rs (KNOWN_SQL_FUNCTIONS) as the shared source of truth at sql_expr_ident slots: - #15: offer the functions as Tab candidates under a new CandidateKind::Function + ninth Theme colour tok_function (blue, distinct from keyword/identifier/type). - #16: restore the column-typo flag the #6 fix had dropped wholesale — invalid_ident_at_cursor now bails only when the partial prefix-matches a known function, else falls through to the schema-column check. A column named like a function (e.g. `count`) is deduped (column wins). `cast` is excluded — CAST(x AS type) is not a plain-call shape. The no-validation-allowlist posture stands: the list drives completion + the typo hint only, never parse-time acceptance. Docs: ADR-0022 Amendment 6, ADR-0031 status note, README index, requirements I3/I4 + refreshed test baseline.
This commit is contained in:
+24
-14
@@ -26,18 +26,21 @@ repo is pushed).
|
||||
|
||||
## Test baseline
|
||||
|
||||
After the ADR-0027 highlight / hint follow-up (precise WARNING
|
||||
spans, the diagnostic overlay + hint wiring, the
|
||||
`LIKE`-on-numeric WARNING, the debounce state machine) plus
|
||||
two manual-testing bug fixes (optional trailing-flag
|
||||
completion; the `--resume` temp-project pointer):
|
||||
**1131 passing, 0 failing, 1 ignored** (`cargo test` — the one
|
||||
ignored test is a long-standing `` ```ignore `` doc-test in
|
||||
`src/friendly/mod.rs`). Clippy clean with the nursery lint
|
||||
group enabled. (Earlier reference points: 1100 after ADR-0027's
|
||||
initial ship; 1079 after ADR-0026 (complex WHERE expressions);
|
||||
1039 after ADR-0025 (indexes); 1006 after ADR-0024 + the
|
||||
handoff-14 cleanup; 449 after B2/C2.)
|
||||
After ADR-0022 Amendment 6 (the curated SQL function-name list —
|
||||
issues #15 tab-completion + #16 typing-time typo hint):
|
||||
**1538 lib unit tests passing, 0 failing, 1 ignored**
|
||||
(`cargo test --lib`; the full `cargo test` across every binary is
|
||||
2107 passing, 0 failing, 1 ignored — the one ignored is a
|
||||
long-standing `` ```ignore `` doc-test in `src/friendly/mod.rs`).
|
||||
Clippy clean with the nursery lint group enabled. (Earlier
|
||||
reference points — lib counts: 1131 after the ADR-0027 highlight /
|
||||
hint follow-up + the optional-trailing-flag / `--resume`
|
||||
manual-testing fixes; 1100 after ADR-0027's initial ship; 1079
|
||||
after ADR-0026 (complex WHERE expressions); 1039 after ADR-0025
|
||||
(indexes); 1006 after ADR-0024 + the handoff-14 cleanup; 449
|
||||
after B2/C2. Note the intervening issue fixes #8/#13/#12/#7/#9
|
||||
landed tests without a baseline bump; this is the first refresh
|
||||
since ADR-0027.)
|
||||
|
||||
---
|
||||
|
||||
@@ -105,11 +108,18 @@ handoff-14 cleanup; 449 after B2/C2.)
|
||||
rolling history is out of scope per OOS-6 / N4.)*
|
||||
- [ ] **I3** Tab completion for app commands, DSL keywords, table
|
||||
names, column names, and SQL keywords.
|
||||
*(Refinement 2026-05-30, issue #15: SQL expression slots
|
||||
(`sql_expr_ident`) now also offer a curated set of SQL function
|
||||
names — `KNOWN_SQL_FUNCTIONS` in `src/dsl/sql_functions.rs`,
|
||||
surfaced as a new `CandidateKind::Function` — ADR-0022 Amendment 6.
|
||||
The broad tab-completion goal stays open.)*
|
||||
- [ ] **I4** Syntax highlighting for both the DSL and SQL.
|
||||
*(Refinement 2026-05-29, issue #8: column data types now carry a
|
||||
dedicated `HighlightClass::Type` / `tok_type` colour, distinct from
|
||||
identifiers and clause keywords — ADR-0022 Amendment 4. The broad
|
||||
highlighting goal stays open.)*
|
||||
identifiers and clause keywords — ADR-0022 Amendment 4; a further
|
||||
refinement 2026-05-30, issue #15: SQL function-name candidates carry
|
||||
a dedicated `tok_function` colour (the ninth `Theme` token colour,
|
||||
ADR-0022 Amendment 6). The broad highlighting goal stays open.)*
|
||||
- [ ] **I5** In-flight query/command cancellation (Ctrl-C in the
|
||||
output area or input field).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user