examples | ||
input | ||
internal | ||
join | ||
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.
The following example is generated entirely from a single bash script.
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