Write beautiful shell scripts with Gum! [Terminal Velocity 4]

Поділитися
Вставка
  • Опубліковано 11 січ 2025

КОМЕНТАРІ • 37

  • @charmcli
    @charmcli 2 роки тому +71

    We're so flattered! Thanks for the awesome video on Gum

  • @vanshajdhar9223
    @vanshajdhar9223 Рік тому +13

    8:05 Bash has support for arrays, rather than doing tr, you can use
    branches=($(git branch))
    This will take branches as an array
    Then use for
    for branch in {branches[@]}; do echo "the branch is $branch"; done

  • @alessandroferrari2166
    @alessandroferrari2166 2 роки тому +6

    it's such a pleasure seeing you going through your thinking process and coding things out

  • @darkarie
    @darkarie Рік тому +4

    fyi you can use `gum filter --no-limit` and use the fuzzy finder too. Then you would use Tab instead of Space for the multi selection :)

  • @davidh.4944
    @davidh.4944 5 місяців тому +1

    Just a reminder, while it may not look as fancy, bash does have the built-in _select_ operator for simple menu choices.
    select branch in "${branches[@]}"; do
    echo "$branch"
    break
    done
    Other comments below detail how to get the input into an array. But you could also just use an unquoted $(git branch) in this case, and rely on IFS word splitting to break up the list.

    • @davidh.4944
      @davidh.4944 5 місяців тому

      Also, any time you start to call up tr, think about using parameter substitution instead. Ignoring the array stuff for now:
      branches=$(git branch)
      echo "${branches// /$'
      '}"
      And to handle unset parameters, you can simply set a default value.
      limit=${1:-1}

  • @mmmikem
    @mmmikem 2 роки тому +2

    Pleasantly surprised with this content!! Seriously cool and had never heard about this before!

    • @andrew-burgess
      @andrew-burgess  2 роки тому

      Thanks!
      BTW, what do you think of the audio on this one? Made some changes to my mic setup and my post processing!

    • @mmmikem
      @mmmikem 2 роки тому

      @@andrew-burgess it's super!! Could listen to this all day 👍🏻 On a slightly unrelated note, your pacing is really good too! I feel like you took just the right amount of time to explain what you were doing, that even though I haven't touched bash in 3 years, I was able to follow and learn a ton!

    • @andrew-burgess
      @andrew-burgess  2 роки тому

      @@mmmikem That means a lot to me! Thanks so much, glad to have you watching :)

  • @nickolaizein7465
    @nickolaizein7465 Рік тому +1

    Nice! I think it would be helpfull in my next bash task! Thank you!

  • @blank001
    @blank001 2 роки тому +1

    Gum's use case looks somewhat similar to that of dmenu and rofi, will definitely give this a try by updating some of my existing dmenu scripts to gum

    • @andrew-burgess
      @andrew-burgess  2 роки тому

      That’s cool, I’ve only heard of dmenu and rofi in the context of Linux app launchers. Are you referring yo something else?

    • @blank001
      @blank001 2 роки тому

      @@andrew-burgess you are in for a treat, dmenu and rofi has so many wide use cases other than just app launching. I'll add some examples here, when I am on my PC

    • @leo848
      @leo848 2 роки тому

      @@blank001 2 months ago...

    • @theycallmesloth
      @theycallmesloth Рік тому

      @@leo848 it can work as app launcher, clipboard manager, emoji picker, network manager, logout manager, maybe more, But I use it for these only.

    • @DharmaJannyter
      @DharmaJannyter Рік тому +1

      @@blank001You on that PC yet?... 😔

  • @moneyfr
    @moneyfr 2 роки тому +2

    How do you to always make interesting topics video.

  • @vitormelo22
    @vitormelo22 Рік тому +1

    This is amazing tool.

  • @user-kn4wt
    @user-kn4wt Рік тому

    what are the options for doing this in python? I've seen rich but it doesn't seem quite as powerful as this or bubbletea.

  • @i_do_stuff
    @i_do_stuff 10 місяців тому +1

    very cool and useful

  • @kshitijnigam
    @kshitijnigam Рік тому +1

    great, I am too dumb to ask how its predicting and giving suggestions in vim? any plugins?

    • @andrew-burgess
      @andrew-burgess  Рік тому +1

      Yep! Check out shaky.sh/tools/

    • @kshitijnigam
      @kshitijnigam Рік тому +2

      @@andrew-burgess awesome I will check it out also , just for this prompt response , u got my sub :)

  • @digitaldisruptlabs
    @digitaldisruptlabs 2 роки тому +1

    Great videos, I have looking for something to level up my scripts, and looks like this a very good and fun option.
    Btw, your keyboard sounds pretty good. What's the model? :) Cheers!

    • @andrew-burgess
      @andrew-burgess  2 роки тому +1

      Thanks! I’m using the Drop ALT keyboard.

  • @mattcargile
    @mattcargile 5 місяців тому

    Not a fan of how the echo data stays on screen.

  • @nicolasparada
    @nicolasparada 2 роки тому

    Very nice

  • @sluchaynayakotya1386
    @sluchaynayakotya1386 2 роки тому +2

    красивый мужик, знает баш и работает в виме, надо его срочно замуж выдавать. если он показал всё что делает гам то получается он умеет форматировать текст и создавать чекбоксы. ахуеть конечно функционал. за собой он наверное тащит ncurses а что же еще. честно говоря, если мне захочется пользоваться псевдографическим интерфейсом, я наверное сам руками его напишу потому что это весело, но гам тоже установлю, потому что мне тоже будет нужен ncurses. кто будет пользовааться гамом кроме самой чарм и тех кто его рекламирует? наверное никто, в этом наверное и смысл этих программ, это симулякры НО вот я например посомтрел это видео налюбовался на двойной подбородок этого красавицы мужчины и теперь мне тоже хочется начать писать на баш. баш вообще крутой язык, совершенно неинтуитивный, но некоторые решения там сделаны так как я бы сам сделал если бы изобретал собственный баш. лаконичный язык.

  • @alirezashayegan8260
    @alirezashayegan8260 Рік тому

    its so good

  • @paulthexton7483
    @paulthexton7483 Рік тому +1

    Great video. Gum does look really nice, I've done this sort of stuff before using the old ncurses based dialog command and it's pretty painful.
    However: "Bash doesn't really have great support for lists or arrays" ... not _entirely_ true, here's another way to skin that particular spud...
    #!/bin/bash
    get_branches() {
    echo "branch_one branch_two branch_three"
    }
    read -r -a branches

  • @techtude
    @techtude Рік тому

    You look like Linus Torvalds in thumbnail
    Pleas don't fall in love that much with linux..
    Lol

  • @mahdiaghaei8154
    @mahdiaghaei8154 2 роки тому

    Awesome

  • @RobBominaar
    @RobBominaar 3 дні тому

    A working example would have been a bit nicer, more productive, I think. Maybe do some research upfront as well?

  • @samuelbanya
    @samuelbanya 5 місяців тому

    Rewriting Magit huh? Just use Doom Emacs