Remove obsolete stuffs
This commit is contained in:
80
bin/cmder/vendor/clink-completions/modules/matchers.lua
vendored
Normal file
80
bin/cmder/vendor/clink-completions/modules/matchers.lua
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
local exports = {}
|
||||
|
||||
local path = require('path')
|
||||
local w = require('tables').wrap
|
||||
|
||||
exports.dirs = function(word)
|
||||
-- Strip off any path components that may be on text.
|
||||
local prefix = ""
|
||||
local i = word:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
prefix = word:sub(1, i)
|
||||
end
|
||||
local include_dots = word:find("%.+$") ~= nil
|
||||
|
||||
-- Find matches.
|
||||
local matches = w(clink.find_dirs(word.."*", true))
|
||||
:filter(function (dir)
|
||||
return clink.is_match(word, prefix..dir) and
|
||||
(include_dots or path.is_real_dir(dir))
|
||||
end)
|
||||
:map(function(dir)
|
||||
return prefix..dir
|
||||
end)
|
||||
|
||||
-- If there was no matches but word is a dir then use it as the single match.
|
||||
-- Otherwise tell readline that matches are files and it will do magic.
|
||||
if #matches == 0 and clink.is_dir(rl_state.text) then
|
||||
return {rl_state.text}
|
||||
end
|
||||
|
||||
clink.matches_are_files()
|
||||
return matches
|
||||
end
|
||||
|
||||
exports.files = function (word)
|
||||
-- Strip off any path components that may be on text.
|
||||
local prefix = ""
|
||||
local i = word:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
prefix = word:sub(1, i)
|
||||
end
|
||||
|
||||
-- Find matches.
|
||||
local matches = w(clink.find_files(word.."*", true))
|
||||
:filter(function (file)
|
||||
return clink.is_match(word, prefix..file)
|
||||
end)
|
||||
:map(function(file)
|
||||
return prefix..file
|
||||
end)
|
||||
|
||||
-- Tell readline that matches are files and it will do magic.
|
||||
if #matches ~= 0 then
|
||||
clink.matches_are_files()
|
||||
end
|
||||
|
||||
return matches
|
||||
end
|
||||
|
||||
exports.create_dirs_matcher = function (dir_pattern, show_dotfiles)
|
||||
return function (token)
|
||||
return w(clink.find_dirs(dir_pattern))
|
||||
:filter(function(dir)
|
||||
return clink.is_match(token, dir) and (path.is_real_dir(dir) or show_dotfiles)
|
||||
end )
|
||||
end
|
||||
end
|
||||
|
||||
exports.create_files_matcher = function (file_pattern)
|
||||
return function (token)
|
||||
return w(clink.find_files(file_pattern))
|
||||
:filter(function(file)
|
||||
-- Filter out '.' and '..' entries as well
|
||||
return clink.is_match(token, file) and path.is_real_dir(file)
|
||||
end )
|
||||
end
|
||||
end
|
||||
|
||||
return exports
|
||||
Reference in New Issue
Block a user