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:
@@ -1136,6 +1136,7 @@ fn render_candidate_line(
|
||||
crate::completion::CandidateKind::Identifier => theme.tok_identifier,
|
||||
crate::completion::CandidateKind::Flag => theme.tok_flag,
|
||||
crate::completion::CandidateKind::Punct => theme.tok_punct,
|
||||
crate::completion::CandidateKind::Function => theme.tok_function,
|
||||
};
|
||||
let base_fg = if mixed {
|
||||
match items[i].mode {
|
||||
|
||||
Reference in New Issue
Block a user