Пример #1
0
 public int matchingSize(String line) {
   final Matcher2 m = p.matcher(line);
   if (m.find() == false) {
     return 0;
   }
   return m.group(1).length();
 }
Пример #2
0
 public String executeAndGetRemaining(final String line, StripeSimple stripe) {
   final Matcher2 m = p.matcher(line);
   if (m.find() == false) {
     throw new IllegalStateException();
   }
   final FontConfiguration fc1 = stripe.getActualFontConfiguration();
   final FontConfiguration fc2 = new AddStyle(style, getExtendedColor(m)).apply(fc1);
   stripe.setActualFontConfiguration(fc2);
   final int groupCount = m.groupCount();
   stripe.analyzeAndAdd(m.group(groupCount));
   stripe.setActualFontConfiguration(fc1);
   return line.substring(m.group(1).length());
 }
Пример #3
0
  public CharSequence2 readLine() throws IOException {
    final CharSequence2 s = source.readLine();
    if (s == null) {
      return null;
    }
    if (StartUtils.isArobaseStartDiagram(s)) {
      this.defines.restoreState();
    }

    Matcher2 m = definePattern.matcher(s);
    if (m.find()) {
      return manageDefine(m);
    }

    m = definelongPattern.matcher(s);
    if (m.find()) {
      return manageDefineLong(m);
    }

    m = undefPattern.matcher(s);
    if (m.find()) {
      return manageUndef(m);
    }

    if (ignoreDefineDuringSeveralLines > 0) {
      ignoreDefineDuringSeveralLines--;
      return s;
    }

    final List<String> result = defines.applyDefines(s.toString2());
    if (result.size() > 1) {
      ignoreDefineDuringSeveralLines = result.size() - 2;
      source.insert(result.subList(1, result.size() - 1), s.getLocation());
    }
    return new CharSequence2Impl(result.get(0), s.getLocation());
  }