From c9d2f2ba163a91d4aa2c137de89d79218d8c0c37 Mon Sep 17 00:00:00 2001 From: Robert Holak Date: Tue, 17 Apr 2018 14:02:35 -0500 Subject: [PATCH 1/3] Fix awk parser to set correct variable. (#419) The awk json parsing routine was setting a variable of "description" instead of "info". This was causing a problem where the cached index - and subsequently ls-remote commands - to show the "%info" format item as the URL again. --- fisher.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fisher.fish b/fisher.fish index 3ff96ca..62d478b 100644 --- a/fisher.fish +++ b/fisher.fish @@ -1171,7 +1171,7 @@ function __fisher_remote_index_update } if (match($0, /^description:[[:blank:]]*/)) { - description = substr($0, RLENGTH+1) + info = substr($0, RLENGTH+1) } if (match($0, /^stargazers_count:[[:blank:]]*/)) { From fca431cb2796eff114112f301699c8457c81fd1e Mon Sep 17 00:00:00 2001 From: Ryan Sullivan Date: Tue, 24 Apr 2018 19:18:42 -0700 Subject: [PATCH 2/3] Allow for copy instead of linking (#401) * Allow for optional copy on install instead of linking * Remove eval in favor of proper test call * Document fisher_copy variable * Missing ? --- README.md | 10 ++++++++++ fisher.fish | 34 +++++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 545a13e..2f80fa7 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,16 @@ set fish_function_path $fish_path/functions $fish_function_path set fish_complete_path $fish_path/completions $fish_complete_path ``` +### How do I have fisherman copy plugin files instead of linking? + +By default, fisherman will create symlinks to plugin files. + +To have fisherman copy files: + +```fish +set -U fisher_copy true +``` + ### What is a fishfile and how do I use it? The fishfile lists what you've installed, and it's automatically updated as you install / remove plugins. diff --git a/fisher.fish b/fisher.fish index 62d478b..e9e3cb8 100644 --- a/fisher.fish +++ b/fisher.fish @@ -116,6 +116,10 @@ function $fisher_cmd_name -d "fish plugin manager" set -g fisher_file "$fish_path/fishfile" end + if test -z "$fisher_copy" + set -g fisher_copy false + end + switch "$argv[1]" case --complete __fisher_complete @@ -800,7 +804,11 @@ function __fisher_plugin_enable -a path command mv -f "$target" "$backup_target" ^ /dev/null end - command ln -sf "$file" "$target" + if test $fisher_copy = true + command cp -Rf "$file" "$target" + else + command ln -sf "$file" "$target" + end builtin source "$target" ^ /dev/null @@ -815,19 +823,31 @@ function __fisher_plugin_enable -a path for file in $path/{functions/,}*.{py,awk} set -l base (basename "$file") - command ln -sf "$file" "$fish_path/functions/$base" + if test $fisher_copy = true + command cp -Rf "$file" "$fish_path/functions/$base" + else + command ln -sf "$file" "$fish_path/functions/$base" + end end for file in $path/conf.d/*.{py,awk} set -l base (basename "$file") - command ln -sf "$file" "$fish_path/conf.d/$base" + if test $fisher_copy = true + command cp -Rf "$file" "$fish_path/conf.d/$base" + else + command ln -sf "$file" "$fish_path/conf.d/$base" + end end for file in $path/conf.d/*.fish set -l base (basename "$file") set -l target "$fish_path/conf.d/$base" - command ln -sf "$file" "$target" + if test $fisher_copy = true + command cp -Rf "$file" "$target" + else + command ln -sf "$file" "$target" + end builtin source "$target" ^ /dev/null end @@ -835,7 +855,11 @@ function __fisher_plugin_enable -a path set -l base (basename "$file") set -l target "$fish_path/completions/$base" - command ln -sf "$file" "$target" + if test $fisher_copy = true + command cp -Rf "$file" "$target" + else + command ln -sf "$file" "$target" + end builtin source "$target" ^ /dev/null end From c32e1e215adb4aea556a35326d306a5c105a9fd7 Mon Sep 17 00:00:00 2001 From: Jorge Bucaran Date: Wed, 25 Apr 2018 11:19:10 +0900 Subject: [PATCH 3/3] 2.13.3 --- fisher.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fisher.fish b/fisher.fish index e9e3cb8..4937d16 100644 --- a/fisher.fish +++ b/fisher.fish @@ -54,7 +54,7 @@ function $fisher_cmd_name -d "fish plugin manager" end end - set -g fisher_version "2.13.2" + set -g fisher_version "2.13.3" set -g fisher_spinners ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏ if [ -e /dev/stdout ]