fish: color variable validation function
This commit is contained in:
parent
7755591a38
commit
fdaf147217
46
fish/functions/fish_colors_check.fish
Normal file
46
fish/functions/fish_colors_check.fish
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
function fish_colors_check --description 'Validate the fish color variables' --argument-names fish_srcdir
|
||||||
|
if test -z "$fish_srcdir"
|
||||||
|
echo "Usage: fish_colors_check <fish_srcdir>"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
if not test -d "$fish_srcdir"
|
||||||
|
echo "Error: not a directory: $fish_srcdir"
|
||||||
|
return 2
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local allcolors (string collect (rg --no-line-number --no-filename --only-matching 'fish(?:_pager)?_color[a-z_]*[a-z]+' $fish_srcdir | sort | uniq))
|
||||||
|
set --local setcolors (string collect (set --names | string match 'fish*_color*'))
|
||||||
|
|
||||||
|
set --local missingcolors
|
||||||
|
set --local unknowncolors
|
||||||
|
|
||||||
|
for color in $allcolors
|
||||||
|
if not contains -- $color $setcolors
|
||||||
|
set missingcolors $missingcolors $color
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for color in $setcolors
|
||||||
|
if not contains -- $color $allcolors
|
||||||
|
set unknowncolors $unknowncolors $color
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (count $missingcolors) -gt 0
|
||||||
|
# *current regex matches some invalid cases
|
||||||
|
#
|
||||||
|
# example: set -l color_name fish_color_git_$i
|
||||||
|
# match: fish_color_git
|
||||||
|
echo "These color variables are (potentially*) defined, but unset:"
|
||||||
|
for color in $missingcolors
|
||||||
|
echo " - $color"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (count $unknowncolors) -gt 0
|
||||||
|
echo "These color variables are set, but undefined:"
|
||||||
|
for color in $unknowncolors
|
||||||
|
echo " - $color"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -1,6 +1,6 @@
|
|||||||
function video_compress --argument-names srcfile
|
function video_compress --argument-names srcfile
|
||||||
if test -z "$srcfile"
|
if test -z "$srcfile"
|
||||||
echo "Error: missing argument"
|
echo "Usage: video_compress <srcfile>"
|
||||||
return 1
|
return 1
|
||||||
end
|
end
|
||||||
if not test -f "$srcfile"
|
if not test -f "$srcfile"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user