feat: initial fish shell configuration
- Core config layered on CachyOS base with Catppuccin Mocha theming - Fisher plugins: fzf.fish, catppuccin, autopair, replay, puffer-fish, magic-enter, spark - Smart CLI wrappers with fallbacks (bat, lsd, btop, dust, prettyping) - Custom functions: git, docker, network, kitty, AI session management - Extensive abbreviation system for keyboard-driven workflows - Secrets/local sourcing pattern for private and machine-specific config - README with full documentation and personalization guide - AGPLv3+ license with copyright headers on all source files
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Copyright (C) 2026 Rootiest
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
function spark --description Sparklines
|
||||
argparse --ignore-unknown --name=spark v/version h/help m/min= M/max= -- $argv || return
|
||||
|
||||
if set --query _flag_version[1]
|
||||
echo "spark, version 1.1.0"
|
||||
else if set --query _flag_help[1]
|
||||
echo "Usage: spark <numbers ...>"
|
||||
echo " stdin | spark"
|
||||
echo "Options:"
|
||||
echo " --min=<number> Minimum range"
|
||||
echo " --max=<number> Maximum range"
|
||||
echo " -v or --version Print version"
|
||||
echo " -h or --help Print this help message"
|
||||
echo "Examples:"
|
||||
echo " spark 1 1 2 5 14 42"
|
||||
echo " seq 64 | sort --random-sort | spark"
|
||||
else if set --query argv[1]
|
||||
printf "%s\n" $argv | spark --min="$_flag_min" --max="$_flag_max"
|
||||
else
|
||||
command awk -v min="$_flag_min" -v max="$_flag_max" '
|
||||
{
|
||||
m = min == "" ? m == "" ? $0 : m > $0 ? $0 : m : min
|
||||
M = max == "" ? M == "" ? $0 : M < $0 ? $0 : M : max
|
||||
nums[NR] = $0
|
||||
}
|
||||
END {
|
||||
n = split("▁ ▂ ▃ ▄ ▅ ▆ ▇ █", sparks, " ") - 1
|
||||
while (++i <= NR)
|
||||
printf("%s", sparks[(M == m) ? 3 : sprintf("%.f", (1 + (nums[i] - m) * n / (M - m)))])
|
||||
}
|
||||
' && echo
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user