• leo85811nardo@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 months ago

    If you use zsh, there is zsh syntax highlighting plugin. For bash, a cursory search gave me ble.sh which looks interesting. And as other threads have mentioned, fish shell has this built in, but beware fish shell syntax works drastically differently from other POSIX shells

    • gomp@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      beware fish shell syntax works drastically differently from other POSIX shells

      Come on, that’s scaremongering :)

      On interactive, day-to-day use, fish syntax is basically the same as bash or any other shell: you type your commands, hit enter and the command is run. Only when it comes to scripting (or writing complex one-liners, or copy-pasting stuff from the web) are there appreciable differences. In those cases, until one is accustomed to fish, running the command/script in bash is still an option.

      Let me be 100% clear: yes, fish will complain if a wildcard doesn’t expand to anything, and there are other minor things that may impact typical interactive use. I’m just saying there is basically zero learning curve if you want to try fish and that you can just fire up bash if you hit a wall in a moment when you can’t afford to investigate because you need stuff done.

      If I had to say, the most hassle with fish is that people assume you are running POSIX shell and so you have to know how to adapt instructions to your shell. For example, someone may say “add expor SOME_VAR=some_value to your .bashrc” and you need to be able to translate that to fish. Also, there is very specific software (in my system, it’s just sdkman, an utility that manages which java development tools are installed/available in a shell session) that only works in POSIX shells and needs some adapter for fish.

      • leo85811nardo@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        Having to adapt to shells is exactly why I don’t like to use radical shells like fish or nushell. I don’t want to feel too comfortable with them, because if I do, I would probably regret it when I’m stuck in situations that doesn’t have the correct shell. SSH into a new server or Raspberry Pi that has DNS issue, for example, which actually happened to me more than once. The DNS is already troublesome, and I don’t want shell unfamiliarity to become another headache

  • ssm@lemmy.sdf.org
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    adjust the knobs on your terminal until the shade of green or yellow is pleasing

  • boredsquirrel@slrpnk.net
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    3 months ago

    Fish shell

    You can change the used shell in the configs. At least for Alacritty, when I used it (dont care, it was still kinda broken, I just use Konsole)

    • 柊 つかさ@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Interesting, I never heard of setting your shell in the emulator config. I just used ‘chsh’ once when I setup the install.

      • boredsquirrel@slrpnk.net
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        3 months ago

        Yeah please dont use chsh.

        Zsh may work, dash (which is a faster, smaller reimplementation of bash) may work.

        But fish absolutely doesnt.

        Just because you want to have a nice writing experience, that doesnt mean your whole OS needs a different shell.

        I will experiment with dash though. Ubuntu uses it as the root shell, so it is really well tested.

        • priapus@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          3 months ago

          What do you mean by won’t work? chsh is not changing the shell of the entire OS, it’s changing your users login shell. Unless you’ve done something to make your login break without bash, this is completely fine. Using chsh is even how the Fish docs recommend setting it as your default.

          What Ubuntu did isnt about login shells, they replaced /bin/sh with dash, meaning any scripts that try to use sh will instead use dash.

        • sparr@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          3 months ago

          please dont use chsh

          doesnt mean your whole OS needs a different shell

          chsh just changes the shell when you log in to a shell. all the other shells are still available and usable. any script starting tieh #!/bin/bash will still run with bash, even if you’re using zsh or fish.

          • boredsquirrel@slrpnk.net
            link
            fedilink
            arrow-up
            0
            arrow-down
            1
            ·
            3 months ago

            Yes bash scripts still work, but I heard there may be other things that randomly break.

            Many things use #!/bin/sh for example, which often is a link to bash, but may not work anymore.

            • lelgenio@lemmy.ml
              link
              fedilink
              arrow-up
              2
              ·
              3 months ago

              chsh does not modify /bin/sh

              Maybe you’re thinking of a certain video from a certain YouTuber who linked /bin/sh to fish?

              • boredsquirrel@slrpnk.net
                link
                fedilink
                arrow-up
                0
                arrow-down
                1
                ·
                3 months ago

                Haha no didnt think of that? Hm, I dont know why it would be an issue then. POSIX compliant shells should be no problem, but I wouldnt do it for fish

                • billgamesh@lemmy.ml
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  3 months ago

                  It will never matter what your login shell, unless you have bash specific scripts in your login. chsh -s /bin/fish $(whoami) is fine.