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),
|
||||
string_lower(Suffix, SuffixLower).
|
||||
files_to_filetypes(Files, FileTypes) :-
|
||||
setof(
|
||||
findall(
|
||||
Suffix,
|
||||
(
|
||||
member(File, Files),
|
||||
@@ -184,31 +184,34 @@ files_to_filetypes(Files, FileTypes) :-
|
||||
format(atom(Suffix), '.~w', [SuffixWithoutDot]),
|
||||
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
|
||||
file_to_basename(File, BaseName) :-
|
||||
split_string(File, "/", "", Parts),
|
||||
last(Parts, BaseName).
|
||||
files_to_basenames(Files, BaseNames) :-
|
||||
setof(
|
||||
findall(
|
||||
BaseName,
|
||||
(
|
||||
member(File, Files),
|
||||
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_with_prefix_slash(Files, PrefixedFiles) :-
|
||||
setof(
|
||||
findall(
|
||||
PrefixedFile,
|
||||
(
|
||||
member(File, Files),
|
||||
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
|
||||
git_ssh_url(Name, URL) :-
|
||||
git_url(BaseURL),
|
||||
|
||||
Reference in New Issue
Block a user