Or is there maybe a way to set the pager for all help related queries to some command? I’m using bat and would like to pipe all --help through | bat --language=help by default for the syntax highlighting and colored output… Or if you know a lower effort way to color the output of --help let me know.

  • 𞋴𝛂𝛋𝛆@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    22 hours ago

    There has to be a hook somewhere for every command that executes. I’m not sure, but something in the chain after using set -x then running any terminal command likely is on the right path to doing this. (If you try set -x, you can turn it off with set +x). set -o options are another I’m not very familiar with but might be related.

    • friend_of_satan@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      21 hours ago

      set -x configures the running process, your shell. This is a posix standard flag. See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html

      there has to be a hook somewhere for every command that executes

      Why do think this? I’m not aware of any shells that have such a feature. I’m not saying it couldn’t be done, but it would be a new feature.

      I like the other suggestion of having a wrapper script that does what you need.

      • 𞋴𝛂𝛋𝛆@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        19 hours ago

        I don’t mind the idea of a wrapper it is just that most of the time, I’m looking at the last command, backspacing and then adding --help. After thinking about it, I will likely go the wrapper route, but add arguments that use the last command in terminal history automatically so that typing help- with no args runs a --help flag on that last command, 2::5 would add additional flags or arguments from the last command before --help and help- with any other args calls those instead of using history.

    • RedWeasel@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      22 hours ago

      You’d be intercepting all commands just to verify if they have a help flag and then if not executing them as they were intended. If the intercept got broke, then the shell would be completely broken.

        • RedWeasel@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          22 hours ago

          Not everything uses groff. A lot will have their own function or another.

          Edit: I think for what you indicting you are wanting to try you’d need to either patch your shell of choice or write your own.

          Edit2: If you did patch it, the best way I can think of to get something upstreamed would be to patch bash to use CTRL-Enter to automatically pipe the output to the default pager defined in BASHPAGER followed by PAGER if it doesn’t exist. Then set the BASHPAGER to your “bat” command.

          • Ephera@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            21 hours ago

            Frankly, I would be surprised, if anything uses groff for displaying --help, unless it shows the man page for that.
            The most basic implementation of --help is a manually formatted multi-line string written into the source code, which gets printed as-is.
            For dynamic layouting, you do need more logic, but rendering it to groff source code first does not make that easier. For tabbing, you print an appropriate number of \t.

            • RedWeasel@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 hour ago

              I agree, I just didn’t want to make assumptions about how newer things work with localization these days.

          • 𞋴𝛂𝛋𝛆@lemmy.worldOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            21 hours ago

            At this point, someone has to have already made a prettier shell or terminal that is configured like this by default. Hideous 1950s monocolor --help output can’t be a novel issue in 2025.

            • RedWeasel@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 hour ago

              16 Color terminals didn’t really start getting used until the 90s and early 2000s. And 256 after that. A lot of software was written back then and it would take a lot to add something that might not display well because of the terminal’s color scheme and now we have color theming.

                • RedWeasel@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  27 minutes ago

                  I am getting the feeling the you are mis-understanding than each project has their own independent implementing function and that each one would need to be rewritten. There a 10 of thousands of projects. This is not some simple, change 1 project task.