examples | ||
input | ||
internal | ||
progress | ||
search | ||
spin | ||
style | ||
write | ||
.gitignore | ||
go.mod | ||
go.sum | ||
gum.go | ||
LICENSE | ||
main.go | ||
README.md |
Gum
Tasty Bubble Gum for your shell.
Gum is a command-line tool (gum
) that gives you the power of
Bubbles and
Lip Gloss without needing to write
any Go code.
Check out the Example script to see what you can do with it.
Interaction
Input
Prompt your users for input with a simple command.
gum input > answer.text
Search
Allow your users to filter through a list of options by fuzzy searching.
echo Strawberry >> flavors.text
echo Banana >> flavors.text
echo Cherry >> flavors.text
cat flavors.text | gum search > selection.text
Loading
Display a progress bar while loading. The following command will display a progress bar and increment the progress by 10% every 1 second. Thus, taking 10 seconds to complete the progress bar.
gum progress --increment 0.1 --interval 1s
Spinners
Display a spinner while taking some running action. We specify the command to run while showing the spinner, the spinner will automatically stop after the command exits.
gum spin --spinner dot --title "Buying Bubble Gum..." -- sleep 5
⣽ Buying Bubble Gum...
Styling
Pretty print any string with any layout with one command.
gum style \
--foreground "#FF06B7" --border "double" --align "center" \
--width 50 --margin 2 --padding "2 4" \
"Bubble Gum (1¢)" "So sweet and so fresh\!"
Result:
╔══════════════════════════════════════════════════╗
║ ║
║ ║
║ Bubble Gum (1¢) ║
║ So sweet and so fresh! ║
║ ║
║ ║
╚══════════════════════════════════════════════════╝
Feedback
We’d love to hear your thoughts on this project. Feel free to drop us a note!
License
Part of Charm.
Charm热爱开源 • Charm loves open source