Excmds completion allow partial match at the middle

This commit is contained in:
mozbug 2020-02-27 22:37:43 +08:00
parent 32500c86ae
commit a1717e740f

View file

@ -90,6 +90,15 @@ export class ExcmdCompletionSource extends Completions.CompletionSourceFuse {
}
}
// Add partial matched funcs like: 'conf' ~= 'viewconfig'
const seen = new Set(this.options.map(o => o.value))
const partial_options = this.scoreOptions(
fns
.filter(([name, fn]) => !fn.hidden && name.includes(exstr) && !seen.has(name))
.map(([name, fn]) => new ExcmdCompletionOption(name, fn.doc)),
)
this.options = this.options.concat(partial_options)
this.options.forEach(o => (o.state = "normal"))
return this.updateChain()
}