fix: override plugins list
This commit is contained in:
parent
7884238073
commit
fbd70b02bc
|
@ -228,26 +228,21 @@ with_loaded_file(File, SuccFun) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
filter_plugins(Names) ->
|
filter_plugins(Names) ->
|
||||||
Filter =
|
filter_plugins(Names, []).
|
||||||
fun
|
|
||||||
({Name, true}) when is_atom(Name) ->
|
|
||||||
{true, Name};
|
|
||||||
(Name) when is_atom(Name) ->
|
|
||||||
{true, Name};
|
|
||||||
(_) ->
|
|
||||||
false
|
|
||||||
end,
|
|
||||||
filter_plugins(lists:filtermap(Filter, Names), []).
|
|
||||||
|
|
||||||
filter_plugins([], Plugins) ->
|
filter_plugins([], Plugins) ->
|
||||||
lists:reverse(Plugins);
|
lists:reverse(Plugins);
|
||||||
filter_plugins([Name | Names], Plugins) ->
|
filter_plugins([{Name, Load} | Names], Plugins) ->
|
||||||
case lists:member(Name, Plugins) of
|
case {Load, lists:member(Name, Plugins)} of
|
||||||
true ->
|
{true, false} ->
|
||||||
filter_plugins(Names, Plugins);
|
filter_plugins(Names, [Name | Plugins]);
|
||||||
false ->
|
{false, true} ->
|
||||||
filter_plugins(Names, [Name | Plugins])
|
filter_plugins(Names, Plugins -- [Name]);
|
||||||
end.
|
_ ->
|
||||||
|
filter_plugins(Names, Plugins)
|
||||||
|
end;
|
||||||
|
filter_plugins([Name | Names], Plugins) when is_atom(Name) ->
|
||||||
|
filter_plugins([{Name, true} | Names], Plugins).
|
||||||
|
|
||||||
load_plugins(Names, Persistent) ->
|
load_plugins(Names, Persistent) ->
|
||||||
Plugins = list(),
|
Plugins = list(),
|
||||||
|
|
Loading…
Reference in New Issue