Top Inners Fields Constructors Methods
com.vladsch.flexmark.parser.core

public Class FencedCodeBlockParser

extends AbstractBlockParser
Class Inheritance
Imports
com.vladsch.flexmark.ast.CodeBlock, .FencedCodeBlock, .Text, com.vladsch.flexmark.parser.Parser, com.vladsch.flexmark.parser.block.*, com.vladsch.flexmark.util.ast.Block, .BlockContent, com.vladsch.flexmark.util.data.DataHolder, com.vladsch.flexmark.util.sequence.BasedSequence, .SegmentedSequence, org.jetbrains.annotations.NotNull, .Nullable, java.util.Arrays, .HashSet, .List, .Set, java.util.regex.Matcher, .Pattern

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
public static class

Field Summary

Modifier and TypeField and Description
private final FencedCodeBlock
private static final Pattern
private final boolean
private BlockContent
private final char
private final int
private final int
private final int
private final boolean
private static final Pattern

Constructor Summary

AccessConstructor and Description
public
FencedCodeBlockParser(DataHolder options, char fenceChar, int fenceLength, int fenceIndent, int fenceMarkerIndent)

Method Summary

Modifier and TypeMethod and Description
public void
public void
public Block
public int
public int
public boolean
isPropagatingLastBlankLine(BlockParser
the last matched block parser instance
lastMatchedBlockParser
)

Overrides com.vladsch.flexmark.parser.block.AbstractBlockParser.isPropagatingLastBlankLine.

Implements com.vladsch.flexmark.parser.block.BlockParser.isPropagatingLastBlankLine.

should be overridden in BlockQuote, FencedCode and ListItem

public BlockContinue
tryContinue(ParserState
current parsing state
state
)

Implements com.vladsch.flexmark.parser.block.BlockParser.tryContinue.

See if the block parser can continue parsing the current block

Inherited from com.vladsch.flexmark.parser.block.AbstractBlockParser:
breakOutOnDoubleBlankLinecanContaincanInterruptByfinalizeClosedBlockgetBlockContentgetDataHolderisClosedisContainerisInterruptibleisParagraphParserisRawTextparseInlinesremoveBlankLines

Field Detail

blockback to summary
private final FencedCodeBlock block
CLOSING_FENCEback to summary
private static final Pattern CLOSING_FENCE
codeContentBlockback to summary
private final boolean codeContentBlock
contentback to summary
private BlockContent content
fenceCharback to summary
private final char fenceChar
fenceIndentback to summary
private final int fenceIndent
fenceLengthback to summary
private final int fenceLength
fenceMarkerIndentback to summary
private final int fenceMarkerIndent
matchingCloserback to summary
private final boolean matchingCloser
OPENING_FENCEback to summary
private static final Pattern OPENING_FENCE

Constructor Detail

FencedCodeBlockParserback to summary
public FencedCodeBlockParser(DataHolder options, char fenceChar, int fenceLength, int fenceIndent, int fenceMarkerIndent)

Method Detail

addLineback to summary
public void addLine(ParserState state, BasedSequence line)

Overrides com.vladsch.flexmark.parser.block.AbstractBlockParser.addLine.

Implements com.vladsch.flexmark.parser.block.BlockParser.addLine.

Doc from com.vladsch.flexmark.parser.block.BlockParser.addLine.

Add another line to the block

Parameters
state:ParserState

parser state

line:BasedSequence

line sequence

Annotations
@Override
closeBlockback to summary
public void closeBlock(ParserState state)

Implements com.vladsch.flexmark.parser.block.BlockParser.closeBlock.

Annotations
@Override
getBlockback to summary
public Block getBlock()

Implements com.vladsch.flexmark.parser.block.BlockParser.getBlock.

Returns:Block

Doc from com.vladsch.flexmark.parser.block.BlockParser.getBlock.

the block parser's block node instance

Annotations
@Override
getFenceIndentback to summary
public int getFenceIndent()
getFenceMarkerIndentback to summary
public int getFenceMarkerIndent()
isPropagatingLastBlankLineback to summary
public boolean isPropagatingLastBlankLine(BlockParser lastMatchedBlockParser)

