Remove obsolete stuffs
This commit is contained in:
69
bin/cmder/vendor/clink-completions/modules/path.lua
vendored
Normal file
69
bin/cmder/vendor/clink-completions/modules/path.lua
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
local exports = {}
|
||||
|
||||
local w = require('tables').wrap
|
||||
|
||||
exports.list_files = function (base_path, glob, recursive, reverse_separator)
|
||||
local mask = glob or '/*'
|
||||
|
||||
local entries = w(clink.find_files(base_path..mask))
|
||||
:filter(function(entry)
|
||||
return exports.is_real_dir(entry)
|
||||
end)
|
||||
|
||||
local files = entries:filter(function(entry)
|
||||
return not clink.is_dir(base_path..'/'..entry)
|
||||
end)
|
||||
|
||||
-- if 'recursive' flag is not set, we don't need to iterate
|
||||
-- through directories, so just return files found
|
||||
if not recursive then return files end
|
||||
|
||||
local sep = reverse_separator and '/' or '\\'
|
||||
|
||||
return entries
|
||||
:filter(function(entry)
|
||||
return clink.is_dir(base_path..'/'..entry)
|
||||
end)
|
||||
:reduce(files, function(accum, dir)
|
||||
-- iterate through directories and call list_files recursively
|
||||
return exports.list_files(base_path..'/'..dir, mask, recursive, reverse_separator)
|
||||
:map(function(entry)
|
||||
return dir..sep..entry
|
||||
end)
|
||||
:concat(accum)
|
||||
end)
|
||||
end
|
||||
|
||||
exports.basename = function (path)
|
||||
local prefix = path
|
||||
local i = path:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
prefix = path:sub(i + 1)
|
||||
end
|
||||
return prefix
|
||||
end
|
||||
|
||||
exports.pathname = function (path)
|
||||
local prefix = ""
|
||||
local i = path:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
prefix = path:sub(1, i-1)
|
||||
end
|
||||
return prefix
|
||||
end
|
||||
|
||||
exports.is_absolute = function (path)
|
||||
local drive = path:find("^%s?[%l%a]:[\\/]")
|
||||
if drive then return true else return false end
|
||||
end
|
||||
|
||||
exports.is_metadir = function (dirname)
|
||||
return exports.basename(dirname) == '.'
|
||||
or exports.basename(dirname) == '..'
|
||||
end
|
||||
|
||||
exports.is_real_dir = function (dirname)
|
||||
return not exports.is_metadir(dirname)
|
||||
end
|
||||
|
||||
return exports
|
||||
Reference in New Issue
Block a user