add Gitignore (#251)
This commit is contained in:
@@ -30,6 +30,10 @@ local function update_root_status(root)
|
||||
end
|
||||
end
|
||||
|
||||
function M.get_path_gitexclude()
|
||||
return vim.fn.system("git config --get core.excludesFile")
|
||||
end
|
||||
|
||||
function M.reload_roots()
|
||||
for root, status in pairs(roots) do
|
||||
if status ~= not_git then
|
||||
|
||||
@@ -100,6 +100,21 @@ end
|
||||
|
||||
local function gen_ignore_check()
|
||||
local ignore_list = {}
|
||||
|
||||
local function add_toignore(path)
|
||||
local content = utils.read_file(path)
|
||||
for s in content:gmatch("[^\r\n]+") do
|
||||
ignore_list[s] = true
|
||||
end
|
||||
end
|
||||
|
||||
if (vim.g.nvim_tree_gitignore or 0) > 0 then
|
||||
add_toignore('.gitignore')
|
||||
end
|
||||
if (vim.g.nvim_tree_gitignore or 0) == 2 then
|
||||
add_toignore(git.get_path_gitexclude())
|
||||
end
|
||||
|
||||
if vim.g.nvim_tree_ignore and #vim.g.nvim_tree_ignore > 0 then
|
||||
for _, entry in pairs(vim.g.nvim_tree_ignore) do
|
||||
ignore_list[entry] = true
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
local M = {}
|
||||
local uv = vim.loop -- or require("luv") ? i dont understand
|
||||
local api = vim.api
|
||||
|
||||
function M.path_to_matching_str(path)
|
||||
@@ -11,6 +12,16 @@ function M.echo_warning(msg)
|
||||
api.nvim_command('echohl None')
|
||||
end
|
||||
|
||||
function M.read_file(path)
|
||||
local fd = uv.fs_open(path, "r", 438)
|
||||
if not fd then return '' end
|
||||
local stat = uv.fs_fstat(fd)
|
||||
if not stat then return '' end
|
||||
local data = uv.fs_read(fd, stat.size, 0)
|
||||
uv.fs_close(fd)
|
||||
return data or ''
|
||||
end
|
||||
|
||||
local path_separator = package.config:sub(1,1)
|
||||
function M.path_join(paths)
|
||||
return table.concat(paths, path_separator)
|
||||
|
||||
Reference in New Issue
Block a user