Overrides com.vladsch.flexmark.parser.block.AbstractBlockParser.isPropagatingLastBlankLine.

Implements com.vladsch.flexmark.parser.block.BlockParser.isPropagatingLastBlankLine.

Doc from com.vladsch.flexmark.parser.block.AbstractBlockParser.isPropagatingLastBlankLine.

should be overridden in BlockQuote, FencedCode and ListItem

Parameters
lastMatchedBlockParser:BlockParser

the last matched block parser instance

Returns:boolean

true if the blank line should be propagated to parent

Annotations
@Override
tryContinueback to summary
public BlockContinue tryContinue(ParserState state)

Implements com.vladsch.flexmark.parser.block.BlockParser.tryContinue.

Doc from com.vladsch.flexmark.parser.block.BlockParser.tryContinue.

See if the block parser can continue parsing the current block

Parameters
state:ParserState

current parsing state

Returns:BlockContinue

block continue instance

Annotations
@Override
com.vladsch.flexmark.parser.core back to summary

private Class FencedCodeBlockParser.BlockFactory

extends AbstractBlockParserFactory
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public BlockStart

Constructor Detail

BlockFactoryback to summary
private BlockFactory(DataHolder options)

Method Detail

tryStartback to summary
public BlockStart tryStart(ParserState state, MatchedBlockParser matchedBlockParser)

Implements com.vladsch.flexmark.parser.block.BlockParserFactory.tryStart.

Annotations
@Override
com.vladsch.flexmark.parser.core back to summary

public Class FencedCodeBlockParser.Factory

extends Object
implements CustomBlockParserFactory
Class Inheritance
  • java.lang.Object
  • com.vladsch.flexmark.parser.core.FencedCodeBlockParser.Factory
All Implemented Interfaces
com.vladsch.flexmark.parser.block.CustomBlockParserFactory, com.vladsch.flexmark.util.dependency.Dependent, java.util.function.Function

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
public @NotNull BlockParserFactory
apply(@NotNull DataHolder
the function argument
options
)

Implements java.util.function.Function.apply.

Applies this function to the given argument.

public @Nullable Set<Class<?>>
public @Nullable Set<Class<?>>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Factoryback to summary
public Factory()

Method Detail

affectsGlobalScopeback to summary
public boolean affectsGlobalScope()

Implements com.vladsch.flexmark.util.dependency.Dependent.affectsGlobalScope.

Returns:boolean

Doc from com.vladsch.flexmark.util.dependency.Dependent.affectsGlobalScope.

true if this dependent affects the global scope, which means that any that depend on it have to be run after this dependent has run against all elements. Otherwise, the dependent can run on an element after its dependents have processed an element. parsed.

Annotations
@Override
applyback to summary
public @NotNull BlockParserFactory apply(@NotNull DataHolder options)

Implements java.util.function.Function.apply.

Doc from java.util.function.Function.apply.

Applies this function to the given argument.

Parameters
options:@NotNull DataHolder

the function argument

Returns:@NotNull BlockParserFactory

the function result

Annotations
@NotNull
@Override
getAfterDependentsback to summary
public @Nullable Set<Class<?>> getAfterDependents()

Implements com.vladsch.flexmark.util.dependency.Dependent.getAfterDependents.

Returns:@Nullable Set<Class<?>>

Doc from com.vladsch.flexmark.util.dependency.Dependent.getAfterDependents.

null or a list of dependents that must be executed before calling this one if any of the blocks in the list affect global state then these will be run on ALL blocks of the document before this preprocessor is called.

Annotations
@Nullable
@Override
getBeforeDependentsback to summary
public @Nullable Set<Class<?>> getBeforeDependents()

Implements com.vladsch.flexmark.util.dependency.Dependent.getBeforeDependents.

Returns:@Nullable Set<Class<?>>

Doc from com.vladsch.flexmark.util.dependency.Dependent.getBeforeDependents.

null or a list of dependents that must be executed after calling this one if any of the blocks in the list affect global state then these will be run on ALL blocks of the document before this preprocessor is called.

Annotations
@Nullable
@Override