As my time with linux, I created a lot of scripts. Some of them have input parameters and sometimes I just forget this parameters.

So I wonder if there is some way to create autocomplete parameters, like i autocomplete a path by pressing the tab key?

For example a script. ./test.sh can be completed with parameter-one, eg. ./test.sh parameter-one or ./test.sh parameter-two. If i type now ./test.sh followed by tab it should add parameter-one if i press tab again it should change to parameter-two.

How can I do that? I’m on bash…

  • Flagstaff
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 hours ago

    macOS blocks tools like Espanso from viewing or modifying login input fields.

    I wonder if SikuliX may be of interest to you, then. I just invoke KeePassXC’s built-in autotyper; it’s not too much more painful for me. Anyway, thanks for sharing! We certainly use it for very different things. Here’s a Reddit search URL generation script that I use sporadically:

      - trigger: '`rs'
        replace: '{{output}}'
        vars:
          - name: form
            type: form
            params:
              layout: |
                [[subdomain]]
                Subreddit (optional): [[subreddit]]
                Query:
                [[query]]
              fields:
                subdomain:
                  type: choice
                  values:
                    - www
                    - old
                  default: old
          - name: output
            type: script
            params:
              args:
                - python
                - -c
                - |
                  if '{{form.subreddit}}':
                    print(f'https://{{form.subdomain}}.reddit.com/r/{{form.subreddit}}/search?q={{form.query}}&restrict_sr=on&include_over_18=on')
                  else:
                    print(f'https://{{form.subdomain}}.reddit.com/search?q={{form.query}}&include_over_18=on')
    

    I wanna make a Lemmy equivalent of this, eventually…

    Update: Okay, just did for my instance!

      - trigger: "`lemmy"
        propagate_case: true
        replace: "https://programming.dev/search?q={{lemmy.query}}&type={{lemmy.search}}&listingType=All&page=1&sort={{lemmy.timeframe}}"
        vars:
          - name: "lemmy"
            type: form
            params:
              layout: |
                Query: [[query]]
                Filter: [[search]]Time Frame: [[timeframe]]
              fields:
                query:
                search:
                  type: list
                  values:
                    - All
                    - Comments
                    - Communities
                    - Posts
                    - Users
                    - URL
                  default: All
                timeframe:
                  type: list
                  values:
                    - TopWeek
                    - TopMonth
                    - TopThreeMonths
                    - TopSixMonths
                    - TopNineMonths
                    - TopYear
                    - TopAll
                  default: TopAll
    

    It’d be nice to be able to improve the layout’s appearance, but I don’t know how to do that…