Ejemplo n.º 1
0
        public Sample Format(IFileReference file, string languageClass = null)
        {
            var snippet = new Sample(file.Path){
                Language = languageClass ?? "lang-" + Path.GetExtension(file.Path).Replace(".", "")
            };

            file.ReadContents(stream =>
            {
                using (var reader = new StreamReader(stream))
                {
                    int lineNumber = 0;

                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        lineNumber++;

                        if (line.Contains(Samples.SAMPLE) || line.Contains(Samples.END))
                        {
                            snippet.Append(string.Empty, lineNumber);
                        }
                        else
                        {
                            snippet.Append(line, lineNumber);
                        }
                    }
                }
            });



            return snippet;
        }
Ejemplo n.º 2
0
        private void lookForNewSnippet(string text, int lineNumber)
        {
            var name = _scanner.DetermineName(text);

            if (name.IsNotEmpty())
            {
                FoundSamples = true;

                var sample = new Sample(name){
                    Language = _scanner.Language,
                    File = _file.Path
                };

                _readAction = (txt, num) =>
                {
                    if (_scanner.IsAtEnd(txt))
                    {
                        _cache.AddOrReplace(sample);
                        _readAction = lookForNewSnippet;
                    }
                    else
                    {
                        sample.Append(txt, num);
                    }
                };
            }
        }
Ejemplo n.º 3
0
        public void level_indention()
        {
            var sample = new Sample("something");
            sample.Append("    something", 5);
            sample.Append("        else", 6);

            sample.Text.ShouldBe(@"something{0}    else{0}".ToFormat(Environment.NewLine).TrimStart());
        }
Ejemplo n.º 4
0
 public void AddOrReplace(Sample sample)
 {
     if (_snippets.ContainsKey(sample.Name))
     {
         _snippets[sample.Name] = sample;
     }
     else
     {
         _snippets.Add(sample.Name, sample);
     }
 }
Ejemplo n.º 5
0
        public void append()
        {
            var sample = new Sample("the sample");
            sample.Append("something", 5);

            sample.Text.ShouldBe("something" + Environment.NewLine);
            sample.Start.ShouldBe(5);
            sample.End.ShouldBe(5);

            sample.Append("else", 6);
            sample.Append("and more", 7);

            sample.Start.ShouldBe(5);
            sample.End.ShouldBe(7);

            sample.Text.ShouldBe(@"something{0}else{0}and more{0}".ToFormat(Environment.NewLine).TrimStart());
            
        }
Ejemplo n.º 6
0
 public SampleTag(Sample sample) : base("pre")
 {
     Add("code").AddClass("language-" + sample.Language).Text(Environment.NewLine + sample.Text);
 }
Ejemplo n.º 7
0
 void ISampleCache.AddOrReplace(Sample sample)
 {
     _samples.AddOrReplace(sample);
 }