• PupBiru@kbin.social
      link
      fedilink
      arrow-up
      13
      ·
      edit-2
      1 year 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@feddit.nu
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

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

    • jmcs@discuss.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year 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@feddit.nu
        link
        fedilink
        arrow-up
        1
        ·
        1 year 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
        arrow-up
        1
        ·
        1 year 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 :)

      • bier@feddit.nl
        link
        fedilink
        arrow-up
        6
        ·
        1 year ago

        Why did Linux systems go for capitals in the home folder? It’s actually kind of annoying and takes extra key presses.

        …A while later “XDG Base Directory Specification”

        • zlatko@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          XDG specifies the capital names, but to be nitpickingly technically precise, linux systems don’t do this. It mostly is done by the distribution maintainers, and the XDG specs. A base system does not usually have a notion of anything beyond your $HOME.

          Try adding a user: sudo adduser basicuser. If you ls -al ~basicuser you will see it’s almost empty, just the .bashrc (or in my fedora, there’s some .mozilla crap in /etc/skel that also gets bootstrapped).

    • jonne@infosec.pub
      link
      fedilink
      arrow-up
      24
      ·
      edit-2
      1 year ago

      It’s a default on some distros, unfortunately, and changing it without updating the necessary env vars will break a bunch of stuff.

      • ayushnix@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        It would be a default on almost every distro that follows XDG specifications to have stuff like Downloads, Pictures, Videos in the $HOME folder. One of the first things I do as part of an installation is to modify ~/.config/user-dirs.dirs and set a specific folder, say /data/downloads or ~/downloads, for every XDG base directory.

  • Feyter@programming.devM
    link
    fedilink
    arrow-up
    26
    arrow-down
    8
    ·
    1 year 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”.

    • Swedneck@discuss.tchncs.de
      link
      fedilink
      arrow-up
      12
      arrow-down
      2
      ·
      1 year 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
        arrow-up
        4
        arrow-down
        3
        ·
        1 year ago

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

    • schnurrito@discuss.tchncs.de
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      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
          arrow-up
          1
          ·
          1 year 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. :|

    • lemmonade@lemm.ee
      link
      fedilink
      arrow-up
      7
      arrow-down
      2
      ·
      1 year 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.

        • Honytawk@lemmy.zip
          link
          fedilink
          arrow-up
          4
          arrow-down
          2
          ·
          1 year ago

          Substring is not string.

          If they were interchangeable, then “D” & “d” should be too.

          • Feyter@programming.devM
            link
            fedilink
            arrow-up
            2
            ·
            1 year 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
              arrow-up
              1
              ·
              edit-2
              1 year 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

              • Feyter@programming.devM
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 year 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
                  arrow-up
                  1
                  ·
                  1 year 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
      arrow-up
      5
      arrow-down
      5
      ·
      edit-2
      1 year 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@kbin.social
        link
        fedilink
        arrow-up
        7
        arrow-down
        3
        ·
        1 year ago

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

        i prefer not fire

  • Gollum@feddit.deOP
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    1 year ago

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

    • drolex@sopuli.xyz
      link
      fedilink
      arrow-up
      18
      arrow-down
      4
      ·
      1 year ago

      Everyone on any Linux thread ever: you are a moron, obviously and you’re doing it wrong. Why don’t you install another distro, or better yet: modify and recompile your distro to match your desired experience, the code is open source ffs! What do you need? 4 years of work maybe? Come on.

  • steltek@lemm.ee
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    1 year 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.