oh-my-fish/pkg/omf/functions/packages/omf.packages.update.fish
2016-12-17 20:26:46 -06:00

33 lines
815 B
Fish

function omf.packages.update -a name
if not set target_path (omf.packages.path $name)
echo (omf::err)"Could not find $name."(omf::off) >&2
return 1
end
# Only pull packages in version control
if test -e $target_path/.git
omf.repo.pull $target_path
switch $status
case 0
omf.bundle.install $target_path/bundle
set result (omf::em)"$name successfully updated."(omf::off)
case 1
echo (omf::err)"Could not update $name."(omf::off) >&2
return 1
case 2
set result (omf::dim)"$name is already up-to-date."(omf::off)
end
end
# Run update hook.
if not omf.packages.run_hook $target_path update
echo (omf::err)"Could not update $name."(omf::off) >&2
return 1
end
if set -q result
echo $result
end
return 0
end