Add upclear utility

This commit is contained in:
Manuele Sarfatti 2025-05-11 01:40:54 +02:00
parent 76d136f64c
commit 24633a743e
14 changed files with 42 additions and 56 deletions

View file

@ -27,14 +27,15 @@ demo: build
$(OUTPUT): $(ALL_SRC_FILES)
@mkdir -p $(OUT_DIR)
@echo '#! /usr/bin/env bash' > $(OUTPUT)
@echo '#!/usr/bin/env bash' > $(OUTPUT)
@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)
@# Process each file, stripping (line) comments and empty lines
@# Process each file, stripping comments and empty lines
@for file in $(ALL_SRC_FILES); do \
echo "" >> $(OUTPUT); \
grep -v '^\s*#' "$$file" | sed '/^[[:space:]]*$$/d' | sed 's/#[a-zA-Z0-9 ]*$$//' >> $(OUTPUT); \

View file

@ -1,19 +1,20 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# shellcheck disable=all
#
# beddu.sh - A lightweight bash framework for interactive scripts and pretty output
# https://github.com/mjsarfatti/beddu
#
# Generated on: Fri May 9 20:00:08 CEST 2025
# Version: v0.0.3-dirty
# Generated on: Sun May 11 01:40:08 CEST 2025
_q='?'
_a=''
_o='◌'
_O='●'
_mark='✓'
_warn='!'
_cross='✗'
_spinner='⣷⣯⣟⡿⢿⣻⣽⣾' # See for alternatives: https://antofthy.gitlab.io/info/ascii/Spinners.txt
readonly _q='?'
readonly _a=''
readonly _o='◌'
readonly _O='●'
readonly _mark='✓'
readonly _warn='!'
readonly _cross='✗'
readonly _spinner='⣷⣯⣟⡿⢿⣻⣽⣾' # See for alternatives: https://antofthy.gitlab.io/info/ascii/Spinners.txt
export _q _a _o _O _mark _warn _cross _spinner
up() {
@ -32,9 +33,7 @@ cl() {
printf "\033[2K"
}
upclear() {
up
bol
cl
up; bol; cl
}
line() {
printf "\n"
@ -118,9 +117,7 @@ export -f run
check() {
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n green "${_mark:-} "
pen "$@"
@ -183,9 +180,7 @@ export -f spin spop spinning
throw() {
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n red "${_cross:-} "
pen "$@"
@ -195,9 +190,7 @@ export -f throw
warn() {
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n yellow bold italic "${_warn:-!} "
pen italic "$@"

View file

@ -1,13 +1,13 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# @private
_q='?'
_a=''
_o='◌'
_O='●'
_mark='✓'
_warn='!'
_cross='✗'
_spinner='⣷⣯⣟⡿⢿⣻⣽⣾' # See for alternatives: https://antofthy.gitlab.io/info/ascii/Spinners.txt
readonly _q='?'
readonly _a=''
readonly _o='◌'
readonly _O='●'
readonly _mark='✓'
readonly _warn='!'
readonly _cross='✗'
readonly _spinner='⣷⣯⣟⡿⢿⣻⣽⣾' # See for alternatives: https://antofthy.gitlab.io/info/ascii/Spinners.txt
export _q _a _o _O _mark _warn _cross _spinner

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# movements.sh - Cursor helper functions
# Move cursor up one line
@ -28,9 +28,7 @@ cl() {
# Clear line above
upclear() {
up
bol
cl
up; bol; cl
}
# Print a single newline

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# pen.sh - Print pretty text
# @depends on:

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# run.sh - Execute commands with output/error capture
# Execute a command with stdout and stderr capture capabilities

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# check.sh - Print a success message
# @depends on:
@ -25,9 +25,7 @@ check() {
# If there is a spinner running, stop it and clear the line
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n green "${_mark:-} "

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# repen.sh - Overwrite the previous line with new text
# @depends on:

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# spin.sh - Print a spinner with a message
# @depends on:

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# throw.sh - Print an throw message
# @depends on:
@ -25,9 +25,7 @@ throw() {
# If there is a spinner running, stop it and clear the line
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n red "${_cross:-} "

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# warn.sh - Print a warning message
# @depends on:
@ -25,9 +25,7 @@ warn() {
# If there is a spinner running, stop it and clear the line
if spinning; then
spop
up
bol
cl
upclear
fi
pen -n yellow bold italic "${_warn:-!} "

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# ask.sh - Get free text input from the user
# @depends on:

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# choose.sh - Choose from a menu of options
# @depends on:

View file

@ -1,4 +1,4 @@
#! /usr/bin/env bash
#!/usr/bin/env bash
# confirm.sh - Read a yes/no confirmation from the user
# @depends on: