42 lines
1.3 KiB
Fish
42 lines
1.3 KiB
Fish
function newrepo --argument-names name
|
|
argparse h/help p/private P/public s/srht g/github a/all d/description= -- $argv
|
|
function help
|
|
echo Help menu
|
|
end
|
|
if set -lq _flag_h || test (count $argv) -eq 0
|
|
help
|
|
return 0
|
|
end
|
|
# check that some visibility is set
|
|
set -l errors
|
|
set -l visibility
|
|
if not set -lq _flag_p && not set -lq _flag_P
|
|
set -a errors 'Visibility must be either public or private!'
|
|
else if set -lq _flag_p && not set -lq _flag_P
|
|
set visibility private
|
|
else if not set -lq _flag_p && set -lq _flag_P
|
|
set visibility public
|
|
else
|
|
set -a errors 'Only one visibility can be set!'
|
|
end
|
|
# check that a provider is set
|
|
if not set -lq _flag_a && not set -lq _flag_s && not set -lq _flag_g
|
|
set -a errors 'Provider must be set!'
|
|
else if set -lq _flag_a && set -lq _flag_s || set -lq _flag_g
|
|
set -a errors 'provider: all must be alone!'
|
|
end
|
|
if test (count $errors) -ne 0
|
|
for i in $errors
|
|
echo ERROR: $i
|
|
end
|
|
help
|
|
return 1
|
|
end
|
|
if set -lq _flag_s || set -lq _flag_a
|
|
set -l add
|
|
if set -lq _flag_d
|
|
set add --description $_flag_d
|
|
end
|
|
echo hut git create $name --visibility $visibility $add
|
|
end
|
|
end
|