code: public static Map<String, Object> parseCommandArgs(String argString, String[] paramKeys) {
          return parseArgsArray(argString.split("\\s+"), null, null, Arrays.asList(paramKeys));
      }
docs: Parse input as entered on the command palette or in the Orchid interactive shell. The command input consists of
  two parts: the first is an ordered input, and the keys for the ordered values are given by `paramKeys`. The
  second consists of named key-arg mappings in the same format as used for the command-line flags. The resulting
  values for the named args do not retain the key in the value array, and the dash is stripped from the key. In
  addition, single values are lifted out an the array into single values. The two sections are separated by `--`.
  As as example: `val1 -- -key2 val1 val2 val3`, when parsed with paramKeys as `['key1']`, results in a mapped form
  like `{'key1': 'val1', 'key2': ['val1', 'val2', 'val3']}`.
  
  @param argString the raw input text
  @param paramKeys the key names used for the ordered parameters
  @return a mapping of values extracted from the input text