add view.indent_markers (#1134)
This commit is contained in:
committed by
GitHub
parent
83fe370d52
commit
d5e4f0655b
@@ -336,6 +336,16 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = false,
|
||||
icons = {
|
||||
corner = "└ ",
|
||||
edge = "│ ",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
},
|
||||
hijack_directories = {
|
||||
enable = true,
|
||||
auto_open = true,
|
||||
@@ -446,6 +456,7 @@ function M.setup(conf)
|
||||
require("nvim-tree.git").setup(opts)
|
||||
require("nvim-tree.view").setup(opts)
|
||||
require("nvim-tree.lib").setup(opts)
|
||||
require("nvim-tree.renderer").setup(opts)
|
||||
|
||||
setup_vim_commands()
|
||||
setup_autocommands(opts)
|
||||
|
||||
@@ -169,6 +169,13 @@ local migrations = {
|
||||
o.actions.change_dir.global = vim.g.nvim_tree_change_dir_global == 1
|
||||
end
|
||||
end,
|
||||
|
||||
nvim_tree_indent_markers = function(o)
|
||||
utils.table_create_missing(o, "renderer.indent_markers")
|
||||
if o.renderer.indent_markers.enable == nil then
|
||||
o.renderer.indent_markers.enable = vim.g.nvim_tree_indent_markers == 1
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
function M.migrate_legacy_options(opts)
|
||||
|
||||
@@ -256,7 +256,7 @@ function M.draw()
|
||||
hl = {}
|
||||
|
||||
icon_state = _icons.get_config()
|
||||
local show_arrows = vim.g.nvim_tree_indent_markers ~= 1
|
||||
local show_arrows = not M.config.indent_markers.enable
|
||||
and icon_state.show_folder_icon
|
||||
and icon_state.show_folder_arrows
|
||||
_padding.reload_padding_function()
|
||||
@@ -289,4 +289,12 @@ function M.render_hl(bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
function M.setup(opts)
|
||||
M.config = {
|
||||
indent_markers = opts.renderer.indent_markers,
|
||||
}
|
||||
|
||||
require("nvim-tree.renderer.padding").setup(opts)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
@@ -21,11 +21,11 @@ local function get_padding_indent_markers(depth, idx, tree, _, markers)
|
||||
markers[rdepth] = idx ~= #tree.nodes
|
||||
for i = 1, rdepth do
|
||||
if idx == #tree.nodes and i == rdepth then
|
||||
padding = padding .. "└ "
|
||||
padding = padding .. M.config.indent_markers.icons.corner
|
||||
elseif markers[i] then
|
||||
padding = padding .. "│ "
|
||||
padding = padding .. M.config.indent_markers.icons.edge
|
||||
else
|
||||
padding = padding .. " "
|
||||
padding = padding .. M.config.indent_markers.icons.none
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -39,9 +39,15 @@ function M.reload_padding_function()
|
||||
M.get_padding = get_padding_arrows(icon_state)
|
||||
end
|
||||
|
||||
if vim.g.nvim_tree_indent_markers == 1 then
|
||||
if M.config.indent_markers.enable then
|
||||
M.get_padding = get_padding_indent_markers
|
||||
end
|
||||
end
|
||||
|
||||
function M.setup(opts)
|
||||
M.config = {
|
||||
indent_markers = opts.renderer.indent_markers,
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user