fisher/functions/__fisher_plugin_disable.fish
Jorge Bucaran ed335bf270
Ahoy! Fisherman 1.3.0
* Fix bug in fisher_config_color_reset not declaring path variable.
* Silence Git checkout standard error to prevent update failures in some edge cases.
* Revise and correct errors in the documentation and README.
* Add more instrumentation to fisher_plugin_disable.
* Minor doc updates.
2016-03-12 06:45:17 +09:00

43 lines
1.3 KiB
Fish

function __fisher_plugin_disable -a plugin path option
__fisher_plugin_walk "$plugin" "$path" | while read -l class source target name
switch "$class"
case --bind
debug "Unbind %s" $plugin
__fisher_key_bindings_disable $plugin (__fisher_xdg --config
)/fish/functions/fish_user_key_bindings.fish
case --uninstall
__fisher_plugin_uninstall_handler $plugin $source "$option"
case \*
__fisher_plugin_unlink $fisher_config/$target $name
if test "$name" = set_color_custom
__fisher_config_color_reset "$fisher_config/fish_colors"
end
end
end
if __fisher_path_is_prompt $path
__fisher_prompt_reset
end
if test -s $fisher_file
set -l key
if not set key (fisher_search --name=$plugin --name --index=$fisher_cache/.index)
debug "Path $path"
set key (__fisher_url_from_path $path)
end
debug "fishfile remove %s start" "$key"
if set key (__fisher_file_remove "$key" "$fisher_file")
debug "fishfile remove %s ok" "$key"
else
debug "fishfile remove %s fail" "$key"
end
end
end