SYMBOL INDEX (613 symbols across 98 files) FILE: src/Benchmarks/FullRenderBenchmarks.cs class FullRenderBenchmarks (line 8) | [MemoryDiagnoser] method DirectoryFilter (line 15) | static bool DirectoryFilter(string path) => method SnippetDirectoryFilter (line 20) | static bool SnippetDirectoryFilter(string path) => method Setup (line 24) | [GlobalSetup] method FullRepoRender (line 58) | [Benchmark(Description = "Full repo render")] method FileDiscoveryAndSnippetExtraction (line 74) | [Benchmark(Description = "File discovery + snippet extraction")] method MarkdownProcessorApply (line 87) | [Benchmark(Description = "MarkdownProcessor.Apply (50 snippets)")] FILE: src/ConfigReader.Tests/ConfigReaderTests.cs class ConfigReaderTests (line 1) | public class ConfigReaderTests method Empty (line 3) | [Fact] method BadJson (line 11) | [Fact] method Values (line 22) | [Fact] method FileExcludesToFilter_NullOrEmpty_ReturnsNull (line 30) | [Fact] method FileExcludesToFilter_GlobMatching (line 37) | [Fact] method FileExcludesToFilter_CaseInsensitive (line 55) | [Fact] FILE: src/ConfigReader.Tests/ModuleInitializer.cs class ModuleInitializer (line 1) | public static class ModuleInitializer method Initialize (line 3) | [ModuleInitializer] FILE: src/ConfigReader/ConfigDefaults.cs class ConfigDefaults (line 1) | public static class ConfigDefaults method Convert (line 3) | public static ConfigResult Convert(ConfigInput? fileConfig, ConfigInpu... method JoinLists (line 55) | static List JoinLists(List list1, List list2) => method GetValueOrDefault (line 61) | static T GetValueOrDefault(string name, T? input, T? config, T defa... method GetValueOrNull (line 82) | static T? GetValueOrNull(string name, T? input, T? config) method GetValueOrDefault (line 99) | static string? GetValueOrDefault(string name, string? input, string? c... FILE: src/ConfigReader/ConfigInput.cs class ConfigInput (line 1) | public class ConfigInput FILE: src/ConfigReader/ConfigReader.cs class ConfigReader (line 1) | public static class ConfigReader method Read (line 3) | public static (ConfigInput? config, string path) Read(string directory) method TryFindConfigFile (line 14) | static bool TryFindConfigFile(string directory, out string path) method Parse (line 37) | public static ConfigInput Parse(string contents, string path) method DeSerialize (line 63) | static ConfigSerialization DeSerialize(string contents) method GetConvention (line 85) | static DocumentConvention? GetConvention(string? value, string path) method GetLinkFormat (line 100) | static LinkFormat? GetLinkFormat(string? value, string path) FILE: src/ConfigReader/ConfigResult.cs class ConfigResult (line 1) | public class ConfigResult FILE: src/ConfigReader/ConfigSerialization.cs class ConfigSerialization (line 1) | public class ConfigSerialization FILE: src/ConfigReader/ConfigurationException.cs class ConfigurationException (line 1) | class ConfigurationException(string message) : FILE: src/ConfigReader/ExcludeToFilterBuilder.cs class ExcludeToFilterBuilder (line 1) | static class ExcludeToFilterBuilder method ExcludesToFilter (line 3) | public static ShouldIncludeDirectory ExcludesToFilter(List? ex... method FileExcludesToFilter (line 35) | public static ShouldIncludeFile? FileExcludesToFilter(List? ex... method GlobToRegex (line 62) | static Regex GlobToRegex(string glob) FILE: src/ConfigReader/LogBuilder.cs class LogBuilder (line 1) | static class LogBuilder method BuildConfigLogMessage (line 3) | public static string BuildConfigLogMessage(string targetDirectory, Con... method GetHeader (line 116) | static string? GetHeader(ConfigResult config) FILE: src/MarkdownSnippets.MsBuild/DocoTask.cs class DocoTask (line 6) | public class DocoTask : method Execute (line 29) | public override bool Execute() method Cancel (line 167) | public void Cancel() FILE: src/MarkdownSnippets.MsBuild/LoggingHelper.cs class LoggingHelper (line 3) | static class LoggingHelper method LogFileError (line 5) | public static void LogFileError(this TaskLoggingHelper loggingHelper, ... FILE: src/MarkdownSnippets.Tool.Tests/CommandRunnerTests.cs class CommandRunnerTests (line 1) | public class CommandRunnerTests method Empty (line 6) | [Fact] method SingleUnNamedArg (line 13) | [Fact] method Header (line 20) | [Fact] method UrlPrefix (line 27) | [Fact] method WriteHeader (line 34) | [Fact] method OmitSnippetLinks (line 41) | [Fact] method ValidateContentShort (line 48) | [Fact] method ValidateContentLong (line 55) | [Fact] method ConventionShort (line 62) | [Fact] method ConventionLong (line 69) | [Fact] method ReadOnlyShort (line 76) | [Fact] method ReadOnlyLong (line 83) | [Fact] method LinkFormatShort (line 90) | [Fact] method LinkFormatLong (line 97) | [Fact] method TargetDirectoryShort (line 104) | [Fact] method TargetDirectoryLong (line 111) | [Fact] method MaxWidthLong (line 118) | [Fact] method TocLevelLong (line 125) | [Fact] method ExcludeShort (line 132) | [Fact] method ExcludeMultiple (line 139) | [Fact] method ExcludeDuplicates (line 146) | [Fact] method ExcludeWhitespace (line 150) | [Fact] method ExcludeLong (line 154) | [Fact] method ExcludeMarkdownDirectoriesLong (line 161) | [Fact] method ExcludeSnippetDirectoriesLong (line 168) | [Fact] method UrlsAsSnippetsShort (line 175) | [Fact] method UrlsAsSnippetsMultiple (line 182) | [Fact] method UrlsAsSnippetsDuplicates (line 189) | [Fact] method UrlsAsSnippetsWhitespace (line 193) | [Fact] method UrlsAsSnippetsLong (line 196) | [Fact] method Capture (line 203) | Task Capture(string targetDirectory, ConfigInput configInput) method VerifyResult (line 210) | Task VerifyResult() => FILE: src/MarkdownSnippets.Tool.Tests/LogBuilderTests.cs class LogBuilderTests (line 1) | public class LogBuilderTests method BuildConfigLogMessage (line 3) | [Fact] method BuildConfigLogMessageSourceTransform (line 28) | [Fact] method BuildConfigLogMessageMinimal (line 53) | [Fact] FILE: src/MarkdownSnippets.Tool.Tests/ModuleInitializer.cs class ModuleInitializer (line 1) | public static class ModuleInitializer method Initialize (line 3) | [ModuleInitializer] FILE: src/MarkdownSnippets.Tool/CommandLineException.cs class CommandLineException (line 1) | class CommandLineException(string message) : FILE: src/MarkdownSnippets.Tool/CommandRunner.cs class CommandRunner (line 1) | static class CommandRunner method RunCommand (line 3) | public static Task RunCommand(Invoke invoke, params string[] args) method ValidateAndApplyDefaults (line 42) | static void ValidateAndApplyDefaults(Options options) method ValidateItems (line 88) | static void ValidateItems(string name, IList items) FILE: src/MarkdownSnippets.Tool/Options.cs class Options (line 1) | public class Options FILE: src/MarkdownSnippets/ContentValidation.cs class ContentValidation (line 1) | static class ContentValidation method Verify (line 76) | public static IEnumerable<(string error, int column)> Verify(string line) method Tokenize (line 128) | static List<(string word, int start)> Tokenize(string cleanedLine) method Clean (line 153) | static string Clean(string input) FILE: src/MarkdownSnippets/ContentValidationException.cs class ContentValidationException (line 3) | public class ContentValidationException(IReadOnlyList e... method BuildMessage (line 8) | static string BuildMessage(IReadOnlyList errors) method ToString (line 38) | public override string ToString() => Message; FILE: src/MarkdownSnippets/Downloader/Downloader.cs class Downloader (line 1) | static class Downloader method Downloader (line 5) | static Downloader() method DownloadFile (line 22) | public static async Task<(bool success, string? path)> DownloadFile(st... method DownloadContent (line 71) | public static async Task<(bool success, string? content)> DownloadCont... FILE: src/MarkdownSnippets/Downloader/FileNameFromUrl.cs class FileNameFromUrl (line 1) | static class FileNameFromUrl method ConvertToFileName (line 5) | public static string ConvertToFileName(string url) FILE: src/MarkdownSnippets/Downloader/Timestamp.cs class Timestamp (line 1) | class Timestamp method GetTimestamp (line 7) | public static Timestamp GetTimestamp(HttpResponseMessage headResponse) method SetTimestamp (line 24) | public static void SetTimestamp(string path, Timestamp timestamp) method GetTimestamp (line 30) | public static Timestamp GetTimestamp(string path) FILE: src/MarkdownSnippets/Extensions.cs class Extensions (line 1) | static class Extensions method TryFindNewline (line 3) | public static bool TryFindNewline(this TextReader reader, [NotNullWhen... method TrimEnd (line 44) | public static void TrimEnd(this StringBuilder builder) method ToReadonlyList (line 61) | public static IReadOnlyList ToReadonlyList(this IEnumerable v... method LineCount (line 63) | public static int LineCount(this CharSpan input) method LastIndexOfSequence (line 88) | public static int LastIndexOfSequence(this CharSpan value, char c, int... method TrimBackCommentChars (line 113) | public static CharSpan TrimBackCommentChars(this CharSpan input, int s... method Lines (line 127) | public static string[] Lines(this string value) => method IsWhiteSpace (line 130) | public static bool IsWhiteSpace(this CharSpan target) FILE: src/MarkdownSnippets/FileEx.cs class FileEx (line 1) | static class FileEx method FixFileCapitalization (line 3) | public static string FixFileCapitalization(string file) method GetRelativePath (line 21) | public static string GetRelativePath(string file, string directory) method PrependSlash (line 34) | public static string PrependSlash(string path) method ClearReadOnly (line 44) | public static void ClearReadOnly(string path) method MakeReadOnly (line 58) | public static void MakeReadOnly(string path) FILE: src/MarkdownSnippets/GitRepoDirectoryFinder.cs class GitRepoDirectoryFinder (line 3) | public static class GitRepoDirectoryFinder method FindForFilePath (line 5) | public static string FindForFilePath([CallerFilePath] string sourceFil... method FindForDirectory (line 12) | public static string FindForDirectory(string directory) method TryFind (line 23) | static bool TryFind(string directory, [NotNullWhen(true)] out string? ... method IsInGitRepository (line 41) | public static bool IsInGitRepository(string directory) method TryFind (line 47) | static bool TryFind(string directory, string suffix, [NotNullWhen(true... FILE: src/MarkdownSnippets/Guard.cs class Guard (line 1) | static class Guard method AgainstUpperCase (line 3) | public static void AgainstUpperCase(string value, string argumentName) method AgainstNegativeAndZero (line 14) | public static void AgainstNegativeAndZero(int value, string argumentName) method AgainstNegative (line 22) | public static void AgainstNegative(int value, string argumentName) method AgainstNullAndEmpty (line 30) | public static void AgainstNullAndEmpty(string? value, string argumentN... method DirectoryExists (line 38) | public static void DirectoryExists(string path, string argumentName) method FileExists (line 47) | public static void FileExists(string? path, string argumentName) method AgainstEmpty (line 56) | public static void AgainstEmpty(string? value, string argumentName) FILE: src/MarkdownSnippets/InterpretErrors.cs class InterpretErrors (line 6) | public static class InterpretErrors method ErrorsAsMarkdown (line 11) | public static string ErrorsAsMarkdown(this IReadOnlyList snip... method ErrorsAsMarkdown (line 34) | public static string ErrorsAsMarkdown(this ProcessResult processResult) FILE: src/MarkdownSnippets/KeyValidator.cs class KeyValidator (line 1) | static class KeyValidator method IsValidKey (line 3) | public static bool IsValidKey(CharSpan key) FILE: src/MarkdownSnippets/MarkdownProcessingException.cs class MarkdownProcessingException (line 3) | public class MarkdownProcessingException : method MarkdownProcessingException (line 9) | public MarkdownProcessingException(string message, string? file, int l... method ToString (line 18) | public override string ToString() => Message; FILE: src/MarkdownSnippets/MissingIncludesException.cs class MissingIncludesException (line 3) | public class MissingIncludesException(IReadOnlyList miss... method ToString (line 8) | public override string ToString() => Message; FILE: src/MarkdownSnippets/MissingSnippetsException.cs class MissingSnippetsException (line 3) | public class MissingSnippetsException(IReadOnlyList miss... method Report (line 8) | static string Report(IReadOnlyList missing) => method ToString (line 14) | public override string ToString() => Message; FILE: src/MarkdownSnippets/NewLineConfigReader.cs class NewLineConfigReader (line 1) | static class NewLineConfigReader method ReadNewLine (line 3) | public static string ReadNewLine(string directory, IEnumerable... method DetectFromFiles (line 20) | static string DetectFromFiles(IEnumerable mdFiles) method TryReadFromGitAttributes (line 34) | static string? TryReadFromGitAttributes(string directory) method ParseGitAttributesEol (line 46) | static string? ParseGitAttributesEol(string[] lines) method ExtractGitAttributeEol (line 81) | static string? ExtractGitAttributeEol(string line) method GetGitAttributePattern (line 116) | static string GetGitAttributePattern(string line) method TryReadFromEditorConfig (line 128) | static string? TryReadFromEditorConfig(string directory) method ParseEditorConfigEol (line 140) | static string? ParseEditorConfigEol(string[] lines) method EditorConfigSectionMatchesMd (line 192) | static bool EditorConfigSectionMatchesMd(CharSpan section) method EolValueToNewLine (line 228) | static string? EolValueToNewLine(string? eolValue) => method FindFileUpward (line 237) | static string? FindFileUpward(string directory, string fileName) FILE: src/MarkdownSnippets/Paths.cs class Paths (line 1) | static class Paths method IsMdFile (line 3) | public static bool IsMdFile(this string value) => method IsSourceMdFile (line 7) | public static bool IsSourceMdFile(this string value) => method IsIncludeMdFile (line 11) | public static bool IsIncludeMdFile(this string value) => FILE: src/MarkdownSnippets/Processing/DirectoryMarkdownProcessor.cs class DirectoryMarkdownProcessor (line 3) | public class DirectoryMarkdownProcessor method DirectoryMarkdownProcessor (line 24) | public DirectoryMarkdownProcessor( method DirectoryMarkdownProcessor (line 71) | public DirectoryMarkdownProcessor( method InitNewLine (line 152) | [MemberNotNull(nameof(newLine))] method AddSnippets (line 163) | public void AddSnippets(List snippets) method AddSnippets (line 181) | public void AddSnippets(params Snippet[] snippets) => method AddMdFiles (line 184) | public void AddMdFiles(params string[] files) method Run (line 192) | public void Run() method ProcessFile (line 252) | void ProcessFile(string sourceFile, MarkdownProcessor markdownProcessor) method WriteLines (line 320) | void WriteLines(string target, List lines) method ReadLines (line 332) | static List ReadLines(string sourceFile) method TargetFileForSourceTransform (line 338) | static string TargetFileForSourceTransform(string sourceFile, string t... FILE: src/MarkdownSnippets/Processing/DocumentConvention.cs type DocumentConvention (line 3) | public enum DocumentConvention FILE: src/MarkdownSnippets/Processing/HeaderWriter.cs class HeaderWriter (line 1) | static class HeaderWriter method HeaderWriter (line 13) | static HeaderWriter() => method WriteHeader (line 16) | public static string WriteHeader(string relativePath, string? header, ... method Header (line 27) | static string[] Header(string? header) FILE: src/MarkdownSnippets/Processing/IncludeProcessor.cs class IncludeProcessor (line 1) | class IncludeProcessor method IncludeProcessor (line 9) | public IncludeProcessor( method TryProcessInclude (line 24) | public bool TryProcessInclude(List lines, Line line, ICollection... method Inner (line 82) | void Inner(List lines, Line line, ICollection used, int... method AddInclude (line 128) | void AddInclude(List lines, Line line, ICollection used... method BuildIncludes (line 140) | IEnumerable BuildIncludes(Line line, Include include, bool write... method BuildMultiple (line 158) | static IEnumerable BuildMultiple(Line line, string? path, Includ... method ShouldWriteIncludeOnDiffLine (line 207) | static bool ShouldWriteIncludeOnDiffLine(string line) => method BuildEmpty (line 214) | static IEnumerable BuildEmpty(Line line, string? path, Include i... method BuildSingle (line 226) | static IEnumerable BuildSingle(Line line, string? path, Include ... method GetPath (line 257) | string? GetPath(IContent include) FILE: src/MarkdownSnippets/Processing/Line.cs class Line (line 1) | [DebuggerDisplay("Line={LineNumber}, Original={Original}, Current={Curre... method Line (line 4) | public Line(string original, string? path, int lineNumber) method WithCurrent (line 13) | public Line WithCurrent(string current) => method ToString (line 21) | public override string ToString() => method GetLeadingWhitespace (line 44) | static string GetLeadingWhitespace(string text) FILE: src/MarkdownSnippets/Processing/Lines.cs class Lines (line 1) | static class Lines method RemoveUntil (line 3) | public static void RemoveUntil( method ReadAllLines (line 25) | public static IEnumerable ReadAllLines(TextReader textReader, st... FILE: src/MarkdownSnippets/Processing/LinkFormat.cs type LinkFormat (line 3) | public enum LinkFormat FILE: src/MarkdownSnippets/Processing/Markdown.cs class Markdown (line 1) | static class Markdown method StripMarkdown (line 5) | public static string StripMarkdown(string input) FILE: src/MarkdownSnippets/Processing/MarkdownProcessor.cs class MarkdownProcessor (line 6) | public class MarkdownProcessor method MarkdownProcessor (line 30) | public MarkdownProcessor( method Apply (line 83) | public string Apply(string input, string? file = null) method Apply (line 109) | public ProcessResult Apply(TextReader textReader, TextWriter writer, s... method Apply (line 127) | internal ProcessResult Apply(List lines, string newLine, string?... method ValidateContent (line 272) | bool ValidateContent(string? relativePath, Line line, List appendLine, List appendLine, List SnippetsForFile(string key, string relativeToRoot) => method GetForHttp (line 426) | bool GetForHttp(string key, out IReadOnlyList snippetsForKey) method FileToSnippet (line 439) | Snippet FileToSnippet(string key, string file, string? path) method ReadNonStartEndLines (line 458) | (string text, int lineCount) ReadNonStartEndLines(string file) FILE: src/MarkdownSnippets/Processing/MissingInclude.cs class MissingInclude (line 6) | [DebuggerDisplay("Key={Key}, Line={LineNumber}")] method MissingInclude (line 12) | public MissingInclude(string key, int lineNumber, string? file) method ToString (line 37) | public override string ToString() FILE: src/MarkdownSnippets/Processing/MissingSnippet.cs class MissingSnippet (line 6) | [DebuggerDisplay("Key={Key}, Line={LineNumber}")] method MissingSnippet (line 12) | public MissingSnippet(string key, int lineNumber, string? file) method ToString (line 37) | public override string ToString() FILE: src/MarkdownSnippets/Processing/ProcessResult.cs class ProcessResult (line 6) | public class ProcessResult( method GetEnumerator (line 27) | public virtual IEnumerator GetEnumerator() method GetEnumerator (line 47) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); FILE: src/MarkdownSnippets/Processing/RelativeFile.cs class RelativeFile (line 1) | static class RelativeFile method InnerFind (line 3) | static bool InnerFind(IReadOnlyList allFiles, string targetDir... method Find (line 66) | public static bool Find( FILE: src/MarkdownSnippets/Processing/SimpleSnippetMarkdownHandling.cs class SimpleSnippetMarkdownHandling (line 6) | public static class SimpleSnippetMarkdownHandling method Append (line 8) | public static void Append(string key, IEnumerable snippets, A... method WriteSnippet (line 16) | static void WriteSnippet(Action appendLine, Snippet snippet) FILE: src/MarkdownSnippets/Processing/SnippetKey.cs class SnippetKey (line 1) | static class SnippetKey method ExtractStartCommentSnippet (line 3) | public static bool ExtractStartCommentSnippet(Line line, [NotNullWhen(... method ExtractStartCommentWebSnippet (line 23) | public static bool ExtractStartCommentWebSnippet(Line line, [NotNullWh... method ExtractStartCommentWebSnippet (line 26) | public static bool ExtractStartCommentWebSnippet(Line line, [NotNullWh... method ExtractSnippet (line 75) | public static bool ExtractSnippet(Line line, [NotNullWhen(true)] out s... method ExtractWebSnippet (line 94) | public static bool ExtractWebSnippet(Line line, [NotNullWhen(true)] ou... method ExtractWebSnippet (line 97) | public static bool ExtractWebSnippet(Line line, [NotNullWhen(true)] ou... method IsSnippetLine (line 138) | public static bool IsSnippetLine(string line) => method IsSnippetLine (line 141) | public static bool IsSnippetLine(CharSpan line) => method IsStartCommentSnippetLine (line 144) | public static bool IsStartCommentSnippetLine(string line) => method IsStartCommentSnippetLine (line 147) | public static bool IsStartCommentSnippetLine(CharSpan line) => method IsWebSnippetLine (line 150) | public static bool IsWebSnippetLine(string line) => method IsWebSnippetLine (line 153) | public static bool IsWebSnippetLine(CharSpan line) => method IsStartCommentWebSnippetLine (line 156) | public static bool IsStartCommentWebSnippetLine(string line) => method IsStartCommentWebSnippetLine (line 159) | public static bool IsStartCommentWebSnippetLine(CharSpan line) => FILE: src/MarkdownSnippets/Processing/SnippetMarkdownHandling.cs class SnippetMarkdownHandling (line 6) | public class SnippetMarkdownHandling method SnippetMarkdownHandling (line 13) | public SnippetMarkdownHandling(string targetDirectory, LinkFormat link... method Append (line 23) | public void Append(string key, IEnumerable snippets, Action appendLine, Snippet snippet, uint index) method GetAnchorText (line 51) | static string GetAnchorText(Snippet snippet, uint index) method GetSupText (line 74) | string GetSupText(Snippet snippet, string anchor) method WriteSnippetValueAndLanguage (line 109) | static void WriteSnippetValueAndLanguage(Action appendLine, Sn... method BuildLink (line 123) | void BuildLink(Snippet snippet, string path, StringBuilder builder) FILE: src/MarkdownSnippets/Processing/TocBuilder.cs class TocBuilder (line 1) | static class TocBuilder method BuildToc (line 3) | public static string BuildToc(List headerLines, int level, List<... method GetTitle (line 64) | static string GetTitle(string current) method BuildLink (line 70) | static void BuildLink(StringBuilder builder, Dictionary p... method SanitizeLink (line 82) | internal static void SanitizeLink(StringBuilder builder, CharSpan title) FILE: src/MarkdownSnippets/Processing/ValidationError.cs class ValidationError (line 6) | [DebuggerDisplay("Error={Error}, Line={Line}:{Column}")] method ValidationError (line 12) | public ValidationError(string error, int line, int column, string? file) method ToString (line 44) | public override string ToString() FILE: src/MarkdownSnippets/Reading/Exclusions/DefaultDirectoryExclusions.cs class DefaultDirectoryExclusions (line 3) | public static class DefaultDirectoryExclusions method ShouldExcludeDirectory (line 5) | public static bool ShouldExcludeDirectory(string path) FILE: src/MarkdownSnippets/Reading/Exclusions/SnippetFileExclusions.cs class SnippetFileExclusions (line 3) | public static class SnippetFileExclusions method IsBinary (line 5) | public static bool IsBinary(string extension) => method CanContainCommentsExtension (line 8) | public static bool CanContainCommentsExtension(string extension) => method AddNoAcceptCommentsExtensions (line 28) | public static void AddNoAcceptCommentsExtensions(params string[] exten... method RemoveNoAcceptCommentsExtensions (line 39) | public static void RemoveNoAcceptCommentsExtensions(params string[] ex... method AddBinaryFileExtensions (line 326) | public static void AddBinaryFileExtensions(params string[] extensions) method RemoveBinaryFileExtensions (line 337) | public static void RemoveBinaryFileExtensions(params string[] extensions) FILE: src/MarkdownSnippets/Reading/FileFinder.cs class FileFinder (line 1) | class FileFinder( method FindFiles (line 14) | public (List snippetFiles, List mdFiles, List ... method FindFiles (line 30) | void FindFiles(string directory) method ProcessFiles (line 41) | void ProcessFiles(string directory) method IncludeAsSnippet (line 93) | bool IncludeAsSnippet(string file) => method EnumerateFiles (line 96) | static IEnumerable EnumerateFiles(string directory) => method ProcessMarkdown (line 100) | void ProcessMarkdown(string file) method ShouldInclude (line 120) | static bool ShouldInclude(string file) FILE: src/MarkdownSnippets/Reading/FileSnippetExtractor.cs class FileSnippetExtractor (line 6) | public static class FileSnippetExtractor method AppendUrlAsSnippet (line 11) | public static Task AppendUrlAsSnippet(this ICollection snippe... method AppendUrlsAsSnippets (line 20) | public static Task AppendUrlsAsSnippets(this ICollection snip... method AppendUrlsAsSnippets (line 26) | public static async Task AppendUrlsAsSnippets(this ICollection snipp... method AppendFileAsSnippet (line 56) | public static void AppendFileAsSnippet(this ICollection snipp... method AppendFilesAsSnippets (line 62) | public static void AppendFilesAsSnippets(this ICollection sni... method AppendFileAsSnippet (line 70) | public static void AppendFileAsSnippet(ICollection snippets, ... method Read (line 84) | public static IEnumerable Read(IEnumerable paths, int... method Read (line 95) | public static IEnumerable Read(string path, int maxWidth = in... method Read (line 116) | public static IEnumerable Read(TextReader textReader, string ... method GetLanguageFromPath (line 123) | public static string GetLanguageFromPath(string path) method GetSnippets (line 131) | static IEnumerable GetSnippets(TextReader stringReader, strin... method BuildSnippet (line 199) | static Snippet BuildSnippet(string path, LoopStack loopStack, string l... FILE: src/MarkdownSnippets/Reading/IContent.cs type IContent (line 3) | public interface IContent FILE: src/MarkdownSnippets/Reading/Include.cs class Include (line 3) | [DebuggerDisplay("Key={Key}, Path={Path}, Error={Error}")] method BuildError (line 10) | public static Include BuildError(string key, int lineNumberInError, st... method Build (line 27) | public static Include Build(string key, IReadOnlyList lines, s... method ThrowIfIsInError (line 65) | void ThrowIfIsInError() method ToString (line 73) | public override string ToString() => FILE: src/MarkdownSnippets/Reading/LineTooLongException.cs class LineTooLongException (line 1) | class LineTooLongException(string line) : FILE: src/MarkdownSnippets/Reading/LoopStack.cs class LoopStack (line 1) | [DebuggerDisplay("Depth={stack.Count}, IsInSnippet={IsInSnippet}")] method AppendLine (line 8) | public void AppendLine(string line) method Pop (line 16) | public void Pop() => stack.Pop(); method Push (line 18) | public void Push(EndFunc endFunc, CharSpan key, int startLine, int max... FILE: src/MarkdownSnippets/Reading/LoopState.cs class LoopState (line 1) | [DebuggerDisplay("Key={Key}")] method GetLines (line 4) | public string GetLines() method AppendLine (line 22) | public void AppendLine(string line) method CheckWhiteSpace (line 63) | void CheckWhiteSpace(CharSpan line, char whiteSpace) FILE: src/MarkdownSnippets/Reading/ReadSnippets.cs class ReadSnippets (line 3) | [DebuggerDisplay("Count={Snippets.Count}")] method ReadSnippets (line 12) | public ReadSnippets(IReadOnlyList snippets, IReadOnlyList GetEnumerator() method GetEnumerator (line 33) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); FILE: src/MarkdownSnippets/Reading/Snippet.cs class Snippet (line 3) | [DebuggerDisplay("Key={Key}, FileLocation={FileLocation}, Error={Error}")] method BuildError (line 10) | public static Snippet BuildError(string key, int lineNumberInError, st... method Build (line 29) | public static Snippet Build(int startLine, int endLine, string value, ... method Build (line 59) | public static Snippet Build(int startLine, int endLine, string value, ... method ThrowIfIsInError (line 163) | void ThrowIfIsInError() method ToString (line 171) | public override string ToString() => FILE: src/MarkdownSnippets/Reading/StartEndTester.cs class StartEndTester (line 1) | static class StartEndTester method IsStartOrEnd (line 3) | internal static bool IsStartOrEnd(CharSpan line) method IsStart (line 12) | internal static bool IsStart( method IsEndRegion (line 44) | static bool IsEndRegion(CharSpan line) => method IsEndSnippet (line 47) | static bool IsEndSnippet(CharSpan line) => method IsStartRegion (line 50) | static bool IsStartRegion(CharSpan line) => method IsStartRegion (line 53) | internal static bool IsStartRegion( method IsBeginSnippet (line 76) | static bool IsBeginSnippet(CharSpan line) method IsBeginSnippet (line 82) | internal static bool IsBeginSnippet( method IsBeginSnippet (line 89) | internal static bool IsBeginSnippet( method ExtractLanguage (line 159) | static CharSpan ExtractLanguage(CharSpan args, scoped CharSpan key, sc... method IndexOf (line 212) | static int IndexOf(CharSpan line, CharSpan value) FILE: src/MarkdownSnippets/SnippetException.cs class SnippetException (line 3) | public class SnippetException(string message) : FILE: src/MarkdownSnippets/SnippetExtensions.cs class SnippetExtensions (line 1) | static class SnippetExtensions method ToDictionary (line 3) | public static Dictionary> ToDictionary(... method ScrubPath (line 10) | static string? ScrubPath(Snippet snippet) FILE: src/MarkdownSnippets/SnippetReadingException.cs class SnippetReadingException (line 3) | public class SnippetReadingException(string message) : FILE: src/MarkdownSnippets/StringBuilderCache.cs class StringBuilderCache (line 1) | static class StringBuilderCache method Acquire (line 8) | public static StringBuilder Acquire(int capacity = 16) method Release (line 25) | public static void Release(StringBuilder builder) method GetStringAndRelease (line 33) | public static string GetStringAndRelease(StringBuilder builder) FILE: src/Tests/ContentValidationTest.cs class ContentValidationTest (line 1) | public class ContentValidationTest method CheckInvalidWord (line 3) | [Fact] method CheckInvalidWordIndicatesAllViolationsInTheExceptionMessage (line 6) | [Fact] method CheckInvalidWordIndicatesAllViolationsInTheExceptionMessageIgnoringCase (line 10) | [Fact] method CheckInvalidWordWithQuestionMark (line 14) | [Fact] method CheckInvalidWordWithComma (line 18) | [Fact] method CheckInvalidWordSentenceEnd (line 22) | [Fact] method CheckInvalidWordSentenceStart (line 26) | [Fact] method CheckInvalidWordStringEnd (line 30) | [Fact] method CheckInvalidWordDoesNotThrowWhenNoMatch (line 34) | [Fact] method CheckInvalidWordDoesNotThrowWhenIsQuote (line 38) | [Fact] method CheckInvalidWordInUrl (line 42) | [Fact] FILE: src/Tests/DirectoryMarkdownProcessorTests.cs class DirectoryMarkdownProcessorTests (line 1) | public class DirectoryMarkdownProcessorTests method Run (line 3) | [Fact] method InPlaceOverwriteExists (line 20) | [Fact] method InPlaceOverwriteExistsMdx (line 38) | [Fact] method InPlaceOverwriteNotExists (line 56) | [Fact] method InPlaceOverwriteUrlSnippet (line 76) | [Fact] method InPlaceOverwriteUrlInclude (line 93) | [Fact] method InPlaceOverwriteWithFileSnippetMissing (line 110) | [Fact] method ReadOnly (line 129) | [Fact] method FileSnippetMissing (line 160) | [Fact] method UrlSnippetMissing (line 174) | [Fact] method ValidationErrors (line 188) | [Fact] method UrlIncludeMissing (line 202) | [Fact] method UrlSnippet (line 216) | [Fact] method BinaryFileSnippet (line 234) | [Fact] method FileSnippetWithWhiteSpace (line 252) | [Fact] method Mdx (line 269) | [Fact] method FileSnippet (line 286) | [Fact] method FileSnippetExplicitIncludeBypassesExcludeSnippetFiles (line 303) | [Fact] method FileSnippetWithHash (line 325) | [Fact] method MixedCaseInclude (line 342) | [Fact] method ExplicitFileInclude (line 360) | [Fact] method ExplicitFileIncludeWithMergedSnippet (line 377) | [Fact] method ExplicitFileIncludeWithSnippetAtEnd (line 396) | [Fact] method UrlInclude (line 415) | [Fact] method Convention (line 432) | [Fact] method ConventionWithNestedDir (line 459) | [Fact] method MustErrorByDefaultWhenIncludesAreMissing (line 484) | [Fact] method MustNotErrorForMissingIncludesIfConfigured (line 498) | [Fact] method MustErrorByDefaultWhenSnippetsAreMissing (line 513) | [Fact] method MustNotErrorForMissingSnippetsIfConfigured (line 527) | [Fact] method SnippetBuild (line 542) | static Snippet SnippetBuild(string key, string? path = null) => FILE: src/Tests/DownloaderTests.cs class DownloaderTests (line 1) | public class DownloaderTests method Valid (line 3) | [Fact] method Missing (line 10) | [Fact] FILE: src/Tests/FileExTests.cs class FileExTests (line 1) | public class FileExTests method MakeReadOnly_SetsReadOnlyAttribute (line 3) | [Fact] method ClearReadOnly_RemovesReadOnlyAttribute (line 21) | [Fact] method ClearReadOnly_DoesNothingIfFileDoesNotExist (line 41) | [Fact] method MakeReadOnly_ThenClearReadOnly_RoundTrip (line 51) | [Fact] method FixFileCapitalization_ReturnsActualCasing (line 70) | [Fact] method FixFileCapitalization_WorksWhenCasingMatches (line 84) | [Fact] FILE: src/Tests/GirRepoDirectoryFinderTests.cs class GirRepoDirectoryFinderTests (line 1) | public class GirRepoDirectoryFinderTests method CanFindGirRepoDir (line 3) | [Fact] FILE: src/Tests/HeaderWriterTests.cs class HeaderWriterTests (line 1) | public class HeaderWriterTests method DefaultHeader (line 3) | [Fact] method WriteHeaderDefaultHeader (line 7) | [Fact] method WriteHeaderHeaderCustom (line 11) | [Fact] FILE: src/Tests/IndexReaderTests.cs class IndexReaderTests (line 1) | public class IndexReaderTests method NewLineDetection (line 3) | [Theory] FILE: src/Tests/LoopState/LoopStateTests.cs class LoopStateTests (line 1) | public class LoopStateTests method TrimIndentation (line 3) | [Fact] method ExcludeEmptyPaddingLines (line 13) | [Fact] method TrimIndentation_with_mis_match (line 23) | [Fact] method ExcludeEmptyPaddingLines_empty_list (line 33) | [Fact] method ExcludeEmptyPaddingLines_whitespace_list (line 40) | [Fact] method TrimIndentation_no_initial_padding (line 49) | [Fact] FILE: src/Tests/MarkdownProcessor/MarkdownProcessorTests.cs class MarkdownProcessorTests (line 1) | public class MarkdownProcessorTests method Missing_endInclude (line 3) | [Fact] method WithEmptyMultiLineInclude_Overwrite (line 17) | [Fact] method WithMultiLineInclude_Overwrite (line 42) | [Fact] method WithSingleInclude_Overwrite (line 67) | [Fact] method WithSingleInclude (line 89) | [Fact] method WithMixedCaseInclude (line 111) | [Fact] method WithSingleSnippet (line 135) | [Fact] method WithMixedCaseSnippet (line 153) | [Fact] method WithTwoLineSnippet (line 178) | [Fact] method WithMultiLineSnippet (line 210) | [Fact] method WithDoubleInclude (line 243) | [Fact] method WithEmptyMultipleInclude (line 269) | [Fact] method WithMultipleInclude (line 293) | [Fact] method MissingInclude (line 317) | [Fact] method SkipHeadingBeforeToc (line 332) | [Fact] method Toc1 (line 351) | [Fact] method Toc (line 372) | [Fact] method TocRetainedIfNoHeadingsInFile (line 393) | [Fact] method Missing_endToc (line 411) | [Fact] method Empty_snippet_key (line 423) | [Fact] method Whitespace_snippet_key (line 435) | [Fact] method Toc_Overwrite (line 447) | [Fact] method Simple_Overwrite (line 469) | [Fact] method MixedNewlinesInFile (line 520) | [Fact] method Simple (line 547) | [Fact] method SnippetInInclude (line 582) | [Fact] method TableInInclude (line 609) | [Fact] method SnippetInIncludeLast (line 637) | [Fact] method WithIndentedSnippet (line 665) | [Fact] method WithIndentedSnippetMultipleSpaces (line 684) | [Fact] method WithIndentedCommentSnippet (line 703) | [Fact] method WithTabIndentedSnippet (line 724) | [Fact] method WithIndentedWebSnippet (line 743) | [Fact] method WithIndentedMultiLineSnippet (line 762) | [Fact] method WithCommentWebSnippetUpdate (line 795) | [Fact] method WithCommentWebSnippetWithViewUrl (line 817) | [Fact] method WithInlineWebSnippetWithViewUrl (line 839) | [Fact] method SnippetBuild (line 857) | static Snippet SnippetBuild(string language, string key) => FILE: src/Tests/MarkdownProcessor/SnippetKey_ExtractStartCommentSnippet.cs class SnippetKey_ExtractStartCommentSnippet (line 1) | public class SnippetKey_ExtractStartCommentSnippet method WithDashes (line 3) | [Fact] method Simple (line 10) | [Fact] method MissingClosingComment_Throws (line 17) | [Fact] FILE: src/Tests/MarkdownProcessor/SnippetKey_ExtractStartCommentWebSnippet.cs class SnippetKey_ExtractStartCommentWebSnippet (line 1) | public class SnippetKey_ExtractStartCommentWebSnippet method Simple (line 3) | [Fact] method MissingClosingComment_Throws (line 11) | [Fact] FILE: src/Tests/MarkdownProcessor/SnippetKey_ExtractTransform.cs class SnippetKey_ExtractTransform (line 1) | public class SnippetKey_ExtractTransform method MissingSpaces (line 3) | [Fact] method WithDashes (line 10) | [Fact] method Simple (line 17) | [Fact] method ExtraSpace (line 24) | [Fact] FILE: src/Tests/MarkdownProcessor/TocBuilderTests.cs class TocBuilderTests (line 1) | public class TocBuilderTests method EmptyHeading (line 3) | [Fact] method IgnoreTop (line 16) | [Fact] method SanitizeLink (line 28) | [Fact] method StripMarkdown (line 36) | [Fact] method Exclude (line 47) | [Fact] method Nested (line 59) | [Fact] method Deep (line 73) | [Fact] method StopAtLevel (line 87) | [Fact] method Single (line 100) | [Fact] method WithSpaces (line 111) | [Fact] method DuplicateNested (line 122) | [Fact] method Duplicates (line 135) | [Fact] FILE: src/Tests/ModuleInitializer.cs class ModuleInitializer (line 1) | public static class ModuleInitializer method Initialize (line 3) | [ModuleInitializer] FILE: src/Tests/MsBuildIntegrationTests.cs class MsBuildIntegrationTests (line 24) | public class MsBuildIntegrationTests method GetNugetsDir (line 26) | static string GetNugetsDir() method DotnetBuild_UsesNetCoreTask (line 35) | [Fact] method MsBuild_UsesNetFrameworkTask (line 55) | [Fact] method SetupTestProject (line 82) | static async Task SetupTestProject(TempDirectory tempDir) method GetLatestNugetVersion (line 154) | static string GetLatestNugetVersion() method FindMsBuild (line 166) | static string? FindMsBuild() method RunProcess (line 198) | static async Task RunProcess(string fileName, string ar... type ProcessResult (line 219) | record ProcessResult(int ExitCode, string Output, string Error); method MsBuild_AllLocalProjects_UsingMarkdownSnippets (line 221) | [Fact(Explicit = true)] method FindProjectsUsingMarkdownSnippets (line 281) | static List FindProjectsUsingMarkdownSnippets(string rootDir) method RunMsBuildOnProject (line 316) | static Task RunMsBuildOnProject(string msbuildPath, str... method ExtractErrorLines (line 357) | static string ExtractErrorLines(string output) method GenerateMarkdownReport (line 400) | static Task GenerateMarkdownReport(string reportPath, int totalProject... FILE: src/Tests/NewLineConfigReaderTests.cs class NewLineConfigReaderTests (line 1) | public class NewLineConfigReaderTests method GitAttributes_WildcardEolLf (line 3) | [Fact] method GitAttributes_WildcardEolCrlf (line 13) | [Fact] method GitAttributes_MdSpecificEolLf (line 22) | [Fact] method GitAttributes_MdSpecificOverridesWildcard (line 31) | [Fact] method GitAttributes_NoEolSetting_FallsBackToEnvironmentNewLine (line 45) | [Fact] method GitAttributes_IgnoresComments (line 54) | [Fact] method GitAttributes_InParentDirectory (line 68) | [Fact] method EditorConfig_WildcardEndOfLineLf (line 79) | [Fact] method EditorConfig_WildcardEndOfLineCrlf (line 93) | [Fact] method EditorConfig_MdSpecificEndOfLine (line 107) | [Fact] method EditorConfig_MdSpecificOverridesWildcard (line 121) | [Fact] method EditorConfig_BracePattern (line 138) | [Fact] method EditorConfig_IgnoresComments (line 152) | [Fact] method GitAttributes_TakesPriorityOverEditorConfig (line 168) | [Fact] method NoConfigFiles_FallsBackToEnvironmentNewLine (line 183) | [Fact] method EditorConfig_FallbackWhenGitAttributesHasNoEol (line 191) | [Fact] method DetectsNewLineFromMdFiles_Lf (line 206) | [Fact] method DetectsNewLineFromMdFiles_Crlf (line 216) | [Fact] method ConfigTakesPriorityOverMdFileDetection (line 226) | [Fact] method MdFileDetection_PicksShortestFileFirst (line 237) | [Fact] method MdFileDetection_SkipsFilesWithNoNewlines (line 249) | [Fact] FILE: src/Tests/PathsTests.cs class PathsTests (line 1) | public class PathsTests method IsMdFile (line 3) | [Theory] method IsSourceMdFile (line 14) | [Theory] method IsIncludeMdFile (line 24) | [Theory] FILE: src/Tests/ProcessResultConverter.cs class ProcessResultConverter (line 1) | class ProcessResultConverter : method WriteJson (line 4) | public override void WriteJson(JsonWriter writer, object value, JsonSe... method ReadJson (line 15) | public override object ReadJson(JsonReader reader, Type objectType, ob... method CanConvert (line 18) | public override bool CanConvert(Type objectType) => FILE: src/Tests/SimpleSnippetMarkdownHandlingTests.cs class SimpleSnippetMarkdownHandlingTests (line 1) | public class SimpleSnippetMarkdownHandlingTests method Append (line 3) | [Fact] method ExpressiveCode (line 16) | [Fact] FILE: src/Tests/SnippetConverter.cs class SnippetConverter (line 1) | class SnippetConverter : method WriteJson (line 4) | public override void WriteJson(JsonWriter writer, object value, JsonSe... method ReadJson (line 26) | public override object ReadJson(JsonReader reader, Type objectType, ob... method CanConvert (line 29) | public override bool CanConvert(Type objectType) => FILE: src/Tests/SnippetExtensionsTests.cs class SnippetExtensionsTests (line 1) | public class SnippetExtensionsTests method ToDictionary (line 3) | [Fact] method ToDictionary_SameKey (line 14) | [Fact] method SnippetBuild (line 26) | static Snippet SnippetBuild(string key, string? path) => FILE: src/Tests/SnippetExtractor/SnippetExtractorTests.cs class SnippetExtractorTests (line 1) | public class SnippetExtractorTests method AppendUrlAsSnippet (line 3) | [Fact] method AppendUrlAsSnippetInline (line 11) | [Fact] method AppendFileAsSnippet (line 19) | [Fact] method CanReadFileWhileLockedByAnotherProcess (line 42) | [Fact] method CanExtractWithInnerWhiteSpace (line 65) | [Fact] method NestedBroken (line 82) | [Fact] method NestedRegion (line 98) | [Fact] method NestedMixed2 (line 115) | [Fact] method RemoveDuplicateNewlines (line 131) | [Fact] method NestedStartCode (line 163) | [Fact] method NestedMixed1 (line 179) | [Fact] method CanExtractFromXml (line 195) | [Fact] method LanguageOverride (line 207) | [Fact] method LanguageOverrideWithExpressiveCode (line 219) | [Fact] method FromText (line 231) | static List FromText(string contents) method UnClosedSnippet (line 237) | [Fact] method UnClosedRegion (line 248) | [Fact] method TooWide (line 260) | [Fact] method MixedNewLines (line 273) | [Fact] method CanExtractFromRegion (line 285) | [Fact] method CanExtractWithNoTrailingCharacters (line 298) | [Fact] method CanExtractWithMissingSpaces (line 311) | [Fact] method CanExtractWithTrailingWhitespace (line 324) | [Fact] method CanExtractWithExpressiveCode (line 337) | [Fact] FILE: src/Tests/SnippetFileFinderTests.cs class SnippetFileFinderTests (line 3) | public class SnippetFileFinderTests method Hidden (line 5) | [Fact] method Nested (line 15) | [Fact] method Simple (line 24) | [Fact] method ExcludeSnippetFiles (line 33) | [Fact] method VerifyLambdasAreCalled (line 52) | [Fact] FILE: src/Tests/SnippetMarkdownHandlingTests.cs class SnippetMarkdownHandlingTests (line 1) | public class SnippetMarkdownHandlingTests method Append (line 3) | [Fact] method AppendOmitSourceLink (line 17) | [Fact] method AppendOmitSnippetLinks (line 31) | [Fact] method AppendPrefixed (line 45) | [Fact] method AppendHashed (line 59) | [Fact] method AppendWebSnippet (line 73) | [Fact] method AppendWebSnippetWithViewUrl (line 94) | [Fact] method Snippets (line 116) | static List Snippets() => FILE: src/Tests/SnippetVerifier.cs class SnippetVerifier (line 1) | static class SnippetVerifier method VerifyThrows (line 3) | public static Task VerifyThrows( method BuildProcessor (line 18) | static MarkdownProcessor BuildProcessor( method Verify (line 40) | public static async Task Verify( FILE: src/Tests/Snippets/Usage.cs class Usage (line 4) | class Usage method ReadingFiles (line 6) | static void ReadingFiles() method DirectoryMarkdownProcessorRun (line 17) | static void DirectoryMarkdownProcessorRun() method DirectoryMarkdownProcessorRunMaxWidth (line 31) | static void DirectoryMarkdownProcessorRunMaxWidth() FILE: src/Tests/StartEndTester_IsBeginSnippetTests.cs class StartEndTester_IsBeginSnippetTests (line 1) | public class StartEndTester_IsBeginSnippetTests method CanExtractFromXml (line 3) | [Fact] method ShouldThrowForNoKey (line 11) | [Fact] method ShouldNotThrowForNoKeyWithNoSpace (line 15) | [Fact] method CanExtractFromXmlWithMissingSpaces (line 19) | [Fact] method CanExtractFromXmlWithExtraSpaces (line 27) | [Fact] method CanExtractWithNoTrailingCharacters (line 35) | [Fact] method CanExtractWithUnderScores (line 43) | [Fact] method CanExtractWithDashes (line 51) | [Fact] method ShouldThrowForKeyStartingWithSymbol (line 59) | [Fact] method ShouldThrowForKeyEndingWithSymbol (line 64) | [Fact] method CanExtractWithDifferentEndComments (line 69) | [Fact] method CanExtractWithDifferentEndCommentsAndNoSpaces (line 77) | [Fact] method CanExtractWithExpressiveCodeWithHtmlSnippet (line 85) | [Fact] method CanExtractWithExpressiveCodeWithCsharpComment (line 94) | [Fact] method CanExtractWithExpressiveCodeWithHtmlSnippetTrailingWhitespace (line 102) | [Fact] method CanExtractWithExpressiveCodeWithCsharpCommentTrailingWhitespace (line 111) | [Fact] method CanExtractLanguageOverride (line 120) | [Fact] method CanExtractLanguageOverrideWithExpressiveCode (line 130) | [Fact] method ShouldThrowForInvalidLanguageValue (line 140) | [Fact] method ShouldThrowForEmptyLanguageValue (line 145) | [Fact] FILE: src/Tests/StartEndTester_IsStartRegionTests.cs class StartEndTester_IsStartRegionTests (line 1) | public class StartEndTester_IsStartRegionTests method CanExtractFromXml (line 3) | [Fact] method ShouldThrowForKeyStartingWithSymbol (line 10) | [Fact] method WithSpaces (line 14) | [Fact] method ShouldThrowForKeyEndingWithSymbol (line 18) | [Fact] method ShouldIgnoreForNoKey (line 22) | [Fact] method CanExtractFromXmlWithExtraSpaces (line 26) | [Fact] method CanExtractWithNoTrailingCharacters (line 33) | [Fact] method CanExtractWithUnderScores (line 40) | [Fact] method CanExtractWithDashes (line 47) | [Fact] FILE: src/Tests/WebSnippetTests.cs class WebSnippetTests (line 1) | public class WebSnippetTests method ExtractWebSnippet_ParsesCorrectly (line 3) | [Fact] method ExtractWebSnippet_FailsWithoutHash (line 12) | [Fact]