A tool for glamorous shell scripts 🎀
Go to file
2022-07-07 22:39:42 -04:00
examples feat: Default accent color is 212 (Bubble Gum Pink) 2022-07-07 17:46:22 -04:00
input feat: Default accent color is 212 (Bubble Gum Pink) 2022-07-07 17:46:22 -04:00
internal fix: ignore node_modules by default 2022-07-07 22:39:28 -04:00
join feat: Add gum join command 2022-07-07 19:32:21 -04:00
progress feat: Default accent color is 212 (Bubble Gum Pink) 2022-07-07 17:46:22 -04:00
search feat: list all files if gum search receives no input. 2022-07-07 22:10:31 -04:00
spin feat: Default accent color is 212 (Bubble Gum Pink) 2022-07-07 17:46:22 -04:00
style feat: Add gum join command 2022-07-07 19:32:21 -04:00
write fix(write): Placeholder color fix 2022-07-07 22:39:42 -04:00
.gitignore Initial commit 2022-07-06 12:05:45 -04:00
go.mod fix(write): Placeholder color fix 2022-07-07 22:39:42 -04:00
go.sum fix(write): Placeholder color fix 2022-07-07 22:39:42 -04:00
gum.go feat: Add gum join command 2022-07-07 19:32:21 -04:00
LICENSE Initial commit 2022-07-06 12:05:45 -04:00
main.go feat: Add gum join command 2022-07-07 19:32:21 -04:00
README.md docs: add demo 2022-07-07 15:25:40 -04:00

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.

Shell running the Gum examples/demo.sh script

Interaction

Input

Prompt your users for input with a simple command.

gum input > answer.text

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

Wed love to hear your thoughts on this project. Feel free to drop us a note!

License

MIT


Part of Charm.

The Charm logo

Charm热爱开源 • Charm loves open source