mirror of
https://github.com/mjsarfatti/beddu.git
synced 2025-06-26 17:08:01 +02:00
Complete docs
This commit is contained in:
parent
f53afe80c9
commit
76e2ad7db7
7 changed files with 718 additions and 29 deletions
9
Makefile
9
Makefile
|
@ -4,6 +4,8 @@ OUT_DIR = dist
|
|||
OUTPUT = $(OUT_DIR)/beddu.sh
|
||||
SRC_DIR = src
|
||||
DEMO_DIR = demo
|
||||
YEAR = $(shell date +%Y)
|
||||
IP = $(shell curl -s ipinfo.io/ip)
|
||||
|
||||
# Find all direct subdirectories of src and sort them alphabetically
|
||||
SUBDIRS = $(sort $(dir $(wildcard $(SRC_DIR)/*/)))
|
||||
|
@ -70,10 +72,11 @@ $(OUTPUT): $(ALL_SRC_FILES)
|
|||
@echo '# shellcheck disable=all' >> $(OUTPUT)
|
||||
@echo '#' >> $(OUTPUT)
|
||||
@echo '# beddu.sh - A lightweight bash framework for interactive scripts and pretty output' >> $(OUTPUT)
|
||||
@echo '# https://github.com/mjsarfatti/beddu' >> $(OUTPUT)
|
||||
@echo '#' >> $(OUTPUT)
|
||||
@echo '# Version: $(shell git describe --tags --dirty)' >> $(OUTPUT)
|
||||
@echo '# Generated on: $(shell date)' >> $(OUTPUT)
|
||||
@echo '#' >> $(OUTPUT)
|
||||
@echo '# Copyright © $(YEAR) Manuele Sarfatti' >> $(OUTPUT)
|
||||
@echo '# Licensed under the MIT license' >> $(OUTPUT)
|
||||
@echo '# See https://github.com/mjsarfatti/beddu' >> $(OUTPUT)
|
||||
@# Process each file, stripping comments, empty lines, and source lines
|
||||
@for file in $(ALL_SRC_FILES); do \
|
||||
echo "" >> $(OUTPUT); \
|
||||
|
|
42
README.md
42
README.md
|
@ -4,7 +4,15 @@ A lightweight bash framework for interactive scripts with pretty output.
|
|||
|
||||
## Overview
|
||||
|
||||
**Beddu** is a minimalist bash library that makes your terminal scripts more interactive and visually appealing. It provides easy-to-use functions for colorful text, spinners, progress indicators, and user interaction.
|
||||
**Beddu** is a minimalist bash library that makes your terminal scripts more interactive and visually appealing. It provides easy-to-use and intuitive functions for colorful text, spinners, progress indicators, and user interaction.
|
||||
|
||||
Your scripts will look something like this:
|
||||
|
||||

|
||||
|
||||
And you will easily be able to build things like:
|
||||
|
||||
[](https://asciinema.org/a/E4frqYZFk3XR38UkGYs5ASnKC)
|
||||
|
||||
## Features
|
||||
|
||||
|
@ -22,7 +30,7 @@ Clone the repository or download `beddu.sh` to your project:
|
|||
# Clone the repository
|
||||
git clone https://github.com/mjsarfatti/beddu.git
|
||||
|
||||
# Or download just the script
|
||||
# Or just download the compiled script
|
||||
curl -O https://raw.githubusercontent.com/mjsarfatti/beddu/main/beddu.sh
|
||||
```
|
||||
|
||||
|
@ -59,7 +67,7 @@ pen 39 "ANSI color code 39 (light blue)"
|
|||
pen bold red "Bold red text"
|
||||
|
||||
# Inline
|
||||
echo "This is $(pen yellow "yellow"), and this is $(pen bold "bold")"
|
||||
pen "This is $(pen yellow "yellow"), and this is $(pen bold "bold")"
|
||||
```
|
||||
|
||||
### Interactive Functions
|
||||
|
@ -94,7 +102,7 @@ pen "You selected: $color"
|
|||
# Show a progress spinner
|
||||
spin "Working on it..."
|
||||
sleep 2
|
||||
check "Done!"
|
||||
check "Done!" # Automatically stops and replaces the spinner
|
||||
|
||||
# Replace lines dynamically
|
||||
pen "This will be replaced..."
|
||||
|
@ -103,7 +111,7 @@ repen "Processing started..."
|
|||
sleep 1
|
||||
repen spin "Almost done..." # Let's add a spinner for good measure
|
||||
sleep 1
|
||||
check "Task completed!" # We can directly `check` or `error` after a `spin` call - the message will always replace the spin line
|
||||
check "Task completed!" # We can directly `check`, `warn`, or `throw` after a `spin` call - the message will always replace the spin line
|
||||
```
|
||||
|
||||
## Demo
|
||||
|
@ -111,7 +119,7 @@ check "Task completed!" # We can directly `check` or `error` after a `spin` call
|
|||
To see it in action paste the following command in your terminal:
|
||||
|
||||
```bash
|
||||
curl -s https://raw.githubusercontent.com/mjsarfatti/beddu/main/demo.sh | bash
|
||||
curl -s https://raw.githubusercontent.com/mjsarfatti/beddu/main/demo/demo.sh | bash
|
||||
```
|
||||
|
||||
## Function Reference
|
||||
|
@ -119,9 +127,9 @@ curl -s https://raw.githubusercontent.com/mjsarfatti/beddu/main/demo.sh | bash
|
|||
### Text Formatting
|
||||
|
||||
- `pen [OPTIONS] TEXT` - Output formatted text
|
||||
- `-n` - No newline after output (must be the first option if used)
|
||||
- `-n` - No newline after output
|
||||
- `bold`, `italic`, `underline` - Text styles
|
||||
- `red`, `green`, `blue`, etc. - Color names
|
||||
- `black`, `red`, `green`, `yellow`, `blue`, `purple`, `cyan`, `white`, `grey`, `gray` - Color names
|
||||
- `0-255` - ANSI color codes
|
||||
|
||||
### User Interaction
|
||||
|
@ -134,25 +142,21 @@ curl -s https://raw.githubusercontent.com/mjsarfatti/beddu/main/demo.sh | bash
|
|||
|
||||
### Progress Indicators
|
||||
|
||||
- `spin MESSAGE` - Show animated spinner
|
||||
- `check MESSAGE` - Show success indicator (if called right after a spinner, replaces that line)
|
||||
- `error MESSAGE` - Show error indicator (if called right after a spinner, replaces that line)
|
||||
- `repen [OPTIONS] MESSAGE` - Like `pen`, but replace the previous line
|
||||
- `-n` - No newline after output (must be the first option if used)
|
||||
- `spin`, `check`, `error` - If passed, use this function to print the message
|
||||
- `bold`, `italic`, `underline` - Text styles
|
||||
- `red`, `green`, `blue`, etc. - Color names
|
||||
- `0-255` - ANSI color codes
|
||||
- `spin MESSAGE` - Show an animated spinner
|
||||
- `check MESSAGE` - Show a success message (if called right after a spinner, it stops and replaces it)
|
||||
- `warn MESSAGE` - Show a warning message (if called right after a spinner, it stops and replaces it)
|
||||
- `throw MESSAGE` - Show an error message (if called right after a spinner, it stops and replaces it)
|
||||
- `repen [OPTIONS] MESSAGE` - Like `pen`, but replace the previous line (it accepts all the same options)
|
||||
|
||||
## FAQ
|
||||
|
||||
### Q: It doesn't work on my computer?
|
||||
|
||||
A: **Beddu** requires bash v4+. If your bash version checks out, please file an issue!
|
||||
A: **Beddu** requires bash v4+. If you are on a mac, you probably want to `brew install bash`. If your bash version checks out, please file an issue!
|
||||
|
||||
### Q: Can you add feature X?
|
||||
|
||||
A: Most likely, not. This is meant to be a _minimal_ toolkit to quickly jot down simple interactive scripts, nothing more. If you are looking for something more complete check out [Gum](https://github.com/charmbracelet/gum) (bash), [Inquire](https://github.com/mikaelmello/inquire) (Rust) or [Enquirer](https://github.com/enquirer/enquirer) (Node).
|
||||
A: Most likely, not (but never say never). This is meant to be a _minimal_ toolkit to quickly jot down simple interactive scripts, nothing more. If you are looking for something more complete check out [Gum](https://github.com/charmbracelet/gum) (bash), [Inquire](https://github.com/mikaelmello/inquire) (Rust), [Enquirer](https://github.com/enquirer/enquirer) (Node) or [Awesome Bash](https://github.com/awesome-lists/awesome-bash).
|
||||
|
||||
## License
|
||||
|
||||
|
|
BIN
demo/carbon.png
Normal file
BIN
demo/carbon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 210 KiB |
21
demo/carbon.sh
Executable file
21
demo/carbon.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
. beddu.sh
|
||||
|
||||
line
|
||||
pen purple "Hello, I'm your IP helper, here to help you will all your IP needs."
|
||||
line
|
||||
|
||||
choose action "What would you like to do?" "Get my IP" "Get my location"
|
||||
|
||||
case "$action" in
|
||||
"Get my IP")
|
||||
run --out ip curl ipinfo.io/ip
|
||||
line; pen "Your IP is $ip"
|
||||
;;
|
||||
"Get my location")
|
||||
run --out location curl -s ipinfo.io/loc
|
||||
line; pen "Your coordinates are $location"
|
||||
;;
|
||||
esac
|
||||
|
661
demo/demo.cast
Normal file
661
demo/demo.cast
Normal file
|
@ -0,0 +1,661 @@
|
|||
{"version": 2, "width": 105, "height": 22, "timestamp": 1746969298, "env": {"SHELL": "/bin/zsh", "TERM": "screen-256color"}}
|
||||
[0.0, "o", "\u001b[?1l\u001b>"]
|
||||
[0.000285, "o", "\u001b[?2004l"]
|
||||
[0.001299, "o", "\r\r\n"]
|
||||
[0.017559, "o", "\u001b]0;clear | beddu\u0007"]
|
||||
[0.021847, "o", "\u001b[H\u001b[J"]
|
||||
[0.022301, "o", "\u001b[1m\u001b[3m%\u001b[23m\u001b[1m\u001b[0m \r \r"]
|
||||
[0.032618, "o", "\u001b]0;beddu\u0007"]
|
||||
[0.07348, "o", "\r\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[101C\u001b[1A\u001b[1B\u001b[101D"]
|
||||
[0.073552, "o", "\u001b[?1h\u001b="]
|
||||
[0.073733, "o", "\u001b[?2004h"]
|
||||
[0.084579, "o", "\r\r\u001bM\u001bM\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[101C\u001b[1A\u001b[1B\u001b[101D"]
|
||||
[0.100007, "o", "\r\r\u001bM\u001bM\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[101C\u001b[1A\u001b[1B\u001b[101D"]
|
||||
[1.231819, "o", "."]
|
||||
[1.234367, "o", "\b\u001b[32m.\u001b[39m"]
|
||||
[1.234658, "o", "\b\u001b[32m.\u001b[39m\u001b[90m/demo/demo.sh\u001b[39m\u001b[13D"]
|
||||
[1.631811, "o", "\b\u001b[32m.\u001b[32m/\u001b[39m"]
|
||||
[1.637327, "o", "\b\b\u001b[39m\u001b[4m.\u001b[39m\u001b[4m/\u001b[24m"]
|
||||
[2.454336, "o", "\u001b[39md\u001b[39me\u001b[39mm\u001b[39mo\u001b[39m/\u001b[39md\u001b[39me\u001b[39mm\u001b[39mo\u001b[39m.\u001b[39ms\u001b[39mh"]
|
||||
[2.460739, "o", "\u001b[14D\u001b[24m\u001b[32m.\u001b[24m\u001b[32m/\u001b[32md\u001b[32me\u001b[32mm\u001b[32mo\u001b[32m/\u001b[32md\u001b[32me\u001b[32mm\u001b[32mo\u001b[32m.\u001b[32ms\u001b[32mh\u001b[39m"]
|
||||
[3.205022, "o", "\u001b[?1l\u001b>"]
|
||||
[3.205347, "o", "\u001b[?2004l"]
|
||||
[3.206581, "o", "\r\r\n"]
|
||||
[3.222789, "o", "\u001b]0;./demo/demo.sh | beddu\u0007"]
|
||||
[3.384969, "o", "\u001b[?25l\r\n"]
|
||||
[3.385143, "o", "\u001b[38;5;99m\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\u001b[0m\r\n"]
|
||||
[3.385273, "o", "\u001b[38;5;99m\u2551 \u2551\u001b[0m\r\n"]
|
||||
[3.38535, "o", "\u001b[38;5;99m\u2551 \u2551\u001b[0m\r\n"]
|
||||
[3.385457, "o", "\u001b[38;5;99m\u2551 \u001b[0m"]
|
||||
[3.385546, "o", "\u001b[38;5;219mBeddu.sh Demo\u001b[0m"]
|
||||
[3.385618, "o", "\u001b[38;5;99m \u2551\u001b[0m\r\n"]
|
||||
[3.385691, "o", "\u001b[38;5;99m\u2551 \u2551\u001b[0m\r\n"]
|
||||
[3.385759, "o", "\u001b[38;5;99m\u2551 \u2551\u001b[0m\r\n"]
|
||||
[3.38584, "o", "\u001b[38;5;99m\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u001b[0m\r\n"]
|
||||
[3.385875, "o", "\r\n\r\n\r\n"]
|
||||
[3.386451, "o", "\u001b[?25l"]
|
||||
[3.386643, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[3.386838, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.386891, "o", "\u001b[A"]
|
||||
[3.386952, "o", "\r"]
|
||||
[3.387016, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[3.387169, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.495369, "o", "\u001b[A\r"]
|
||||
[3.495676, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[3.496143, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.608671, "o", "\u001b[A\r"]
|
||||
[3.609011, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[3.609519, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.721203, "o", "\u001b[A\r"]
|
||||
[3.721467, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[3.721755, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.834076, "o", "\u001b[A\r"]
|
||||
[3.834409, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[3.834856, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[3.945917, "o", "\u001b[A\r"]
|
||||
[3.94604, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[3.946273, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[4.055835, "o", "\u001b[A\r"]
|
||||
[4.056153, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[4.056598, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[4.167802, "o", "\u001b[A\r"]
|
||||
[4.168027, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[4.168313, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[4.279213, "o", "\u001b[A\r"]
|
||||
[4.279657, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[4.279832, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[4.391846, "o", "\u001b[A\r"]
|
||||
[4.391936, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[4.392484, "o", "\u001b[38;5;219mLoading text formatting...\u001b[0m\r\n"]
|
||||
[4.5093, "o", "\u001b[A\r\u001b[2K"]
|
||||
[4.509505, "o", "\u001b[38;5;219m\u001b[3m-- Text formatting --\u001b[0m\r\n"]
|
||||
[4.509549, "o", "\r\n"]
|
||||
[4.509625, "o", "\u001b[1mThis text is bold\u001b[0m\r\n"]
|
||||
[4.509688, "o", "\u001b[3mThis text is italic\u001b[0m\r\n"]
|
||||
[4.509731, "o", "\u001b[4mThis text is underlined\u001b[0m\r\n\r\n"]
|
||||
[4.509742, "o", "\r\n"]
|
||||
[4.510995, "o", "\u001b[?25l"]
|
||||
[4.511244, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[4.511464, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[4.511528, "o", "\u001b[A"]
|
||||
[4.511544, "o", "\r"]
|
||||
[4.511674, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[4.511862, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[4.617161, "o", "\u001b[A\r"]
|
||||
[4.617432, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[4.617982, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[4.724975, "o", "\u001b[A\r"]
|
||||
[4.725218, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[4.725578, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[4.833768, "o", "\u001b[A\r"]
|
||||
[4.833989, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[4.834258, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[4.941369, "o", "\u001b[A\r"]
|
||||
[4.941675, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[4.942112, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.048443, "o", "\u001b[A\r"]
|
||||
[5.04879, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[5.049186, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.161044, "o", "\u001b[A\r"]
|
||||
[5.16138, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[5.16186, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.269353, "o", "\u001b[A\r"]
|
||||
[5.269697, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[5.270177, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.381365, "o", "\u001b[A\r"]
|
||||
[5.381712, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[5.382154, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.491486, "o", "\u001b[A\r"]
|
||||
[5.491841, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[5.492311, "o", "\u001b[38;5;219mLoading basic colors...\u001b[0m\r\n"]
|
||||
[5.638173, "o", "\u001b[A\r\u001b[2K"]
|
||||
[5.638357, "o", "\u001b[38;5;219m\u001b[3m-- Basic colors --\u001b[0m\r\n\r\n"]
|
||||
[5.638472, "o", "\u001b[31mRed text\u001b[0m\r\n"]
|
||||
[5.638559, "o", "\u001b[32mGreen text\u001b[0m\r\n"]
|
||||
[5.638603, "o", "\u001b[33mYellow text\u001b[0m\r\n"]
|
||||
[5.638655, "o", "\u001b[34mBlue text\u001b[0m\r\n"]
|
||||
[5.638672, "o", "\u001b[35mPurple text\u001b[0m\r\n"]
|
||||
[5.638679, "o", "\u001b[36mCyan text\u001b[0m\r\n"]
|
||||
[5.638773, "o", "\u001b[37mWhite text\u001b[0m\r\n"]
|
||||
[5.638784, "o", "\u001b[90mGrey text\u001b[0m\r\n"]
|
||||
[5.638847, "o", "\u001b[30mBlack text \u001b[0m"]
|
||||
[5.638901, "o", "\u001b[3m[Black text - might not be visible]\u001b[0m\r\n"]
|
||||
[5.638911, "o", "\r\n\r\n"]
|
||||
[5.639928, "o", "\u001b[?25l"]
|
||||
[5.64016, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[5.640349, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[5.6404, "o", "\u001b[A"]
|
||||
[5.640409, "o", "\r"]
|
||||
[5.640539, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[5.640687, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[5.750254, "o", "\u001b[A\r"]
|
||||
[5.75062, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[5.75103, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[5.862261, "o", "\u001b[A\r"]
|
||||
[5.862505, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[5.862812, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[5.976077, "o", "\u001b[A\r"]
|
||||
[5.976417, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[5.976867, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.083764, "o", "\u001b[A\r"]
|
||||
[6.084433, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[6.084712, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.197221, "o", "\u001b[A\r"]
|
||||
[6.197562, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[6.19797, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.307838, "o", "\u001b[A\r"]
|
||||
[6.308056, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[6.308263, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.419183, "o", "\u001b[A\r"]
|
||||
[6.419402, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[6.419678, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.530816, "o", "\u001b[A\r"]
|
||||
[6.531134, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[6.531584, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.64333, "o", "\u001b[A\r"]
|
||||
[6.643528, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[6.643909, "o", "\u001b[38;5;219mLoading ANSI 256 colors...\u001b[0m\r\n"]
|
||||
[6.766203, "o", "\u001b[A\r\u001b[2K"]
|
||||
[6.766455, "o", "\u001b[38;5;219m\u001b[3m-- ANSI 256 colors (examples) --\u001b[0m\r\n"]
|
||||
[6.766479, "o", "\r\n"]
|
||||
[6.766678, "o", "\u001b[38;5;39mLight blue text (39)\u001b[0m\r\n"]
|
||||
[6.766789, "o", "\u001b[38;5;208mOrange text (208)\u001b[0m\r\n"]
|
||||
[6.76689, "o", "\u001b[38;5;82mLight green text (82)\u001b[0m\r\n"]
|
||||
[6.766954, "o", "\r\n\r\n"]
|
||||
[6.768576, "o", "\u001b[?25l"]
|
||||
[6.7689, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[6.769109, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[6.769167, "o", "\u001b[A"]
|
||||
[6.76918, "o", "\r"]
|
||||
[6.769294, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[6.76946, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[6.876427, "o", "\u001b[A\r"]
|
||||
[6.87663, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[6.876992, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[6.988223, "o", "\u001b[A\r"]
|
||||
[6.988585, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[6.989075, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.099866, "o", "\u001b[A\r"]
|
||||
[7.100415, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[7.100918, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.208787, "o", "\u001b[A\r"]
|
||||
[7.209151, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[7.209457, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.317381, "o", "\u001b[A\r"]
|
||||
[7.317741, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[7.31805, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.427906, "o", "\u001b[A\r"]
|
||||
[7.428256, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[7.428734, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.538201, "o", "\u001b[A\r"]
|
||||
[7.538561, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[7.53904, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.648669, "o", "\u001b[A\r"]
|
||||
[7.648999, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[7.649461, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.761927, "o", "\u001b[A\r"]
|
||||
[7.762283, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[7.76274, "o", "\u001b[38;5;219mLoading combined formatting...\u001b[0m\r\n"]
|
||||
[7.897195, "o", "\u001b[A\r\u001b[2K"]
|
||||
[7.897401, "o", "\u001b[38;5;219m\u001b[3m-- Combined formatting --\u001b[0m\r\n\r\n"]
|
||||
[7.897483, "o", "\u001b[1m\u001b[34mThis text is bold and blue\u001b[0m\r\n"]
|
||||
[7.89758, "o", "\u001b[1m\u001b[3m\u001b[31mThis text is bold, italic and red\u001b[0m\r\n"]
|
||||
[7.897682, "o", "\u001b[4m\u001b[32mThis text is underlined and green\u001b[0m\r\n"]
|
||||
[7.897803, "o", "\u001b[1m\u001b[38;5;39mThis text is bold and light blue (ANSI 256 color 39)\u001b[0m\r\n"]
|
||||
[7.897911, "o", "\u001b[3m\u001b[38;5;208mThis text is italic and orange (ANSI 256 color 208)\u001b[0m\r\n"]
|
||||
[7.897991, "o", "\u001b[31mThis is red \u001b[0m"]
|
||||
[7.898067, "o", "\u001b[32mand this is green, \u001b[0m"]
|
||||
[7.898125, "o", "all on the same line!\u001b[0m\r\n"]
|
||||
[7.901862, "o", "And this is \u001b[33myellow\u001b[0m, and this is \u001b[35mpurple\u001b[0m\u001b[0m\r\n\r\n\r\n"]
|
||||
[7.903143, "o", "\u001b[?25l"]
|
||||
[7.903396, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[7.903614, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[7.903726, "o", "\u001b[A\r"]
|
||||
[7.903812, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[7.903983, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.013344, "o", "\u001b[A\r"]
|
||||
[8.013565, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[8.013896, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.122468, "o", "\u001b[A\r"]
|
||||
[8.122885, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[8.1235, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.233768, "o", "\u001b[A\r"]
|
||||
[8.234148, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[8.235294, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.345054, "o", "\u001b[A\r"]
|
||||
[8.345377, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[8.345749, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.456155, "o", "\u001b[A\r"]
|
||||
[8.456477, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[8.45693, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.567833, "o", "\u001b[A\r"]
|
||||
[8.568132, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[8.568491, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.676613, "o", "\u001b[A\r"]
|
||||
[8.676975, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[8.677349, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.785602, "o", "\u001b[A\r"]
|
||||
[8.785937, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[8.786417, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[8.897249, "o", "\u001b[A\r"]
|
||||
[8.897436, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[8.897611, "o", "\u001b[38;5;219mLoading output utilities...\u001b[0m\r\n"]
|
||||
[9.028447, "o", "\u001b[A\r\u001b[2K"]
|
||||
[9.02865, "o", "\u001b[38;5;219m\u001b[3m-- Output utilities --\u001b[0m\r\n"]
|
||||
[9.028718, "o", "\r\n"]
|
||||
[9.028766, "o", "\u001b[32m\u2713 \u001b[0m"]
|
||||
[9.028818, "o", "Task completed successfully!\u001b[0m\r\n"]
|
||||
[9.02891, "o", "\u001b[31m\u2717 \u001b[0m"]
|
||||
[9.028971, "o", "Operation failed.\u001b[0m\r\n"]
|
||||
[9.029007, "o", "\r\n\r\n"]
|
||||
[9.030059, "o", "\u001b[?25l"]
|
||||
[9.030338, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[9.030546, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.030612, "o", "\u001b[A"]
|
||||
[9.030655, "o", "\r"]
|
||||
[9.030764, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[9.030947, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.136624, "o", "\u001b[A\r"]
|
||||
[9.136841, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[9.137117, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.248429, "o", "\u001b[A\r\u001b[36m\u28df \u001b[0m"]
|
||||
[9.249129, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.361925, "o", "\u001b[A\r"]
|
||||
[9.362247, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[9.362707, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.472351, "o", "\u001b[A\r"]
|
||||
[9.472689, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[9.473157, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.584616, "o", "\u001b[A\r"]
|
||||
[9.584859, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[9.585155, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.694786, "o", "\u001b[A\r"]
|
||||
[9.695137, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[9.695608, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.807245, "o", "\u001b[A\r"]
|
||||
[9.807618, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[9.808091, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[9.915446, "o", "\u001b[A\r"]
|
||||
[9.91577, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[9.916225, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[10.028684, "o", "\u001b[A\r"]
|
||||
[10.029024, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[10.02948, "o", "\u001b[38;5;219mStarting interactive experience...\u001b[0m\r\n"]
|
||||
[10.1574, "o", "\u001b[A\r\u001b[2K"]
|
||||
[10.157616, "o", "\u001b[38;5;219m\u001b[3m-- Interactive functions --\u001b[0m\r\n"]
|
||||
[10.1577, "o", "\r\n"]
|
||||
[10.159843, "o", "\u001b[?25h"]
|
||||
[10.159928, "o", "\u001b[34m? \u001b[0mHow can I call you?\u001b[0m\r\n\u001b[34m\u276f \u001b[0m"]
|
||||
[12.22436, "o", "G"]
|
||||
[12.386994, "o", "i"]
|
||||
[12.469145, "o", "o"]
|
||||
[12.567543, "o", "r"]
|
||||
[12.75488, "o", "g"]
|
||||
[12.822131, "o", "i"]
|
||||
[12.882642, "o", "o"]
|
||||
[13.596111, "o", "\r\n"]
|
||||
[13.599242, "o", "Hello, \u001b[1m\u001b[36mGiorgio\u001b[0m\u001b[0m\r\n\r\n"]
|
||||
[13.601329, "o", "\u001b[?25l"]
|
||||
[13.601456, "o", "\u001b[34m? \u001b[0mWhat is your favorite color?\u001b[0m\u001b[90m[\u2191\u2193]\u001b[0m\u001b[0m\r\n"]
|
||||
[13.601589, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[13.601647, "o", "Red\u001b[0m\r\n"]
|
||||
[13.601731, "o", "\u001b[90m\u25cc Green\u001b[0m\r\n"]
|
||||
[13.601809, "o", "\u001b[90m\u25cc Blue\u001b[0m\r\n"]
|
||||
[14.941155, "o", "\u001b[3A\u001b[J"]
|
||||
[14.941338, "o", "\u001b[90m\u25cc Red\u001b[0m\r\n"]
|
||||
[14.941458, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[14.941592, "o", "Green\u001b[0m\r\n"]
|
||||
[14.941686, "o", "\u001b[90m\u25cc Blue\u001b[0m\r\n"]
|
||||
[15.599151, "o", "\u001b[3A\u001b[J"]
|
||||
[15.599341, "o", "\u001b[90m\u25cc Red\u001b[0m\r\n"]
|
||||
[15.599421, "o", "\u001b[90m\u25cc Green\u001b[0m\r\n"]
|
||||
[15.599525, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[15.599605, "o", "Blue\u001b[0m\r\n"]
|
||||
[15.971608, "o", "\u001b[3A\u001b[J"]
|
||||
[15.971812, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[15.97184, "o", "Red\u001b[0m\r\n"]
|
||||
[15.971927, "o", "\u001b[90m\u25cc Green\u001b[0m\r\n"]
|
||||
[15.972007, "o", "\u001b[90m\u25cc Blue\u001b[0m\r\n"]
|
||||
[16.406184, "o", "\u001b[3A\u001b[J"]
|
||||
[16.406341, "o", "\u001b[90m\u25cc Red\u001b[0m\r\n"]
|
||||
[16.406454, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[16.406524, "o", "Green\u001b[0m\r\n"]
|
||||
[16.406614, "o", "\u001b[90m\u25cc Blue\u001b[0m\r\n"]
|
||||
[16.997455, "o", "\u001b[3A\u001b[J"]
|
||||
[16.997594, "o", "\u001b[90m\u25cc Red\u001b[0m\r\n"]
|
||||
[16.997669, "o", "\u001b[90m\u25cc Green\u001b[0m\r\n"]
|
||||
[16.997758, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[16.997814, "o", "Blue\u001b[0m\r\n"]
|
||||
[17.302131, "o", "\u001b[3A\u001b[J"]
|
||||
[17.302338, "o", "\u001b[90m\u25cc Red\u001b[0m\r\n"]
|
||||
[17.302427, "o", "\u001b[34m\u25cf \u001b[0m"]
|
||||
[17.302484, "o", "Green\u001b[0m\r\n"]
|
||||
[17.302567, "o", "\u001b[90m\u25cc Blue\u001b[0m\r\n"]
|
||||
[17.664985, "o", "Nice choice, \u001b[1m\u001b[32mGreen\u001b[0m\u001b[0m\r\n\r\n"]
|
||||
[17.667269, "o", "\u001b[?25h"]
|
||||
[17.667428, "o", "\u001b[34m? \u001b[0mWould you like to continue with the demo?\u001b[0m\u001b[90m [Y/n]\u001b[0m\r\n\u001b[34m\u276f \u001b[0m"]
|
||||
[19.581509, "o", "y"]
|
||||
[20.405176, "o", "\r\n"]
|
||||
[20.405413, "o", "\u001b[A\r\u001b[2K"]
|
||||
[20.405587, "o", "\u001b[34m\u276f \u001b[0m"]
|
||||
[20.405662, "o", "yes\u001b[0m\r\n"]
|
||||
[20.4091, "o", "OK, let's \u001b[1m\u001b[32mcontinue\u001b[0m!\u001b[0m\r\n\r\n"]
|
||||
[20.40929, "o", "\r\n"]
|
||||
[20.410842, "o", "\u001b[?25l"]
|
||||
[20.411155, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[20.411393, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.411485, "o", "\u001b[A\r"]
|
||||
[20.411626, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[20.411813, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.521328, "o", "\u001b[A\r"]
|
||||
[20.521606, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[20.52198, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.630695, "o", "\u001b[A\r"]
|
||||
[20.630975, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[20.631315, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.742145, "o", "\u001b[A\r"]
|
||||
[20.74244, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[20.742836, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.853264, "o", "\u001b[A\r"]
|
||||
[20.853639, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[20.853891, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[20.965158, "o", "\u001b[A\r"]
|
||||
[20.96542, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[20.965794, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[21.07707, "o", "\u001b[A\r"]
|
||||
[21.077414, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[21.07786, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[21.188185, "o", "\u001b[A\r"]
|
||||
[21.188408, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[21.188698, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[21.299217, "o", "\u001b[A\r"]
|
||||
[21.299558, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[21.30002, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[21.411842, "o", "\u001b[A\r"]
|
||||
[21.412188, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[21.412643, "o", "\u001b[38;5;219mLoading output manipulation...\u001b[0m\r\n"]
|
||||
[21.539898, "o", "\u001b[A\r\u001b[2K"]
|
||||
[21.540104, "o", "\u001b[38;5;219m\u001b[3m-- Output manipulation --\u001b[0m\r\n"]
|
||||
[21.540178, "o", "\r\n"]
|
||||
[21.540229, "o", "This line will be replaced in 1 second...\u001b[0m\r\n"]
|
||||
[22.550416, "o", "\u001b[A\r\u001b[2K"]
|
||||
[22.550658, "o", "Processing your request...\u001b[0m\r\n"]
|
||||
[23.56305, "o", "\u001b[A\r\u001b[2K"]
|
||||
[23.564866, "o", "\u001b[?25l"]
|
||||
[23.565206, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[23.565351, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[23.565439, "o", "\u001b[A"]
|
||||
[23.565499, "o", "\r"]
|
||||
[23.565605, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[23.565742, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[23.677092, "o", "\u001b[A\r"]
|
||||
[23.677437, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[23.67768, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[23.785686, "o", "\u001b[A\r"]
|
||||
[23.786019, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[23.786257, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[23.894341, "o", "\u001b[A\r"]
|
||||
[23.894489, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[23.894664, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.002808, "o", "\u001b[A\r"]
|
||||
[24.003149, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[24.003394, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.110584, "o", "\u001b[A\r"]
|
||||
[24.110907, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[24.111152, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.22186, "o", "\u001b[A\r"]
|
||||
[24.222258, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[24.222512, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.335421, "o", "\u001b[A\r"]
|
||||
[24.335714, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[24.335844, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.447364, "o", "\u001b[A\r"]
|
||||
[24.447654, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[24.447847, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.559868, "o", "\u001b[A\r"]
|
||||
[24.560143, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[24.560318, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.669816, "o", "\u001b[A\r"]
|
||||
[24.670157, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[24.670284, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.777773, "o", "\u001b[A\r"]
|
||||
[24.778005, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[24.778132, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.888348, "o", "\u001b[A\r"]
|
||||
[24.888567, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[24.888713, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[24.999353, "o", "\u001b[A\r"]
|
||||
[24.999712, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[24.999949, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.111897, "o", "\u001b[A\r"]
|
||||
[25.112261, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[25.112499, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.219947, "o", "\u001b[A\r"]
|
||||
[25.220311, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[25.220578, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.332202, "o", "\u001b[A\r"]
|
||||
[25.332556, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[25.332878, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.443467, "o", "\u001b[A\r"]
|
||||
[25.443739, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[25.443919, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.553081, "o", "\u001b[A\r"]
|
||||
[25.553448, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[25.553683, "o", "Still working on it...\u001b[0m\r\n"]
|
||||
[25.695101, "o", "\u001b[?25h\u001b[A"]
|
||||
[25.695283, "o", "\r\u001b[2K"]
|
||||
[25.695304, "o", "\u001b[32m\u2713 \u001b[0m"]
|
||||
[25.695375, "o", "Task completed successfully!\u001b[0m\r\n"]
|
||||
[25.696643, "o", "\u001b[?25l"]
|
||||
[25.696918, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[25.697065, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[25.697137, "o", "\u001b[A\r"]
|
||||
[25.697276, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[25.697388, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[25.806826, "o", "\u001b[A\r"]
|
||||
[25.807091, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[25.807277, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[25.915302, "o", "\u001b[A\r"]
|
||||
[25.915656, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[25.9159, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.028032, "o", "\u001b[A\r"]
|
||||
[26.028391, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[26.02864, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.14057, "o", "\u001b[A\r"]
|
||||
[26.142814, "o", "\u001b[36m\u28bf \u001b[0mPerforming an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.253427, "o", "\u001b[A\r"]
|
||||
[26.253836, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[26.254004, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.365478, "o", "\u001b[A\r"]
|
||||
[26.365846, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[26.366095, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.479185, "o", "\u001b[A\r"]
|
||||
[26.479529, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[26.479788, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.590706, "o", "\u001b[A\r"]
|
||||
[26.590908, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[26.590996, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.698197, "o", "\u001b[A\r"]
|
||||
[26.698418, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[26.698571, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.80843, "o", "\u001b[A\r"]
|
||||
[26.808771, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[26.809014, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[26.919915, "o", "\u001b[A\r"]
|
||||
[26.920234, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[26.920494, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.032128, "o", "\u001b[A\r"]
|
||||
[27.03235, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[27.032498, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.145439, "o", "\u001b[A\r"]
|
||||
[27.14579, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[27.146031, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.253593, "o", "\u001b[A\r"]
|
||||
[27.253962, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[27.254254, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.366164, "o", "\u001b[A\r"]
|
||||
[27.366492, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[27.366745, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.47774, "o", "\u001b[A\r"]
|
||||
[27.478084, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[27.478331, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.588146, "o", "\u001b[A\r"]
|
||||
[27.588498, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[27.588744, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.700591, "o", "\u001b[A\r"]
|
||||
[27.700934, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[27.701178, "o", "Performing an operation that will fail (ask me how I know)\u001b[0m\r\n"]
|
||||
[27.826685, "o", "\u001b[?25h"]
|
||||
[27.826897, "o", "\u001b[A\r\u001b[2K"]
|
||||
[27.82697, "o", "\u001b[31m\u2717 \u001b[0mOperation failed\u001b[0m\r\n\r\n"]
|
||||
[27.827015, "o", "\r\n"]
|
||||
[27.828399, "o", "\u001b[?25l"]
|
||||
[27.828646, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[27.828864, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[27.828918, "o", "\u001b[A"]
|
||||
[27.828952, "o", "\r"]
|
||||
[27.829052, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[27.829218, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[27.936974, "o", "\u001b[A\r"]
|
||||
[27.93733, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[27.937835, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.050146, "o", "\u001b[A\r"]
|
||||
[28.050501, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[28.050965, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.163514, "o", "\u001b[A\r"]
|
||||
[28.163874, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[28.164334, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.273652, "o", "\u001b[A\r"]
|
||||
[28.273906, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[28.274274, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.38584, "o", "\u001b[A\r"]
|
||||
[28.386244, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[28.386719, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.498779, "o", "\u001b[A\r"]
|
||||
[28.499063, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[28.499435, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.611319, "o", "\u001b[A\r"]
|
||||
[28.611701, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[28.612164, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.724585, "o", "\u001b[A\r"]
|
||||
[28.724928, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[28.725342, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.833225, "o", "\u001b[A\r"]
|
||||
[28.833461, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[28.833762, "o", "\u001b[38;5;219mLoading `run` utility...\u001b[0m\r\n"]
|
||||
[28.948516, "o", "\u001b[A\r\u001b[2K"]
|
||||
[28.948782, "o", "\u001b[38;5;219m\u001b[3m-- Run command output control --\u001b[0m\r\n"]
|
||||
[28.94883, "o", "\r\n"]
|
||||
[28.950346, "o", "\u001b[?25l"]
|
||||
[28.950594, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[28.950718, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[28.950792, "o", "\u001b[A"]
|
||||
[28.95084, "o", "\r"]
|
||||
[28.950939, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[28.951056, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.062607, "o", "\u001b[A\r"]
|
||||
[29.062807, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[29.062915, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.173853, "o", "\u001b[A\r"]
|
||||
[29.174128, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[29.174325, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.28708, "o", "\u001b[A\r"]
|
||||
[29.287443, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[29.287693, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.396325, "o", "\u001b[A\r"]
|
||||
[29.396677, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[29.396914, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.505051, "o", "\u001b[A\r"]
|
||||
[29.505412, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[29.505748, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.613414, "o", "\u001b[A\r"]
|
||||
[29.613763, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[29.613991, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.722113, "o", "\u001b[A\r"]
|
||||
[29.722324, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[29.722485, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.828694, "o", "\u001b[A\r"]
|
||||
[29.829056, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[29.829316, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[29.937254, "o", "\u001b[A\r"]
|
||||
[29.937625, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[29.938082, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.050215, "o", "\u001b[A\r"]
|
||||
[30.05057, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[30.050892, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.159173, "o", "\u001b[A\r"]
|
||||
[30.159544, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[30.159786, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.267467, "o", "\u001b[A\r"]
|
||||
[30.267843, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[30.268086, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.379684, "o", "\u001b[A\r"]
|
||||
[30.380069, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[30.380312, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.488246, "o", "\u001b[A\r"]
|
||||
[30.488598, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[30.488853, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.597551, "o", "\u001b[A\r"]
|
||||
[30.597789, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[30.597964, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.705662, "o", "\u001b[A\r"]
|
||||
[30.705889, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[30.70601, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.81551, "o", "\u001b[A\r"]
|
||||
[30.815712, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[30.815797, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[30.922973, "o", "\u001b[A\r"]
|
||||
[30.923188, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[30.92333, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.03108, "o", "\u001b[A\r"]
|
||||
[31.031282, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[31.031404, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.139248, "o", "\u001b[A\r"]
|
||||
[31.139459, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[31.139623, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.250968, "o", "\u001b[A\r"]
|
||||
[31.2513, "o", "\u001b[36m\u28fb \u001b[0m"]
|
||||
[31.251466, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.365945, "o", "\u001b[A\r"]
|
||||
[31.366099, "o", "\u001b[36m\u28fd \u001b[0m"]
|
||||
[31.366191, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.470746, "o", "\u001b[A\r"]
|
||||
[31.471275, "o", "\u001b[36m\u28fe \u001b[0m"]
|
||||
[31.47161, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.584159, "o", "\u001b[A\r"]
|
||||
[31.584519, "o", "\u001b[36m\u28f7 \u001b[0m"]
|
||||
[31.584766, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.692833, "o", "\u001b[A\r"]
|
||||
[31.693173, "o", "\u001b[36m\u28ef \u001b[0m"]
|
||||
[31.693413, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.804107, "o", "\u001b[A\r"]
|
||||
[31.804616, "o", "\u001b[36m\u28df \u001b[0m"]
|
||||
[31.804958, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[31.915255, "o", "\u001b[A\r"]
|
||||
[31.915623, "o", "\u001b[36m\u287f \u001b[0m"]
|
||||
[31.915861, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[32.028383, "o", "\u001b[A\r"]
|
||||
[32.02875, "o", "\u001b[36m\u28bf \u001b[0m"]
|
||||
[32.028991, "o", "Downloading file...\u001b[0m\r\n"]
|
||||
[32.214042, "o", "\u001b[?25h"]
|
||||
[32.214256, "o", "\u001b[A\r\u001b[2K"]
|
||||
[32.214326, "o", "\u001b[32m\u2713 \u001b[0mDownload complete!\u001b[0m\r\n\r\n"]
|
||||
[32.21443, "o", " % Total % Received % Xferd Average Speed Time Time Time Current\r\n Dload Upload Total Spent Left Speed\r\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r 0 11.6M 0 48817 0 0 90221 0 0:02:15 --:--:-- 0:02:15 90068\r 37 11.6M 37 4431k 0 0 2895k 0 0:00:04 0:00:01 0:00:03 2894k\r 77 11.6M 77 9295k 0 0 3671k 0 0:00:03 0:00:02 0:00:01 3669k\r100 11.6M 100 11.6M 0 0 3842k 0 0:00:03 0:00:03 --:--:-- 3842k\u001b[0m\r\n"]
|
||||
[32.214482, "o", "\r\n"]
|
||||
[32.217046, "o", "\u001b[?25h"]
|
||||
[32.217145, "o", "\u001b[34m? \u001b[0mWould you like to remove the downloaded file?\u001b[0m\u001b[90m [Y/n]\u001b[0m\r\n\u001b[34m\u276f \u001b[0m"]
|
||||
[34.281672, "o", "\r\n"]
|
||||
[34.281859, "o", "\u001b[A\r\u001b[2K"]
|
||||
[34.282102, "o", "\u001b[34m\u276f \u001b[0m"]
|
||||
[34.282224, "o", "yes\u001b[0m\r\n"]
|
||||
[34.290823, "o", "\u001b[32m\u2713 \u001b[0m"]
|
||||
[34.290898, "o", "File removed!\u001b[0m\r\n\r\n"]
|
||||
[34.291067, "o", "\u001b[1m\u001b[32mAll done!\u001b[0m\r\n\r\n"]
|
||||
[34.292404, "o", "\u001b[1m\u001b[3m%\u001b[23m\u001b[1m\u001b[0m \r \r"]
|
||||
[34.309529, "o", "\u001b]0;beddu\u0007"]
|
||||
[34.352482, "o", "\r\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[90C\u001b[1A\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m31.1s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1B\u001b[101D"]
|
||||
[34.352552, "o", "\u001b[?1h\u001b="]
|
||||
[34.352722, "o", "\u001b[?2004h"]
|
||||
[34.363332, "o", "\r\r\u001bM\u001bM\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[90C\u001b[1A\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m31.1s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1B\u001b[101D"]
|
||||
[34.378546, "o", "\r\r\u001bM\u001bM\u001b[0m\u001b[23m\u001b[24m\u001b[J\r\n\u001b[1m\ud83d\udcc1 \u001b[0m\u001b[1m\u001b[36m~/beddu\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m\ud83d\udc7e \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[90C\u001b[1A\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m31.1s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1B\u001b[101D"]
|
||||
[36.372321, "o", "\r\n"]
|
9
dist/beddu.sh
vendored
9
dist/beddu.sh
vendored
|
@ -2,10 +2,11 @@
|
|||
# shellcheck disable=all
|
||||
#
|
||||
# beddu.sh - A lightweight bash framework for interactive scripts and pretty output
|
||||
# https://github.com/mjsarfatti/beddu
|
||||
# Version: v0.0.8-dirty
|
||||
#
|
||||
# Version: v0.0.8
|
||||
# Generated on: Sun May 11 14:19:38 CEST 2025
|
||||
# Copyright © 2025 Manuele Sarfatti
|
||||
# Licensed under the MIT license
|
||||
# See https://github.com/mjsarfatti/beddu
|
||||
|
||||
readonly _q='?'
|
||||
readonly _a='❯'
|
||||
|
@ -125,7 +126,7 @@ repen() {
|
|||
pen "$@"
|
||||
}
|
||||
|
||||
trap spop EXIT INT TERM
|
||||
trap "spop; show_cursor" EXIT INT TERM
|
||||
_spinner_pid=""
|
||||
_frame_duration="${_spinner_frame_duration:-0.1}"
|
||||
spin() {
|
||||
|
|
|
@ -14,8 +14,7 @@ readonly BEDDU_PEN_LOADED=true
|
|||
# italic: Italic text
|
||||
# underline: Underline text
|
||||
# black|red|green|yellow|blue|purple|cyan|white|grey|gray: Color text
|
||||
# [0-9]: ANSI 256 color number
|
||||
# *: Any other text is printed as is
|
||||
# [0-255]: ANSI 256 color number
|
||||
# Examples:
|
||||
# pen "Hello, world!"
|
||||
# pen -n "Hello, world!"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue