Repository navigation
Let a backslash make a leading +, -, ! or ^ literal in a glob token [patch] - #200
Conversation
…patch] A glob token's first character was always read as a prefix, so an item named +page.svelte or !important.txt could not be found by typing its name. A backslash before a leading prefix character now makes it literal, also after a + or - prefix. GetHint and the README list every prefix the parser recognises and the escape. Fixes #198 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017vfJW3WKJyQMZaWCcyzKVK
…patch] The README API test required every overload's same-named parameter to carry the documented default. The binary-compatibility overloads from #166 have no defaults by design, so main has been red since #178. They are marked [EditorBrowsable(Never)] and are not what the README documents, so the default check now skips them. A wrong default on a visible overload still fails. Fixes #183 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017vfJW6FzBtSrY5LKUuDYce (cherry picked from commit 9328e00)
|
This PR inherits the Generated by Claude Code |
|
The SonarCloud gate (Maintainability D on new code) has the same cause as on #199. The only analysis of The gate should clear once #186 merges, Generated by Claude Code |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017vfJW5jpiuVuBRXSgitSY1
|



Fixes #198
What changed
ExtractGlobFilterTokensalways treated a token's first character as a prefix. Because of that, an item named+page.sveltecouldn't be found by typing its name, and!important.txtor^notes.mdlet every item through.+,-,!or^makes that character literal.\+page.svelteis the optional token+page.svelte.+\+page*is the required token+page*, and-\-draft*is the excluded token-draft*.src\main.csmatches as before.GetHint(TextFilterType.Glob): now says that!and^also exclude, and explains the escape.[+]class workaround.Behaviour change
A glob token that starts with
\followed by a prefix character used to mean "a path separator, then that character". It now means the literal character. Matching a leading separator followed by+still works with[\\]+…or/+….Tests
\+page*and[+]page.svelte.+,-,!and^still mean required or excluded.GetHintexpectation is updated.With the unescape stubbed out, 9 of the new cases fail. With the fix, every new test passes.
dotnet testgives 279/280. The one failure,ReadmeTests.EveryMethodInTheReadmeApiReferenceExistsWithItsDocumentedDefaults, also fails onmain(5f420d9) without this change.As the triage noted, open PRs that edit
README.mdandReadmeTests.csmay textually conflict with this one. No other open PR changes how prefixes are parsed.Generated by Claude Code