コード例 #1
0
        bool TryProcessSnippetLine(TextWriter writer, IndexReader reader, string line, List <MissingSnippet> missings, List <Snippet> used)
        {
            if (!SnippetKeyReader.TryExtractKeyFromLine(line, out var key))
            {
                return(false);
            }

            writer.WriteLine($"<!-- snippet: {key} -->");

            if (TryGetFromFiles(key, out var snippetFromFiles))
            {
                appendSnippetGroup(key, snippetFromFiles, writer);
                writer.WriteLine($"<!-- endsnippet -->");
                used.AddRange(snippetFromFiles);
                return(true);
            }

            var missing = new MissingSnippet(
                key: key,
                line: reader.Index);

            missings.Add(missing);
            var message = $"** Could not find snippet '{key}' **";

            writer.WriteLine(message);
            return(true);
        }
コード例 #2
0
        void ProcessSnippetLine(Action <string> appendLine, List <MissingSnippet> missings, List <Snippet> used, string key, Line line)
        {
            appendLine($"<!-- snippet: {key} -->");

            if (TryGetSnippets(key, out var snippetsForKey))
            {
                appendSnippetGroup(key, snippetsForKey, appendLine);
                appendLine("<!-- endsnippet -->");
                used.AddRange(snippetsForKey);
                return;
            }

            var missing = new MissingSnippet(key, line.LineNumber, line.Path);

            missings.Add(missing);
            appendLine($"** Could not find snippet '{key}' **");
        }