parseCommandArgs function

List<String> parseCommandArgs(
  1. String input
)

Parses bash-style quoted arguments from the text after a /command.

Implementation

List<String> parseCommandArgs(String input) {
  final args = <String>[];
  var current = '';
  String? inQuote;

  for (var i = 0; i < input.length; i++) {
    final (nextCurrent, nextQuote) = _consumeArgChar(
      input[i],
      current,
      inQuote,
      args,
    );
    current = nextCurrent;
    inQuote = nextQuote;
  }
  if (current.isNotEmpty) args.add(current);
  return args;
}