@Override public boolean visitChildren(Symbol node) { return !node.isType(Alias.symbolType); } }
public List<Symbol> moveNext(SymbolType[] symbolTypes) { ArrayList<Symbol> tokens = new ArrayList<>(); for (SymbolType type: symbolTypes) { Symbol current = moveNext(1); if (!current.isType(type)) return new ArrayList<>(); tokens.add(current); } return tokens; }
private void handleSymbol(final Symbol option) { if (!option.isType(SymbolType.Whitespace)) { handleNonWhitespace(option); } }
public List<Symbol> moveNext(SymbolType[] symbolTypes) { ArrayList<Symbol> tokens = new ArrayList<>(); for (SymbolType type: symbolTypes) { Symbol current = moveNext(1); if (!current.isType(type)) return new ArrayList<>(); tokens.add(current); } return tokens; }
private boolean containsNewLine(Symbol cell) { for (Symbol child : cell.getChildren()) { if (child.isType(SymbolType.Newline)) return true; } return false; }
public static List<Symbol> getSymbols(final WikitextPage page, final SymbolType symbolType) { final List<Symbol> symbols = new LinkedList<>(); for (final Symbol symbol : page.getSyntaxTree().getChildren()) { if (symbol.isType(symbolType)) { symbols.add(symbol); } } return Collections.unmodifiableList(symbols); }
public static List<Symbol> getSymbols(final WikitextPage page, final SymbolType symbolType) { final List<Symbol> symbols = new LinkedList<>(); for (final Symbol symbol : page.getSyntaxTree().getChildren()) { if (symbol.isType(symbolType)) { symbols.add(symbol); } } return Collections.unmodifiableList(symbols); }
@Override public boolean visit(Symbol node) { if (node.isType(Literal.symbolType)) { node.setContent(literalDelimiter + node.getContent() + literalDelimiter); } return true; }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { Symbol nesting = parser.parseTo(SymbolType.CloseNesting, ParseSpecification.nestingPriority); if (!parser.getCurrent().isType(SymbolType.CloseNesting)) return Symbol.nothing; current.add(nesting); return new Maybe<>(current); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { Symbol nesting = parser.parseTo(SymbolType.CloseNesting, ParseSpecification.nestingPriority); if (!parser.getCurrent().isType(SymbolType.CloseNesting)) return Symbol.nothing; current.add(nesting); return new Maybe<>(current); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { Symbol next = parser.moveNext(1); if (!next.isType(SymbolType.Whitespace)) return Symbol.nothing; String level = current.getContent().substring(1,2); if (ScanString.isDigits(level)) current.putProperty(Level, level); current.add(parser.parseToEnd(SymbolType.Newline)); if (parser.peek().isType(SymbolType.Newline) && !parser.endsOn(SymbolType.Newline)) parser.moveNext(1); return new Maybe<>(current); } }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { Symbol body = parser.parseToIgnoreFirst(current.getType()); if (body.getChildren().isEmpty()) return Symbol.nothing; if (!parser.getCurrent().isType(current.getType())) return Symbol.nothing; return new Maybe<>(current.add(body)); } }
public Maybe<String> parseToAsString(SymbolType terminator) { int start = scanner.getOffset(); scanner.markStart(); parseTo(terminator); if (!atEnd() && !getCurrent().isType(terminator)) return Maybe.noString; return scanner.stringFromStart(start); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { if (current.getStartOffset() != 0) return Symbol.nothing; final Symbol frontMatter = parser.parseToWithSymbols(CloseFrontMatter.symbolType, SYMBOL_PROVIDER, 0); if (!parser.getCurrent().isType(CloseFrontMatter.symbolType)) return Symbol.nothing; Maybe<Symbol> yaml = processYaml(current, frontMatter); if (yaml.isNothing()) { return Symbol.nothing; } return new Maybe<>(current); }
public Maybe<String> parseToAsString(SymbolType terminator) { int start = scanner.getOffset(); scanner.markStart(); parseTo(terminator); if (!atEnd() && !getCurrent().isType(terminator)) return Maybe.noString; return scanner.stringFromStart(start); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { if (current.getStartOffset() != 0) return Symbol.nothing; final Symbol frontMatter = parser.parseToWithSymbols(CloseFrontMatter.symbolType, SYMBOL_PROVIDER, 0); if (!parser.getCurrent().isType(CloseFrontMatter.symbolType)) return Symbol.nothing; Maybe<Symbol> yaml = processYaml(current, frontMatter); if (yaml.isNothing()) { return Symbol.nothing; } return new Maybe<>(current); }
private boolean isStartCell(SymbolStream symbols) { return symbols.get(0).isStartCell() || (symbols.get(0).isType(SymbolType.Whitespace) && (symbols.get(1).isStartCell() || symbols.get(1).isLineType())); }