completer 函数的使用


🌐 Use of the completer function

completer 函数以用户输入的当前行作为参数,并返回一个包含两个条目的数组:

🌐 The completer function takes the current line entered by the user as an argument, and returns an Array with 2 entries:

  • 一个包含匹配完成条目的数组。
  • 用于匹配的子字符串。

例如:[[substr1, substr2, ...], originalsubstring]

🌐 For instance: [[substr1, substr2, ...], originalsubstring].

function completer(line) {
  const completions = '.help .error .exit .quit .q'.split(' ');
  const hits = completions.filter((c) => c.startsWith(line));
  // Show all completions if none found
  return [hits.length ? hits : completions, line];
} 

completer 函数也可以返回一个 <Promise>,或者是异步的:

🌐 The completer function can also return a <Promise>, or be asynchronous:

async function completer(linePartial) {
  await someAsyncWork();
  return [['123'], linePartial];
}