mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2025-02-21 10:46:40 +08:00

This commit adds an improved reload code for Oh My Fish, besides saving the history now the reloading technique keeps directory history and stack and clears fish_greeting, for a transparent transition. The reloading code is now safe regarding to background jobs. exec wipes fish job control, so the user-facing code under the (just- introduced by this commit) `omf reload` command is kept safe by a warning. For testing purposes, `omf update` and `omf remove` rolls automatic refresh only when `OMF_AUTO_RELOAD` variable is set. Recap of the commit: - Add improved reload code (omf.reload) - Add a safe reload code (omf.cli.reload) - Add `omf reload` command - Add opt-in reload to `omf update` and `omf remove` commands
27 lines
646 B
Fish
27 lines
646 B
Fish
function omf.cli.remove -a name
|
|
switch (count $argv)
|
|
case 1
|
|
omf.packages.remove $name
|
|
set code $status
|
|
|
|
switch $code
|
|
case 0
|
|
echo (omf::em)"$name successfully removed."(omf::off)
|
|
# Opt-in flag for testing
|
|
set -q OMF_AUTO_RELOAD
|
|
and omf.cli.reload
|
|
case 1
|
|
echo (omf::err)"$name could not be removed."(omf::off) 1^&2
|
|
case 2
|
|
echo (omf::err)"$name could not be found."(omf::off) 1^&2
|
|
end
|
|
|
|
return $code
|
|
|
|
case '*'
|
|
echo (omf::err)"Invalid number of arguments"(omf::off) 1^&2
|
|
echo "Usage: omf remove "(omf::em)"<name>"(omf::off) 1^&2
|
|
return $OMF_INVALID_ARG
|
|
end
|
|
end
|