Update: Lazy-load for Neo-tree.

This commit is contained in:
psychhim
2025-10-13 02:33:35 +05:30
parent 99dfb8c5f3
commit bb9a136cd4

View File

@@ -1,6 +1,4 @@
-- Unless you are still migrating, remove the deprecated commands from v1.x -- Unless you are still migrating, remove the deprecated commands from v1.x
vim.cmd [[ let g:neo_tree_remove_legacy_commands = 1 ]]
return { return {
'nvim-neo-tree/neo-tree.nvim', 'nvim-neo-tree/neo-tree.nvim',
version = '*', version = '*',
@@ -9,7 +7,29 @@ return {
'nvim-tree/nvim-web-devicons', 'nvim-tree/nvim-web-devicons',
'MunifTanjim/nui.nvim', 'MunifTanjim/nui.nvim',
}, },
-- Lazy-load when this command is used
cmd = { 'Neotree' },
-- Lazy load on <leader>n
keys = {
{
'<leader>n',
function()
require('neo-tree.command').execute { toggle = true } -- toggle Neo-tree
end,
desc = 'Toggle Neo-tree',
},
},
config = function() config = function()
vim.cmd [[ let g:neo_tree_remove_legacy_commands = 1 ]]
-- Track last created file or folder
local last_created_path = nil
vim.api.nvim_set_hl(0, 'NeoTreeLastCreated', { fg = '#00ff00', bold = true })
local function normalize_path(path)
return vim.fn.fnamemodify(path, ':p')
end
-- Handling deleted file or folder buffers, marking them as removed -- Handling deleted file or folder buffers, marking them as removed
local function delete_file_mark_removed(state) local function delete_file_mark_removed(state)
local node = state.tree:get_node() local node = state.tree:get_node()
@@ -70,12 +90,8 @@ return {
end end
return true return true
end end
-- Track last created file or folder
local last_created_path = nil -- Smart open file
vim.api.nvim_set_hl(0, 'NeoTreeLastCreated', { fg = '#00ff00', bold = true })
local function normalize_path(path)
return vim.fn.fnamemodify(path, ':p')
end
local function smart_open(state) local function smart_open(state)
local node = state.tree:get_node() local node = state.tree:get_node()
if not node then if not node then
@@ -145,7 +161,8 @@ return {
end end
end end
end end
-- Smart_open_split for split windows
-- Smart open in split windows
local function smart_open_split(state, direction) local function smart_open_split(state, direction)
local node = state.tree:get_node() local node = state.tree:get_node()
if not node then if not node then
@@ -197,6 +214,8 @@ return {
vim.cmd('edit ' .. vim.fn.fnameescape(path)) vim.cmd('edit ' .. vim.fn.fnameescape(path))
end end
-- Setup Neo-tree
require('neo-tree').setup { require('neo-tree').setup {
close_if_last_window = true, close_if_last_window = true,
popup_border_style = 'rounded', popup_border_style = 'rounded',