@Override protected final void initializeSyntax() { if (!blocks.isEmpty()) { clearLanguageSyntax(); } initializeBlocks(); initializePhraseModifiers(); initializeTokens(); }
protected final void initializeBlocks() { addStandardBlocks(blocks, paragraphBreakingBlocks); // extensions addBlockExtensions(blocks, paragraphBreakingBlocks); if (configuration != null) { configuration.addBlockExtensions(blocks, paragraphBreakingBlocks); } // ~extensions blocks.add(createParagraphBlock()); // ORDER DEPENDENCY: this must come last }
protected final void initializePhraseModifiers() { addStandardPhraseModifiers(phraseModifierSyntax); addPhraseModifierExtensions(phraseModifierSyntax); if (configuration != null) { configuration.addPhraseModifierExtensions(phraseModifierSyntax); } }
protected final void initializeTokens() { addStandardTokens(tokenSyntax); addTokenExtensions(tokenSyntax); if (configuration != null) { configuration.addTokenExtensions(tokenSyntax); } }
@Override protected void clearLanguageSyntax() { super.clearLanguageSyntax(); nestedBlocks.clear(); }
/** * subclasses may override this method to add blocks to the Textile language. Overriding classes should call * <code>super.addBlockExtensions(blocks,paragraphBreakingBlocks)</code> if the default language extensions are * desired (glossary and table of contents). * * @param blocks * the list of blocks to which extensions may be added * @param paragraphBreakingBlocks * the list of blocks that end a paragraph */ @Override protected void addBlockExtensions(List<Block> blocks, List<Block> paragraphBreakingBlocks) { blocks.add(new TextileGlossaryBlock()); blocks.add(new TableOfContentsBlock()); super.addBlockExtensions(blocks, paragraphBreakingBlocks); }
@Override protected void clearLanguageSyntax() { super.clearLanguageSyntax(); nestingBlocks.clear(); }
@Override protected void clearLanguageSyntax() { super.clearLanguageSyntax(); literalTokenSyntax.clear(); literalPhraseModifierSyntax.clear(); }