Windows support: HTTPS default, PowerShell completion, platform fixes#62
Open
jganoff wants to merge 4 commits into
Open
Windows support: HTTPS default, PowerShell completion, platform fixes#62jganoff wants to merge 4 commits into
jganoff wants to merge 4 commits into
Conversation
7ba5107 to
273f4ac
Compare
Make wsp build and all tests pass on Windows. Adapts shell invocation (cmd /c), file locking (LockFileEx blocks same-process reads), symlink creation (privilege error 1314 without Developer Mode), and path comparisons (PathBuf instead of string for cross-platform separators). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds wsp completion powershell output: a wsp function wrapper and a Register-ArgumentCompleter scriptblock. Uses non-native registration so the completer fires for the function, not just external executables. Handles PS 5.1's empty-arg-drop bug via the --% stop-parsing token. Includes shell-spawning integration tests on both Windows (powershell.exe) and Unix (bash). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
273f4ac to
2fdd7ca
Compare
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
feat(registry)—wsp registry add --fromnow defaults to HTTPS instead of SSH. SSH isn't configured by default on Windows, causing silent clone failures. SSH users can restore the old behaviour withwsp config set clone.protocol sshor per-invocation--ssh. Adds--sshflag (complement to existing--https).feat(windows)— Platform plumbing:cmd /cshell runner on Windows, cross-platformPathBufpath joining in tests, Windows-compatible file lock test ordering, graceful symlink skip on Windows without Developer Mode (OS error 1314),[windows]Justfile recipe forinstall-hooks.feat(completion)—wsp completion powershellgenerates a full PowerShell wrapper function +Register-ArgumentCompleterscriptblock. Handles PS 5.1's silent empty-arg dropping via--%stop-parsing. Also fixes a latent POSIX/fish bug:wsp rmprefix-match check now requires a path separator sowsp rm foodoesn't incorrectly cd you out when you're insidefoobar.docs(completion)—wsp completion --helpnow includes persistent setup instructions for all shells, including PowerShell-specific steps for adding to$PROFILEand creating it if it doesn't exist yet.Test plan
cargo testlocally on Windows passeswsp completion powershelloutput loads cleanly in PS 5.1 and PS 7wsp completion --helpshows persistent setup instructionswsp registry add --from github.com/org --alluses HTTPS by default;--sshandwsp config set clone.protocol sshrestore SSH🤖 Generated with Claude Code