Mixed slashes on Windows
What happened, and what did you expect to happen?
Hi there, firstly forgive me if I'm missing something as this is my first day using Elvish.
On Windows, Elvish seems a little mixed up about which slashes to use on a Windows system:
Suppose I'm trying to get to C:\Users\<username>\source:
- Using
cd ~\soand hitting tab does not provide completions - Using
cd ~/soworks and completes with mixed slashescd C:\Users\Fots/source\ - After completing the
sourcepath, hitting enter and then tab, forward slashes are used but the/from the first completion is not normalised (e.g.C:\Users\Fots/source\checksum-validator\) - Using
path:join dir1 dir2uses\characters as expected (dir1\dir2)
I think this feels a bit awkward to work with.
My hope would be that both / and \ would trigger completions and paths would always be normalised to use the native \ separators to remain as widely compatible with CLI tools.
Huge thanks for your time Fotis
Output of "elvish -version"
0.20.1+official
Code of Conduct
- [X] I agree to follow Elvish's Code of Conduct.
Hmm, the reason it's this way is that if the user typed a / it could be intentional and Elvish should respect that. You can always get \ by, well, typing \ in the first place.
@fgimian Is there a specific reason you'd use / instead of \ when typing paths?
Hmm, the reason it's this way is that if the user typed a
/it could be intentional and Elvish should respect that. You can always get\by, well, typing\in the first place.@fgimian Is there a specific reason you'd use
/instead of\when typing paths?
Thanks for the response. I found that Elvish would not offer completions when using \, while / did. This is ultimately the only reason I was using it. Is it possible I'm missing something?
Cheers Fotis
Hmm, the reason it's this way is that if the user typed a
/it could be intentional and Elvish should respect that. You can always get\by, well, typing\in the first place. @fgimian Is there a specific reason you'd use/instead of\when typing paths?Thanks for the response. I found that Elvish would not offer completions when using
\, while/did. This is ultimately the only reason I was using it. Is it possible I'm missing something?
Aha, I see what the problem is now. I was only testing completion after something like cd .\, which does work. But cd ~\ doesn't work.
The problem is actually a bit deeper than tab completion - on the language level, Elvish can't expand ~\foo correctly because tilde expansion assumes /. I'll fix that.
Hmm, the reason it's this way is that if the user typed a
/it could be intentional and Elvish should respect that. You can always get\by, well, typing\in the first place. @fgimian Is there a specific reason you'd use/instead of\when typing paths?Thanks for the response. I found that Elvish would not offer completions when using
\, while/did. This is ultimately the only reason I was using it. Is it possible I'm missing something?Aha, I see what the problem is now. I was only testing completion after something like
cd .\, which does work. Butcd ~\doesn't work.The problem is actually a bit deeper than tab completion - on the language level, Elvish can't expand
~\foocorrectly because tilde expansion assumes/. I'll fix that.
Ahh, and yeah you're right, I usually base my paths from ~. 😄
Thanks so much for all your help! Fotis
Hmm, the reason it's this way is that if the user typed a
/it could be intentional and Elvish should respect that. You can always get\by, well, typing\in the first place.@fgimian Is there a specific reason you'd use
/instead of\when typing paths?Thanks for the response. I found that Elvish would not offer completions when using
\, while/did. This is ultimately the only reason I was using it. Is it possible I'm missing something?Aha, I see what the problem is now. I was only testing completion after something like
cd .\, which does work. Butcd ~\doesn't work.The problem is actually a bit deeper than tab completion - on the language level, Elvish can't expand
~\foocorrectly because tilde expansion assumes/. I'll fix that.
Hey Qi, I'm sincerely sorry to bother you about this but was wondering if you've had the opportunity to solve this issue?
Thanks heaps! Fotis
The tilde expansion issue is #474