getSuggestions method
Future<List<CompletionSuggestion> >
getSuggestions(
- String query,
- SuggestionContext context
override
Implementation
@override
Future<List<CompletionSuggestion>> getSuggestions(
String query,
SuggestionContext context,
) async {
final search = query.substring(1).toLowerCase(); // Remove '/'
final commands = context.availableCommands;
final suggestions = <CompletionSuggestion>[];
for (final cmd in commands) {
if (search.isEmpty || _fuzzyMatch(cmd, search)) {
suggestions.add(
CompletionSuggestion(
value: '/$cmd',
displayText: '/$cmd',
description: _commandDescription(cmd),
type: SuggestionType.command,
icon: 'command',
score: _fuzzyScore(cmd, search),
insertText: '/$cmd ',
),
);
}
}
suggestions.sort((a, b) => b.score.compareTo(a.score));
return suggestions.take(15).toList();
}