@@ -29,13 +29,15 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
29
29
set --local old_plugins $_ fisher_plugins
30
30
set --local new_plugins
31
31
32
+ test -e $fish_plugins && set --local file_plugins (string match --regex -- ' ^[^\ s]+$' < $fish_plugins )
33
+
32
34
if ! set --query argv[2]
33
35
if test " $cmd " != update
34
36
echo " fisher: Not enough arguments for command: \" $cmd \" " >&2 && return 1
35
- else if test ! -e $fish_plugins
37
+ else if ! set --query file_plugins
36
38
echo " fisher: \" $fish_plugins \" file not found: \" $cmd \" " >&2 && return 1
37
39
end
38
- set arg_plugins (string match --regex -- ' ^[^ \ s]+$ ' < $fish_plugins )
40
+ set arg_plugins $file_plugins
39
41
end
40
42
41
43
for plugin in $arg_plugins
@@ -125,6 +127,7 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
125
127
emit {$name }_uninstall
126
128
end
127
129
printf " %s\n" Removing\ (set_color red --bold )$plugin (set_color normal) " " $$plugin_files_var
130
+ set --erase _fisher_plugins[$index ]
128
131
end
129
132
130
133
command rm -rf $$plugin_files_var
@@ -134,7 +137,6 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
134
137
complete --erase --command $name
135
138
end
136
139
137
- set --erase _fisher_plugins[$index ]
138
140
set --erase $plugin_files_var
139
141
end
140
142
end
@@ -184,7 +186,17 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
184
186
command rm -rf $source_plugins
185
187
186
188
if set --query _fisher_plugins[1]
187
- printf " %s\n" $_ fisher_plugins > $fish_plugins
189
+ set --local commit_plugins
190
+
191
+ for plugin in $file_plugins
192
+ contains -- $plugin $_ fisher_plugins && set --append commit_plugins $plugin
193
+ end
194
+
195
+ for plugin in $_ fisher_plugins
196
+ contains -- $plugin $commit_plugins || set --append commit_plugins $plugin
197
+ end
198
+
199
+ printf " %s\n" $commit_plugins > $fish_plugins
188
200
else
189
201
set --erase _fisher_plugins
190
202
command rm -f $fish_plugins
0 commit comments