Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions player/lua/commands.lua
Original file line number Diff line number Diff line change
Expand Up @@ -274,10 +274,24 @@ local function file_list(directory)
directory = mp.command_native({"expand-path", directory})
end

local files = utils.readdir(directory, "files") or {}
local files = {}

for i, file in pairs(utils.readdir(directory, "files")) do
if directory == "." and completion_append == "" and file:find("%s") then
files[i] = "'" .. file .. "'"
elseif completion_append ~= "" then
files[i] = file .. completion_append
else
files[i] = file
end
end

for _, dir in pairs(utils.readdir(directory, "dirs") or {}) do
files[#files + 1] = dir .. path_separator
if directory == "." and completion_append == "" and dir:find("%s") then
files[#files + 1] = "'" .. dir .. path_separator
else
files[#files + 1] = dir .. path_separator
end
end

return files
Expand All @@ -289,11 +303,13 @@ local function handle_file_completion(before_cur)

completion_pos = completion_pos + last_component_pos - 1

local files = file_list(directory)

-- Don"t use completion_append for file completion to not add quotes after
-- directories whose entries you may want to complete afterwards.
completion_append = ""

return file_list(directory)
return files
end

local function handle_choice_completion(option, before_cur)
Expand Down
Loading