Fix path corruption when directory name contains a colon#75
Open
kriansa wants to merge 1 commit intojorgebucaran:mainfrom
Open
Fix path corruption when directory name contains a colon#75kriansa wants to merge 1 commit intojorgebucaran:mainfrom
kriansa wants to merge 1 commit intojorgebucaran:mainfrom
Conversation
The `_hydro_pwd` function uses `:` as a temporary placeholder when abbreviating the git root in the displayed path. If the directory name itself contains a colon (e.g. git worktrees named `repo:branch`), the replacement on the second `string replace` matches the literal colon instead of the sentinel, corrupting the path by duplicating segments. Replace the `:` sentinel with `\x1e` (ASCII Record Separator), which cannot appear in filesystem paths. Co-Authored-By: Claude Opus 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.
Problem
When the current directory name contains a colon (when using git worktrees, e.g.
repo:branch-name), the prompt duplicates parts of the path.For example, inside a directory named
core-backend:fix-something:Cause
_hydro_pwduses:as a temporary sentinel when abbreviating the git root in the displayed path (lines 24 and 28 ofconf.d/hydro.fish):/$git_base/with:/— using:as a placeholder:back with$git_baseWhen the directory name already contains a literal colon, step 2 matches it instead of the sentinel, replacing it with
$git_baseand corrupting the output.Fix
Replace the
:sentinel with\x1e(ASCII Record Separator), a non-printable character that cannot appear in filesystem paths.