module hunt.markdown.internal.BlockStartImpl; import hunt.markdown.parser.block.BlockParser; import hunt.markdown.parser.block.BlockStart; import hunt.logging; class BlockStartImpl : BlockStart { private BlockParser[] blockParsers; private int newIndex = -1; private int newColumn = -1; private bool _replaceActiveBlockParser = false; public this(BlockParser[] blockParsers...) { foreach(bl; blockParsers) { this.blockParsers ~= bl; } } public BlockParser[] getBlockParsers() { return blockParsers; } public int getNewIndex() { return newIndex; } public int getNewColumn() { return newColumn; } public bool isReplaceActiveBlockParser() { return _replaceActiveBlockParser; } override public BlockStart atIndex(int newIndex) { this.newIndex = newIndex; return this; } override public BlockStart atColumn(int newColumn) { this.newColumn = newColumn; return this; } override public BlockStart replaceActiveBlockParser() { this._replaceActiveBlockParser = true; return this; } }