getCompletions method

List<String> getCompletions(
  1. String prefix
)

Get tab-completion candidates for a prefix.

Matches command names and aliases that start with prefix. Returns sorted, unique results.

Implementation

List<String> getCompletions(String prefix) {
  final p = prefix.toLowerCase();
  final results = <String>{};

  for (final reg in _commands) {
    if (!reg.isVisible) continue;
    if (reg.name.toLowerCase().startsWith(p)) {
      results.add(reg.name);
    }
    for (final alias in reg.allAliases) {
      if (alias.toLowerCase().startsWith(p)) {
        results.add(alias);
      }
    }
  }

  return results.toList()..sort();
}