Feat: Allow hiding dotfiles (#69)

This commit is contained in:
Kieran Siek
2020-08-03 22:13:25 +08:00
committed by GitHub
parent 1aee593b5d
commit 06558a25da
7 changed files with 55 additions and 33 deletions

View File

@@ -45,22 +45,23 @@ end
function M.get_bindings()
local keybindings = vim.g.lua_tree_bindings or {}
return {
edit = keybindings.edit or '<CR>',
edit_vsplit = keybindings.edit_vsplit or '<C-v>',
edit_split = keybindings.edit_split or '<C-x>',
edit_tab = keybindings.edit_tab or '<C-t>',
preview = keybindings.preview or '<Tab>',
toggle_ignored = keybindings.toggle_ignored or 'I',
refresh = keybindings.refresh or 'R',
cd = keybindings.cd or '<C-]>',
create = keybindings.create or 'a',
remove = keybindings.remove or 'd',
rename = keybindings.rename or 'r',
cut = keybindings.cut or 'x',
copy = keybindings.copy or 'c',
paste = keybindings.paste or 'p',
prev_git_item = keybindings.prev_git_item or '[c',
next_git_item = keybindings.next_git_item or ']c',
edit = keybindings.edit or '<CR>',
edit_vsplit = keybindings.edit_vsplit or '<C-v>',
edit_split = keybindings.edit_split or '<C-x>',
edit_tab = keybindings.edit_tab or '<C-t>',
preview = keybindings.preview or '<Tab>',
toggle_ignored = keybindings.toggle_ignored or 'I',
toggle_dotfiles = keybindings.toggle_dotfiles or 'H',
refresh = keybindings.refresh or 'R',
cd = keybindings.cd or '<C-]>',
create = keybindings.create or 'a',
remove = keybindings.remove or 'd',
rename = keybindings.rename or 'r',
cut = keybindings.cut or 'x',
copy = keybindings.copy or 'c',
paste = keybindings.paste or 'p',
prev_git_item = keybindings.prev_git_item or '[c',
next_git_item = keybindings.next_git_item or ']c',
}
end

View File

@@ -224,6 +224,7 @@ local function set_mappings()
[bindings.edit_split] = 'on_keypress("split")';
[bindings.edit_tab] = 'on_keypress("tabnew")';
[bindings.toggle_ignored] = 'on_keypress("toggle_ignored")';
[bindings.toggle_dotfiles] = 'on_keypress("toggle_dotfiles")';
[bindings.refresh] = 'on_keypress("refresh")';
[bindings.create] = 'on_keypress("create")';
[bindings.remove] = 'on_keypress("remove")';
@@ -304,4 +305,9 @@ function M.toggle_ignored()
return M.refresh_tree()
end
function M.toggle_dotfiles()
pops.show_dotfiles = not pops.show_dotfiles
return M.refresh_tree()
end
return M

View File

@@ -6,7 +6,8 @@ local api = vim.api
local luv = vim.loop
local M = {
show_ignored = false
show_ignored = false,
show_dotfiles = vim.g.lua_tree_hide_dotfiles ~= 1,
}
local path_to_matching_str = require'lib.utils'.path_to_matching_str
@@ -65,7 +66,9 @@ local function gen_ignore_check()
end
return function(path)
return not M.show_ignored and ignore_list[path] == true
local ignore_path = not M.show_ignored and ignore_list[path] == true
local ignore_dotfiles = not M.show_dotfiles and path:sub(1, 1) == '.'
return ignore_path or ignore_dotfiles
end
end

View File

@@ -46,6 +46,7 @@ local keypress_funcs = {
cut = fs.cut,
paste = fs.paste,
toggle_ignored = lib.toggle_ignored,
toggle_dotfiles = lib.toggle_dotfiles,
refresh = lib.refresh_tree,
prev_git_item = gen_go_to('prev_git_item'),
next_git_item = gen_go_to('next_git_item'),