oh-my-fish/pkg/omf/cli/omf.new.fish
Bruno Pinto 20ed43983b Naming functions with omf. namespace.
Having a clear namespace `omf.` improves the readability of the code as
we clarify what is the function name and what is the namespace.
2015-08-28 18:24:56 +09:00

35 lines
960 B
Fish

function omf.new -a option name
switch $option
case "p" "pkg" "pack" "packg" "package"
set option "pkg"
case "t" "th" "the" "thm" "theme" "themes"
set option "themes"
case "*"
echo (omf::err)"$option is not a valid option."(omf::off) 1^&2
return $OMF_INVALID_ARG
end
if not omf.util_valid_package "$name"
echo (omf::err)"$name is not a valid package/theme name"(omf::off) 1^&2
return $OMF_INVALID_ARG
end
if set -l dir (omf.util_mkdir "$option/$name")
cd $dir
set -l github (git config github.user)
test -z "$github"; and set github "{{USER}}"
set -l user (git config user.name)
test -z "$user"; and set user "{{USER}}"
omf.new_from_template "$OMF_PATH/pkg/omf/templates/$option" \
$github $user $name
echo (omf::em)"Switched to $dir"(omf::off)
else
echo (omf::err)"\$OMF_CONFIG and/or \$OMF_PATH undefined."(omf::off) 1^&2
exit $OMF_UNKNOWN_ERR
end
end