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.
Description
It turns out that my previous PR, #11999, didn't properly canonicalize
$nu.default-config-dir
in a scenario whereXDG_CONFIG_HOME
(or the equivalent on each platform) was a symlink. To remedy that, this PR makesnu_path::config_dir()
return a canonicalized path. This probably shouldn't break anything (except maybe tests relying on the old behavior), since the canonical path will be equivalent to non-canonical paths.User-Facing Changes
A user may get a path with symlinks resolved and
..
s replaced where they previously didn't. I'm not sure where this would happen, though, and anyway, the canonical path is probably the "correct" thing to present to the user. We're usingomnipath
to make the path presentable to the user on Windows, so there's no danger of someone getting an path with\\?
there.Tests + Formatting
The tests for config files have been updated to run the binary using the
Director
so that it has access to theXDG_CONFIG_HOME
/HOME
environment variables to be able to change the config directory.After Submitting