Example #1
0
        private void BuildLanguageBlockCollection()
        {
            var tokenizer = new MdTokenizer();
            var tokens    = tokenizer.Tokenize(TextBuffer.CurrentSnapshot.GetText());

            var rCodeTokens = tokens.Where(t => {
                var mct = t as MarkdownCodeToken;
                return(mct != null && mct.LeadingSeparatorLength > 1);
            });

            // TODO: incremental updates
            Blocks.Clear();
            _separators.Clear();

            foreach (MarkdownCodeToken t in rCodeTokens)
            {
                // Verify that code block is properly terminated.
                // If not, it ends at the end of the buffer.
                var text = t.GetText(TextBuffer.CurrentSnapshot);

                _separators.Add(new TextRange(t.Start, t.LeadingSeparatorLength)); // ```r{ or `r
                if (t.IsWellFormed)
                {
                    // Count backticks
                    Blocks.Add(TextRange.FromBounds(t.Start + t.LeadingSeparatorLength, t.End - t.TrailingSeparatorLength));
                    _separators.Add(new TextRange(t.End - t.TrailingSeparatorLength, t.TrailingSeparatorLength));
                }
                else
                {
                    Blocks.Add(TextRange.FromBounds(t.Start + t.LeadingSeparatorLength, t.End));
                }
            }
        }
Example #2
0
        private void BuildLanguageBlockCollection() {
            var tokenizer = new MdTokenizer();
            var tokens = tokenizer.Tokenize(TextBuffer.CurrentSnapshot.GetText());

            var rCodeTokens = tokens.Where(t => {
                var mct = t as MarkdownCodeToken;
                return mct != null && mct.LeadingSeparatorLength > 1;
            });

            // TODO: incremental updates
            Blocks.Clear();
            _separators.Clear();

            foreach (MarkdownCodeToken t in rCodeTokens) {
                // Verify that code block is properly terminated.
                // If not, it ends at the end of the buffer.
                var text = t.GetText(TextBuffer.CurrentSnapshot);

                _separators.Add(new TextRange(t.Start, t.LeadingSeparatorLength)); // ```r{ or `r
                if (t.IsWellFormed) {
                    // Count backticks
                    Blocks.Add(TextRange.FromBounds(t.Start + t.LeadingSeparatorLength, t.End - t.TrailingSeparatorLength));
                    _separators.Add(new TextRange(t.End - t.TrailingSeparatorLength, t.TrailingSeparatorLength));
                } else {
                    Blocks.Add(TextRange.FromBounds(t.Start + t.LeadingSeparatorLength, t.End));
                }
            }
        }
Example #3
0
        private void BuildLanguageBlockCollection()
        {
            var tokenizer = new MdTokenizer();
            var tokens    = tokenizer.Tokenize(TextBuffer.CurrentSnapshot.GetText());

            var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);

            // TODO: incremental updates
            Blocks.Clear();
            _separators.Clear();

            foreach (var t in rCodeTokens)
            {
                // Verify that code block is properly terminated.
                // If not, it ends at the end of the buffer.
                _separators.Add(new TextRange(t.Start, 5));
                if (t.IsWellFormed)
                {
                    Blocks.Add(TextRange.FromBounds(t.Start + 3, t.End - 3));
                    _separators.Add(new TextRange(t.End - 3, 3));
                }
                else
                {
                    Blocks.Add(TextRange.FromBounds(t.Start + 3, t.End));
                }
            }
        }
Example #4
0
        public string Render(string paragraph)
        {
            var tokenizer = new MdTokenizer();
            var tokens    = tokenizer.Tokenize(paragraph);
            var renderer  = new HTMLRenderer();

            return(renderer.Render(tokens));
        }
Example #5
0
        public void BuildTest(string content, int expectedTokens)
        {
            var tokenizer   = new MdTokenizer();
            var tokens      = tokenizer.Tokenize(content);
            var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);

            rCodeTokens.Should().HaveCount(expectedTokens);
        }
        private RCodeSeparatorCollection BuildCollection(string markdown)
        {
            var tokenizer   = new MdTokenizer();
            var tokens      = tokenizer.Tokenize(markdown);
            var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);

            var coll = new RCodeSeparatorCollection();

            foreach (var t in rCodeTokens)
            {
                coll.Add(new TextRange(t.Start, 5));
                coll.Add(new TextRange(t.End - 3, 3));
            }
            return(coll);
        }
Example #7
0
        private void BuildLanguageBlockCollection()
        {
            var tokenizer = new MdTokenizer();
            var tokens    = tokenizer.Tokenize(TextBuffer.CurrentSnapshot.GetText());

            var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);

            // TODO: incremental updates
            Blocks.Clear();
            _separators.Clear();
            foreach (var t in rCodeTokens)
            {
                Blocks.Add(new TextRange(t.Start + 3, t.Length - 6));
                _separators.Add(new TextRange(t.Start, 5));
                _separators.Add(new TextRange(t.End - 3, 3));
            }
        }
        private RCodeSeparatorCollection BuildCollection(string markdown) {
            var tokenizer = new MdTokenizer();
            var tokens = tokenizer.Tokenize(markdown);
            var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);

            var coll = new RCodeSeparatorCollection();
            foreach (var t in rCodeTokens) {
                coll.Add(new TextRange(t.Start, 5));
                coll.Add(new TextRange(t.End - 3, 3));
            }
            return coll;
        }
 public void BuildTest(string content, int expectedTokens) {
     var tokenizer = new MdTokenizer();
     var tokens = tokenizer.Tokenize(content);
     var rCodeTokens = tokens.Where(t => t.TokenType == MarkdownTokenType.Code);
     rCodeTokens.Should().HaveCount(expectedTokens);
 }
Example #10
0
 public void SetUp()
 {
     tokenizer = new MdTokenizer();
 }