Avoid setof, favor findall; less buggy.
This commit is contained in:
21
server.pl
21
server.pl
@@ -174,7 +174,7 @@ filetype_suffix(File, SuffixLower) :-
|
|||||||
last(Parts, Suffix),
|
last(Parts, Suffix),
|
||||||
string_lower(Suffix, SuffixLower).
|
string_lower(Suffix, SuffixLower).
|
||||||
files_to_filetypes(Files, FileTypes) :-
|
files_to_filetypes(Files, FileTypes) :-
|
||||||
setof(
|
findall(
|
||||||
Suffix,
|
Suffix,
|
||||||
(
|
(
|
||||||
member(File, Files),
|
member(File, Files),
|
||||||
@@ -184,31 +184,34 @@ files_to_filetypes(Files, FileTypes) :-
|
|||||||
format(atom(Suffix), '.~w', [SuffixWithoutDot]),
|
format(atom(Suffix), '.~w', [SuffixWithoutDot]),
|
||||||
format(user_error, 'Formatted suffix with dot: ~w~n', [Suffix])
|
format(user_error, 'Formatted suffix with dot: ~w~n', [Suffix])
|
||||||
),
|
),
|
||||||
FileTypes
|
FileTypeList
|
||||||
), !.
|
),
|
||||||
|
list_to_set(FileTypeList, FileTypes), !.
|
||||||
files_to_filetypes(_Files, []). % If no file types could be extracted, return an empty list
|
files_to_filetypes(_Files, []). % If no file types could be extracted, return an empty list
|
||||||
file_to_basename(File, BaseName) :-
|
file_to_basename(File, BaseName) :-
|
||||||
split_string(File, "/", "", Parts),
|
split_string(File, "/", "", Parts),
|
||||||
last(Parts, BaseName).
|
last(Parts, BaseName).
|
||||||
files_to_basenames(Files, BaseNames) :-
|
files_to_basenames(Files, BaseNames) :-
|
||||||
setof(
|
findall(
|
||||||
BaseName,
|
BaseName,
|
||||||
(
|
(
|
||||||
member(File, Files),
|
member(File, Files),
|
||||||
file_to_basename(File, BaseName)
|
file_to_basename(File, BaseName)
|
||||||
),
|
),
|
||||||
BaseNames
|
BaseNameList
|
||||||
), !.
|
),
|
||||||
|
list_to_set(BaseNameList, BaseNames), !.
|
||||||
files_to_basenames(_Files, []). % If no basenames could be extracted, return an empty list
|
files_to_basenames(_Files, []). % If no basenames could be extracted, return an empty list
|
||||||
files_with_prefix_slash(Files, PrefixedFiles) :-
|
files_with_prefix_slash(Files, PrefixedFiles) :-
|
||||||
setof(
|
findall(
|
||||||
PrefixedFile,
|
PrefixedFile,
|
||||||
(
|
(
|
||||||
member(File, Files),
|
member(File, Files),
|
||||||
format(atom(PrefixedFile), '/~w', [File])
|
format(atom(PrefixedFile), '/~w', [File])
|
||||||
),
|
),
|
||||||
PrefixedFiles
|
PrefixedFileList
|
||||||
), !.
|
),
|
||||||
|
list_to_set(PrefixedFileList, PrefixedFiles), !.
|
||||||
files_with_prefix_slash(_Files, []). % If no files could be prefixed, return an empty list
|
files_with_prefix_slash(_Files, []). % If no files could be prefixed, return an empty list
|
||||||
git_ssh_url(Name, URL) :-
|
git_ssh_url(Name, URL) :-
|
||||||
git_url(BaseURL),
|
git_url(BaseURL),
|
||||||
|
|||||||
Reference in New Issue
Block a user