From 266276162f52fa574d1abaed106bd2ffd799143a Mon Sep 17 00:00:00 2001 From: CyrusNajmabadi Date: Tue, 25 Apr 2017 18:06:35 -0700 Subject: [PATCH] Add finer detail for camel cased matches. --- .../PatternMatching/PatternMatchKind.cs | 66 ++++++++++--------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/src/Workspaces/Core/Portable/PatternMatching/PatternMatchKind.cs b/src/Workspaces/Core/Portable/PatternMatching/PatternMatchKind.cs index f4279f0aea1..17cd71ace4b 100644 --- a/src/Workspaces/Core/Portable/PatternMatching/PatternMatchKind.cs +++ b/src/Workspaces/Core/Portable/PatternMatching/PatternMatchKind.cs @@ -26,53 +26,59 @@ internal enum PatternMatchKind // Note: CamelCased matches are ordered from best to worst. + /// + /// All camel-humps in the pattern matched a camel-hump in the candidate. All camel-humps + /// in the candidate were matched by a camel-hump in the pattern. + /// + /// Example: "CFPS" matching "CodeFixProviderService" + /// Example: "cfps" matching "CodeFixProviderService" + /// Example: "CoFiPrSe" matching "CodeFixProviderService" + /// CamelCaseExact, - CamelCasePrefix, - CamelCaseNonContiguousPrefix, - CamelCaseSubstring, - CamelCaseNonContiguousSubstring, -#if false /// - /// The pattern matched the CamelCased candidate string. All humps in the pattern matched humps in - /// the candidate in order. The first hump in the pattern matched the first hump in the candidate - /// string. There were no unmatched humps in the candidate between matched humps. - /// - /// Examples: "CFP" matching "CodeFixProvider" as well as "CFP" matching "CodeFixProviderService". + /// All camel-humps in the pattern matched a camel-hump in the candidate. The first camel-hump + /// in the pattern matched the first camel-hump in the candidate. There was no gap in the camel- + /// humps in the candidate that were matched. + /// + /// Example: "CFP" matching "CodeFixProviderService" + /// Example: "cfp" matching "CodeFixProviderService" + /// Example: "CoFiPRo" matching "CodeFixProviderService" /// - CamelCaseContiguousFromStart, + CamelCasePrefix, /// - /// The pattern matched the CamelCased candidate string. All humps in the pattern matched some hump in - /// the candidate in order. The first hump in the pattern matched the first hump in the candidate string. - /// There was at least one hump in the candidate that was not matched that was between humps in the - /// candidate that were matched. + /// All camel-humps in the pattern matched a camel-hump in the candidate. The first camel-hump + /// in the pattern matched the first camel-hump in the candidate. There was at least one gap in + /// the camel-humps in the candidate that were matched. /// - /// Examples: "CPS" matching "CodeFixProviderService". Here 'Fix' was not matched, so the result was - /// not 'Contiguous'. + /// Example: "CP" matching "CodeFixProviderService" + /// Example: "cp" matching "CodeFixProviderService" + /// Example: "CoProv" matching "CodeFixProviderService" /// - CamelCaseFromStart, + CamelCaseNonContiguousPrefix, /// - /// The pattern matched the CamelCased candidate string. All humps in the pattern matched humps in - /// the candidate in order. The first hump in the pattern did not match the first hump in the candidate - /// string. There were no unmatched humps in the candidate between matched humps. + /// All camel-humps in the pattern matched a camel-hump in the candidate. The first camel-hump + /// in the pattern did not match the first camel-hump in the pattern. There was no gap in the camel- + /// humps in the candidate that were matched. /// /// Example: "FP" matching "CodeFixProviderService" + /// Example: "fp" matching "CodeFixProviderService" + /// Example: "FixPro" matching "CodeFixProviderService" /// - CamelCaseContiguous, + CamelCaseSubstring, /// - /// The pattern matched the CamelCased candidate string. All humps in the pattern matched some hump in - /// the candidate in order. The first hump in the pattern did not match the first hump in the candidate - /// string. There was at least one hump in the candidate that was not matched that was between humps - /// in the candidate that were matched. + /// All camel-humps in the pattern matched a camel-hump in the candidate. The first camel-hump + /// in the pattern did not match the first camel-hump in the pattern. There was at least one gap in + /// the camel-humps in the candidate that were matched. /// - /// Example: "FS" matching "CodeFixProviderService". Because 'Code' was not matched, the match was not - /// a 'FromStart' match. Because 'Provider' was not matched, the match was not a 'Contiguous' match. + /// Example: "FS" matching "CodeFixProviderService" + /// Example: "fs" matching "CodeFixProviderService" + /// Example: "FixSer" matching "CodeFixProviderService" /// - CamelCase, -#endif + CamelCaseNonContiguousSubstring, /// /// The pattern matches the candidate in a fuzzy manner. Fuzzy matching allows for -- GitLab