Skip to content

Detect and offer to open .slnf solution filter files#20

Merged
seankearon merged 1 commit into
mainfrom
claude/fido-slnf-detection-gcoqhh
Jun 27, 2026
Merged

Detect and offer to open .slnf solution filter files#20
seankearon merged 1 commit into
mainfrom
claude/fido-slnf-detection-gcoqhh

Conversation

@seankearon

Copy link
Copy Markdown
Owner

What

Fido now recognises Visual Studio solution filter (.slnf) files everywhere it already looks for .sln/.slnx:

  • the branch-only "which solution?" chooser,
  • Solution mode, and
  • discovery by name.

Editors such as Rider and Visual Studio open .slnf directly, so a filtered subset of a solution is now a first-class open target.

Preference: full solutions still win

.slnf is appended after .sln/.slnx in the recognised-extension preference order. So when a filter sits beside a same-named full solution, the .sln/.slnx still wins repository de-duplication and stays the repo's primary target — the filter is offered as an additional choice, never a replacement.

FindSolutionsInFolder now derives its glob patterns from the shared SolutionExtensions list rather than hardcoding *.sln/*.slnx, so the folder-scan globs and the discovery extensions can't drift apart.

Changes

  • src/Services/OpenerService.cs — add .slnf to SolutionExtensions; derive FindSolutionsInFolder globs from that list.
  • tests/Fido.Tests/Services/OpenerServiceTests.cs — three new tests:
    • a folder's .sln / .slnx / .slnf are all offered,
    • a filter-only repo is discovered by name,
    • a full solution beats a same-named filter as the repo target.
  • tests/Fido.Tests/Infrastructure/TestRepoWorld.csWriteSolutionFile helper for writing solution-style files.
  • CHANGELOG.md, Docs/Features.md — document .slnf support.

Testing

Full suite green locally: 119 passed, 0 failed (dotnet run --project tests/Fido.Tests). Main project builds with 0 warnings / 0 errors.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ro23XuZJc8Gep8rNJcGxpN


Generated by Claude Code

Fido now recognises Visual Studio solution filter (.slnf) files alongside
.sln/.slnx wherever it looks for solutions: the branch-only "which solution?"
chooser, solution mode, and discovery-by-name. Editors such as Rider and
Visual Studio open .slnf directly, so a filtered subset of a solution is now a
first-class open target.

Full solutions stay preferred: .slnf is listed after .sln/.slnx in the
extension preference order, so when a filter sits beside a same-named full
solution the .sln/.slnx still wins repository de-duplication and remains the
primary target — the filter is offered as an additional choice, not a
replacement. FindSolutionsInFolder now derives its globs from the shared
extension list so the two can't drift.

Adds OpenerService tests covering filter discovery in a folder, discovery of a
filter-only repo by name, and the full-solution-wins preference, plus a
TestRepoWorld helper for writing solution-style files. Updates CHANGELOG and
Features docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ro23XuZJc8Gep8rNJcGxpN
@seankearon seankearon merged commit 40efe4e into main Jun 27, 2026
2 checks passed
@seankearon seankearon deleted the claude/fido-slnf-detection-gcoqhh branch June 27, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants