23 package com.realtime.crossfire.jxclient.util;
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.regex.Pattern;
28 import org.jetbrains.annotations.NotNull;
54 public static String
trimLeading(@NotNull
final CharSequence str) {
66 final List<String> tokens =
new ArrayList<>(64);
68 final char[] chars = line.toCharArray();
71 while (i < chars.length) {
72 while (i < chars.length && (chars[i] ==
' ' || chars[i] ==
'\t')) {
77 if (i < chars.length && (chars[i] ==
'"' || chars[i] ==
'\'')) {
79 final char quoteChar = chars[i++];
81 while (i < chars.length && chars[i] != quoteChar) {
84 if (i >= chars.length) {
92 while (i < chars.length && chars[i] !=
' ' && chars[i] !=
'\t') {
97 tokens.add(line.substring(start, end));
100 return tokens.toArray(
new String[tokens.size()]);