parseToolCommand function

List<ParsedCommand> parseToolCommand(
  1. Object command
)

Implementation

List<ParsedCommand> parseToolCommand(Object command) {
  final tokens = _coerceCommandTokens(command);
  final parsed = _parseCommandImpl(tokens);
  final deduped = <ParsedCommand>[];
  for (final item in parsed) {
    if (deduped.isNotEmpty && deduped.last == item) {
      continue;
    }
    deduped.add(item);
  }
  if (deduped.any((item) => item.kind == 'unknown')) {
    return [_singleUnknownForCommand(tokens)];
  }
  return deduped;
}