• FeyterM
    link
    fedilink
    262 years ago

    I don’t get it… “D” is a complete different character than “d” is.

    It’s like wondering why “file1” is not opened when I typed in “file2”.

    • @lemmonade@lemm.ee
      link
      fedilink
      92 years ago

      You could also say that down should not complete to download since those are completely different strings and you shouldn’t expect one to get you the other.

      • FeyterM
        link
        fedilink
        32 years ago

        Sorry, down is a substring of download I don’t get your point either?

          • FeyterM
            link
            fedilink
            22 years ago

            down matches down* because * also includes empty string. Also download matches down*

            D matches D* but d is not matching D* because D is a different character than d.

            • @lemmonade@lemm.ee
              link
              fedilink
              1
              edit-2
              2 years ago

              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

              • FeyterM
                link
                fedilink
                1
                edit-2
                2 years ago

                Because usability. If you have the files down down1 down2 downxyz and download and the user only knows that it was “something with down” it’s best to show the user everything matching “down*” and let the user decide what’s the correct one.

                Also I’m not sure but wouldn’t your expression show everything if only one character would be entered?

                And again I don’t see this solving anything if the entered string actually contains other characters then what’s in the file (D != d)

                Yes one could argue that some form of advanced algorithm or even AI could be used to identify such use case like download and Download but this is programming Humor, not linguisic Humor.

                • @lemmonade@lemm.ee
                  link
                  fedilink
                  12 years ago

                  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 and Down? 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 and downloads 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.

    • @1984@lemmy.today
      link
      fedilink
      -1
      edit-2
      2 years ago

      People want their computers to magically know what they want these days. :)

      This specific problem doesn’t exist in oh-my-zsh config though. It will find the directory even if spelling it like this.

      • PupBiru
        link
        fedilink
        72 years ago

        “magically know what they want” aka occasionally set you and your files on fire

        i prefer not fire

    • On Windows filenames are case insensitive at least usually, some people are used to that. But that is poor design for so many reasons, Turkish I being one of them.

        • @Reil@beehaw.org
          link
          fedilink
          English
          12 years ago

          One of the most pointlessly annoying things I’ve had to deal with was trying to move a process made for Linux onto a Windows MINGW/cygwin-type environment where one of the scripts would generate “.filename” AND “.FileName” files. :|

        • oleorun
          link
          fedilink
          English
          12 years ago

          TIL, thanks. I wonder why they chose to do it this way.

    • @Swedneck@discuss.tchncs.de
      link
      fedilink
      222 years ago

      that’s not how language works though, in human language (i know this can be confusing) d and D are the same letter just in different forms.

      It’s one thing to have case sensitivity in programs doing data manipulation, that makes sense because you don’t want the program to accidentally use the wrong files without supervision.

      But when you have an interactive prompt you know what you’re doing, you can see if you entered the wrong directory, and you’re generally going to be working in directories that you have yourself organized.

      • @4am@lemm.ee
        link
        fedilink
        12 years ago

        Doesn’t tab completion solve this if there are no alternatives with matching case? sounds like a PBKAC

  • MerfMerf
    link
    fedilink
    542 years ago

    echo ‘set completion-ignore-case On’ >> ~/.inputrc

    • PupBiru
      link
      fedilink
      16
      edit-2
      2 years ago

      also idk does zsh do this automatically? don’t think i’ve ever had this problem except on legacy AF servers

      i mean… unless you don’t tab complete, but then who doesn’t spam tab 30 times every keystroke?

      • MerfMerf
        link
        fedilink
        22 years ago

        Or up-arrow a bazillion time because you probably have it SOMEWHERE in the buffer, surely.

    • UFO
      link
      fedilink
      12 years ago

      Shit yo. How come I only learn this now? Thanks!

    • @jmcs@discuss.tchncs.de
      link
      fedilink
      22 years ago

      How does that handle languages that have different rules for capitalization? For example I and i are not the same letter in Turkish.

      • MerfMerf
        link
        fedilink
        12 years ago

        Don’t know actually, never used a language like that. But should be easy enough to undo should one test it and end up not liking how it handles it.

      • @kattfisk@lemmy.dbzer0.com
        link
        fedilink
        12 years ago

        I believe that type of stuff is specified in your locale, so it’s possible that it would do the right thing if you’ve set your language to Turkish. Please try it and let us know though :)

  • @steltek@lemm.ee
    link
    fedilink
    72 years ago

    Here’s how to fix this[+]

    Create $HOME/.config/user-dirs.dirs with

    XDG_DOWNLOAD_DIR=“$HOME/downloads”

    You may need to logout/in for things to reread this file.

    The full list of keys is:

    • XDG_DESKTOP_DIR
    • XDG_DOWNLOAD_DIR
    • XDG_TEMPLATES_DIR
    • XDG_PUBLICSHARE_DIR
    • XDG_DOCUMENTS_DIR
    • XDG_MUSIC_DIR
    • XDG_PICTURES_DIR
    • XDG_VIDEOS_DIR

    +: Since this is Linux, this is a fix for many but not all cases.

  • @ram@feddit.nl
    link
    fedilink
    82 years ago

    There are two Linux paradigms that I consider stupid. One is the use of centralized software repositories managed by the distro instead of individual developer maintained installers. The other one is file system case sensibility. They already admitted defeat on the first one with the rise of containerised applications. I wonder how much longer they’ll keep the charade on the second one.

    • @MJBrune@beehaw.org
      link
      fedilink
      English
      42 years ago

      I have a third one for you. Not being able to pick where things install. Everything installs to the os disk. Terrible idea.

    • smiletolerantly
      link
      fedilink
      28
      edit-2
      2 years ago

      Sorry, but you’re plain wrong on your first issue. Getting all your packages from one source is one of the biggest upsides of Linux.

      • @EddoWagt@feddit.nl
        link
        fedilink
        42 years ago

        Indeed, but I’m sure we can agree that it’s pretty stupid for every distro to maintain its own repo. That’s a lot of duplicate work, which could be spend on more useful things. Luckily flatpak is well on its way to change that

        • smiletolerantly
          link
          fedilink
          52 years ago

          Hm… But different distros have different philosophies (not just) about updates. That’s part of why people choose a specific distro.

          Theres still plenty speaking against flatpak (larger sizes, problems with GTK/qt themes, and it’s only meant for GUI applications - you still need a separate system for the kernel and lower-level/cli tools. And frankly, that makes flatpak unusable to me, because the purpose of a centralized package management system is not having duplicate systems).

          So in short: y’all are gonna pry pacman from my cold, dead hand.

          • @EddoWagt@feddit.nl
            link
            fedilink
            02 years ago

            I’m not against distros as a whole, some extra work will be inevitable because people have different preferences, but it feels like a waste having a Firefox package for arch, ubuntu, fedora and Debian while essentially all being identical. Indeed flatpak isn’t perfect yet, but it works great for me and it’s steadily improving

  • GollumOP
    link
    fedilink
    142 years ago

    I seems that I have triggered something, but keep that going, it’s quality content generation. 😬

  • Codex
    link
    fedilink
    36
    edit-2
    2 years ago

    I love how many people brought up the Turkish “I” as if everyone here is on the Unicode steering committee or just got jobs for Turkish facebook.

    I, an English speaker, have personally solved the problem by not having a Turkish I in the name of my Downloads directory, or any other directory that I need to cd into on my computer. I’m going to imagine the Turks solve it by painstakingly typing the correct I, or limiting their use of uppercase I’s in general.

    In fact, researching the actual issue for more than 1 second seemingly shows that Unicode basically created this problem themselves because the two I’s are just seperate letters in Turkic languages. https://en.m.wikipedia.org/wiki/Dotted_and_dotless_I_in_computing

    If you nerds think this is bad try doing Powershell for any amount of time. It is entirely case-insensitive.

    • @yum13241@lemm.ee
      link
      fedilink
      82 years ago

      Why the FUCK did they make characters that look the same have different codepointers in UNICODE? They should’ve done what they did in CJK and make duplicates have the same codepointer.

      Unicode needs a redo.

      • Trantarius
        link
        fedilink
        332 years ago

        Well letters don’t really have a single canonical shape. There are many acceptable ways of rendering each. While two letters might usually look the same, it is very possible that some shape could be acceptable for one but not the other. So, it makes sense to distinguish between them in binary representation. That allows the interpreting software to determine if it cares about the difference or not.

        Also, the Unicode code tables do mention which characters look (nearly) identical, so it’s definitely possible to make a program interpret something like a Greek question mark the same as a semicolon. I guess it’s just that no one has bothered, since it’s such a rare edge case.

          • @mrpants@midwest.social
            link
            fedilink
            English
            212 years ago

            In cases where something looks stupid but your knowledge on it is almost zero it’s entirely possible that it’s not.

            The people that maintain Unicode have put a lot of thought and effort into this. Might be helpful to research why rather than assuming you have a better way despite little knowledge of the subject.

              • @kattfisk@lemmy.dbzer0.com
                link
                fedilink
                22 years ago

                I and l also look identical in many fonts. So you already have this problem in ascii. (To say nothing of all the non-printing characters!)

                If your security relies on a person being able to tell the difference between two characters controlled by an attacker your security is bad.

                • @yum13241@lemm.ee
                  link
                  fedilink
                  02 years ago

                  The problem is when you can register “apple.com” with the Cryillic A, fooling many.

                  The I l issue is caused by fonts, not by ASCII.