Fixes: leaking Jobs and broken git prompt #24
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.
I have been using this for my prompt as it is is quite small and is still in pure PowerShell/.Net. I noticed that the Git status part of the prompt wasn't working, so I looked into it a bit and found that the call to
Compare-Object
was silently failing when it tried comparing the$null
s from the$emptyStatus
hash. I swapped the nulls for empty strings and it seems to be working fine now.While investigating, I also noticed that
Get-Job
showed many many dead jobs in one of my longer-running shells. Turns out eachRegister-EngineEvent
spins up a new job and they will stick around even if they only needed to live for one event. I stop the leak by keeping track of the last update job and callingRemove-Job
on it at the end of it's handler. That seems to just work.