68 lines
1.7 KiB
Bash
68 lines
1.7 KiB
Bash
#!/bin/zsh
|
|
|
|
function font-switch() {
|
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
|
echo "Usage: font-switch [font-name]"
|
|
echo "Quickly switch between font sets"
|
|
echo "Example: font-switch jetbrains-mono"
|
|
return 0
|
|
fi
|
|
|
|
if [[ -z "$1" ]]; then
|
|
echo "Available fonts:"
|
|
font-manager list
|
|
return 0
|
|
fi
|
|
|
|
local font_name="$1"
|
|
|
|
if ! font-manager list | grep -q "$font_name"; then
|
|
echo "Error: Font '$font_name' not found" >&2
|
|
echo "Available fonts:" >&2
|
|
font-manager list >&2
|
|
return 1
|
|
fi
|
|
|
|
echo "Switching to $font_name fonts..."
|
|
font-manager clean
|
|
font-manager extract "$font_name"
|
|
|
|
if [[ "$TERM" == "xterm-kitty" ]] && command -v kitty >/dev/null 2>&1; then
|
|
echo "Reloading kitty configuration..."
|
|
kitty @ set-colors --all ~/.config/kitty/kitty.conf
|
|
fi
|
|
|
|
echo "Font switch complete!"
|
|
}
|
|
|
|
function font-preview() {
|
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
|
echo "Usage: font-preview [font-name]"
|
|
echo "Preview fonts in terminal"
|
|
echo "Example: font-preview jetbrains-mono"
|
|
return 0
|
|
fi
|
|
|
|
if [[ -z "$1" ]]; then
|
|
echo "Error: Font name required" >&2
|
|
echo "Usage: font-preview [font-name]" >&2
|
|
return 1
|
|
fi
|
|
|
|
local font_name="$1"
|
|
local preview_text="The quick brown fox jumps over the lazy dog
|
|
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
abcdefghijklmnopqrstuvwxyz
|
|
0123456789
|
|
!@#$%^&*()_+-=[]{}|;':\",./<>?"
|
|
|
|
echo "Previewing font: $font_name"
|
|
echo "----------------------------------------"
|
|
echo "$preview_text" | font-manager extract "$font_name" && echo "$preview_text"
|
|
}
|
|
|
|
alias fm='font-manager'
|
|
alias fml='font-manager list'
|
|
alias fms='font-manager status'
|
|
alias fmc='font-manager clean'
|
|
alias fma='font-manager all'
|