using System.Collections.Generic; using System.Globalization; namespace Microsoft.VisualStudio.Text.PatternMatching { /// /// Defines context for what should be considered relevant in a pattern match. /// public sealed class PatternMatcherCreationOptions { /// /// Used to tailor character comparisons to the correct culture. /// public readonly CultureInfo CultureInfo; /// /// A set of biniary options, used to control options like case-sensitivity. /// public readonly PatternMatcherCreationFlags Flags; /// /// Characters that should be considered as describing a container/contained boundary. When matching types, this can be the '.' character /// e.g. Namespace.Class.Property, so that the search can tailor behavior to better match Property first, then Class, then Namespace. /// This also can work with directory separators in filenames and any other logical container/contained pattern in candidate strings. /// /// signifies no characters are container boundaries. /// public readonly IReadOnlyCollection ContainerSplitCharacters; /// /// Creates an instance of . /// /// Used to tailor character comparisons to the correct culture. /// A set of biniary options, used to control options like case-sensitivity. /// /// Characters that should be considered as describing a container/contained boundary. When matching types, this can be the '.' character /// e.g. Namespace.Class.Property, so that the search can tailor behavior to better match Property first, then Class, then Namespace. /// This also can work with directory separators in filenames and any other logical container/contained pattern in candidate strings. /// /// signifies no characters are container boundaries. /// public PatternMatcherCreationOptions(CultureInfo cultureInfo, PatternMatcherCreationFlags flags, IReadOnlyCollection containerSplitCharacters = null) { CultureInfo = cultureInfo; Flags = flags; ContainerSplitCharacters = containerSplitCharacters; } } }