mirror of
https://github.com/larksuite/cli.git
synced 2026-09-14 18:42:53 +08:00
6606594068
`suggest.Closest` ranks flag/command suggestions by shared prefix then edit distance. A hallucinated name welded from two real names -- e.g. `--sql-file` from the real `--sql` and `--file` of `apps +db-execute` -- defeats both signals: the leading half wins on prefix, and the trailing half (`file`, 4 edits from `sql-file`, budget 2) is dropped. The hint then names the flag the caller did not want and omits the one that does exactly what they asked for. The cost is not the rejected call. Steered to `--sql`, callers inline SQL through the shell, where quoting mangles `DEFAULT ''` and `current_setting(...)` into syntax errors that read as SQL-authoring bugs. `--file` passes file contents verbatim and avoids that class entirely. Treat a candidate that exactly equals one hyphen-delimited segment of the typed name as plausible, however far the whole string drifted. Ranking is unchanged -- segment hits are admitted, not promoted -- so the leading segment still ranks first, and an unrelated candidate list still yields no suggestions.