but why do we have to match specifically against substr*
? it's not a law of nature, we could also match against the regex (?i)substr(?-i).*
not saying that one option is necessarily better, but I don't see a good reason for which any one of these options would be terrible
would it not be usable to have completion be case insensitive? I seem to be able to use that... if I only remember "something with down", I could just as easily forget the capitalization of "down". maybe I have
downloads
andDown
? why not show everything matching case insensitively and let the user decide what's the correct one?I didn't really understand what you thought the regex did incorrectly, but I think the regex works fine, at least for most implementations, anyways what I meant is just a case insensitive version of the regular substring completion, which shouldn't be too difficult to make.
The only thing it solves is the frustration of having to look for a file/directory twice because you didn't remember it's capitalization. again, those are different characters just like a
do
anddownloads
are different strings, but it can be easier for users if they can just press tab and let the computer fill the part of the name the don't remember (or don't want to type).you don't need an advanced algorithm or and AI, there are many easy ways to make completion case insensitive (like that regex for example). Issues involving names are inherently somewhat linguistic, but either way interactive shells are meant to be (at least somewhat) usable to humans, and as seen by the post, some people would prefer completion to be case insensitive.