コード例 #1
0
        protected CreoleElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
        {
            Context = context;
            _tokens = tokens;

            _token         = tokens.GetEnumerator();
            _tokenHasValue = _token.MoveNext();
        }
コード例 #2
0
 private CreoleRichTextElementProcessor _GetHyperlinkBaseElementProcessor(CreoleParserContext contenxt, TokenRange <CreoleTokenCode> tokens)
 => new CreoleLineBreakElementProcessor(
     _context,
     tokens,
     new CreoleImageElementProcessor(
         _context,
         tokens,
         new CreoleCodeElementProcessor(
             _context,
             tokens)
         )
     );
コード例 #3
0
 private CreoleRichTextElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, ICreoleRichTextElementDataIterator elementIterator)
 {
     _tokens  = tokens;
     Context  = context;
     _element = elementIterator;
     if (_element != null && _element.MoveNext())
     {
         _token      = _tokens.SubRange(_startIndex, (_element.Current.StartIndex - _startIndex)).GetEnumerator();
         _startIndex = _element.Current.EndIndex;
     }
     else
     {
         _element?.Dispose();
         _element    = null;
         _token      = _tokens.GetEnumerator();
         _startIndex = _tokens.Count;
     }
 }
コード例 #4
0
        private IElementDataIterator _GetStyleElementIterator(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, IEnumerable <CreoleRichTextElementData> baseElementsData, IEnumerable <CreoleRichTextElementType> excludedElementTypes)
        {
            var processors = new List <IElementDataIterator>();

            if (excludedElementTypes == null)
            {
                foreach (var styleElementFactory in _styleElementFactories)
                {
                    var elementType = styleElementFactory.Key;
                    processors.Add(new ElementProcessorFilterIterator(styleElementFactory.Value(_context, tokens, baseElementsData), elementType));
                }
            }
            else
            {
                foreach (var styleElementFactory in _styleElementFactories)
                {
                    var elementType = styleElementFactory.Key;
                    if (!_Contains(excludedElementTypes, elementType))
                    {
                        processors.Add(new ElementProcessorFilterIterator(styleElementFactory.Value(_context, tokens, baseElementsData), elementType));
                    }
                }
            }

            IElementDataIterator styleElementIterator = null;

            using (var processor = processors.GetEnumerator())
                if (processor.MoveNext())
                {
                    styleElementIterator = processor.Current;
                    while (processor.MoveNext())
                    {
                        styleElementIterator = new MergeElementDataIterator(styleElementIterator, processor.Current);
                    }
                }
            return(styleElementIterator);
        }
コード例 #5
0
 internal CreoleHeadingElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : base(context, tokens)
 {
 }
コード例 #6
0
 public CreoleListElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : base(context, tokens)
 {
 }
コード例 #7
0
 internal CreolePluginElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, CreoleRichTextElementProcessor baseElementProcessor)
     : base(context, tokens, baseElementProcessor)
 {
 }
コード例 #8
0
 internal CreoleRichTextElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, IEnumerable <CreoleRichTextElementData> elements)
     : this(context, tokens, (elements != null ? new CreoleRichTextElementDataCollectionAdapter(elements) : null))
 {
 }
コード例 #9
0
 internal CreoleRichTextElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, CreoleRichTextElementProcessor elementProcessor)
     : this(context, tokens, (elementProcessor != null ? new CreoleRichTextElementProcessorIteratorAdapter(elementProcessor) : null))
 {
 }
コード例 #10
0
 internal CreoleRichTextElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : this(context, tokens, elementIterator : null)
 {
 }
コード例 #11
0
 internal CreoleHorizontalRuleElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : base(context, tokens)
 {
 }
コード例 #12
0
 protected CreoleUrlElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : base(context, tokens)
 {
 }
コード例 #13
0
 private IElementDataIterator _GetStyleElementIterator(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, IEnumerable <CreoleRichTextElementData> baseElementsData)
 => _GetStyleElementIterator(context, tokens, baseElementsData, null);
コード例 #14
0
 internal CreoleRichTextProcessor(CreoleParserContext context)
 {
     _context = context;
 }
コード例 #15
0
 internal CreoleStyleElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, IEnumerable <CreoleRichTextElementData> baseElements)
     : base(context, tokens, baseElements)
 {
 }
コード例 #16
0
 internal CreoleInlineHyperlinkProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens)
     : base(context, tokens)
 {
 }
コード例 #17
0
 protected CreoleUrlElementProcessor(CreoleParserContext context, TokenRange <CreoleTokenCode> tokens, CreoleRichTextElementProcessor baseElementProcessor)
     : base(context, tokens, baseElementProcessor)
 {
 }