public SymbolMatch(SymbolType symbolType, String text, int offset) { this.symbol = new Symbol(symbolType, text, offset); this.offset = offset; this.matchLength = text.length(); }
public SymbolMatch(SymbolType symbolType, String text, int offset) { this.symbol = new Symbol(symbolType, text, offset); this.offset = offset; this.matchLength = text.length(); }
public Symbol childrenAfter(int after) { Symbol result = new Symbol(SymbolType.SymbolList); for (int i = after + 1; i < children.size(); i++) result.add(children.get(i)); return result; }
public Symbol childrenAfter(int after) { Symbol result = new Symbol(SymbolType.SymbolList); for (int i = after + 1; i < children.size(); i++) result.add(children.get(i)); return result; }
public Symbol add(String text) { children().add(new Symbol(SymbolType.Text, text)); return this; }
public Symbol add(String text) { children().add(new Symbol(SymbolType.Text, text)); return this; }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { String content = current.getContent(); char beginner = content.charAt(content.length() - 1); Symbol body = parser.parseToIgnoreFirst(closeType(beginner)); if (parser.atEnd()) return Symbol.nothing; return new Maybe<>(new Symbol(SymbolType.Style, content.substring(7, content.length() - 1)).add(body)); }
public SymbolMatch(SymbolType symbolType, ScanString input, int matchLength) { this.offset = input.getOffset(); this.matchLength = matchLength; this.symbol = new Symbol(symbolType, input.substring(0, matchLength), offset); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { String content = current.getContent(); char beginner = content.charAt(content.length() - 1); Symbol body = parser.parseToIgnoreFirst(closeType(beginner)); if (parser.atEnd()) return Symbol.nothing; return new Maybe<>(new Symbol(SymbolType.Style, content.substring(7, content.length() - 1)).add(body)); }
public SymbolMatch(SymbolType symbolType, ScanString input, int matchLength) { this.offset = input.getOffset(); this.matchLength = matchLength; this.symbol = new Symbol(symbolType, input.substring(0, matchLength), offset); }
public String formatMessage(String message) { return translate(new Symbol(SymbolType.Meta).add(message)); } }
public String formatMessage(String message) { return translate(new Symbol(SymbolType.Meta).add(message)); } }
private Symbol yamlLine(final String key, final String value) { return new Symbol(keyValueSymbolType).add(key).add(value); }
private Symbol yamlLine(final String key, final String value) { return new Symbol(keyValueSymbolType).add(key).add(value); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { SymbolType type = current.getType(); String literal = parser.parseLiteral(closeType()); if (parser.atEnd()) return Symbol.nothing; return new Maybe<>(new Symbol(type, literal)); } }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { SymbolType type = current.getType(); String literal = parser.parseLiteral(closeType()); if (parser.atEnd()) return Symbol.nothing; return new Maybe<>(new Symbol(type, literal)); } }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { while (true) { Symbol row = new Symbol(SymbolType.SymbolList); current.add(row); for (int i = 0; i < 2; i++) { Symbol cell = parser.parseToIgnoreFirst(terminators); if (parser.atEnd() || cell.getChildren().isEmpty()) return Symbol.nothing; row.add(cell); } if (parser.getCurrent().isType(SymbolType.CloseBrace)) break; } return new Maybe<>(current); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { while (true) { Symbol row = new Symbol(SymbolType.SymbolList); current.add(row); for (int i = 0; i < 2; i++) { Symbol cell = parser.parseToIgnoreFirst(terminators); if (parser.atEnd() || cell.getChildren().isEmpty()) return Symbol.nothing; row.add(cell); } if (parser.getCurrent().isType(SymbolType.CloseBrace)) break; } return new Maybe<>(current); }
public SymbolMatch make(ParseSpecification specification, int offset, String text) { if (specification.matchesFor(WikiWord.symbolType)) { int length = findWikiWordLength(text); if (length > 0) { Symbol wikiWord = new Symbol(new WikiWord(sourcePage), text.substring(0, length), offset); wikiWord.evaluateVariables(new String[]{WikiWord.REGRACE_LINK}, variableSource); return new SymbolMatch(wikiWord, offset, length); } } if (specification.matchesFor(SymbolType.EMail) && isEmailAddress(text)) { return new SymbolMatch(SymbolType.EMail, text, offset); } return new SymbolMatch(SymbolType.Text, text, offset); }
public Symbol parse(Parser parser, Scanner scanner) { Symbol result = new Symbol(SymbolType.SymbolList); result.setStartOffset(scanner.getOffset()); while (true) { Maybe<Symbol> parsedSymbol = parseSymbol(parser, scanner); if (parsedSymbol.isNothing()) { break; } else { result.add(parsedSymbol.getValue()); } } result.setEndOffset(scanner.getOffset()); return result; }