c3e010332ca5f1c4592a6eb3c9352e9d80b189d6
The partial-token walk stopped at `-`, so after typing `-` (or `--`) the partial was empty and the replaced range was a zero-width point *after* the dash. Two bugs followed at a flag position (e.g. `add 1:n relationship … -`): the `on` keyword was offered (it prefix-matched the empty partial), and accepting a candidate inserted after the dash — `-on`, `---create-fk`, `----all-rows`. Detect a dash-prefixed token at a word boundary as a flag-in-progress and fold the whole dash-run into the partial, gated on a flag actually being expected there (so `where x = -5` stays a signed number, not a flag). The flag matcher now strips leading dashes and matches the body uniformly (empty / `-` / `--` → all flags; `--cr` → create-fk). Keywords like `on` no longer appear after a dash, and accept replaces the dash(es) so `-` → `--create-fk` and `--all` → `--all-rows`. Two partial-flag snapshots updated (they had captured the old behaviour).
Description
No description provided