- Add missing Fish configs (direnv, ssh function) - Add Tokyo Night theme for Ghostty - Complete Neovim scratch config sync - Rewrite install.sh for new structure - Add comprehensive README.md
114 lines
3.2 KiB
Lua
114 lines
3.2 KiB
Lua
-- ============================================================================
|
|
-- Neo-tree - File Explorer
|
|
-- ============================================================================
|
|
|
|
return {
|
|
{
|
|
'nvim-neo-tree/neo-tree.nvim',
|
|
version = '*',
|
|
dependencies = {
|
|
'nvim-lua/plenary.nvim',
|
|
'nvim-tree/nvim-web-devicons',
|
|
'MunifTanjim/nui.nvim',
|
|
},
|
|
cmd = 'Neotree',
|
|
keys = {
|
|
{ '<leader>e', '<cmd>Neotree toggle right<CR>', desc = 'Explorer toggle' },
|
|
{ '<leader>ef', '<cmd>Neotree focus filesystem right<CR>', desc = 'Explorer focus' },
|
|
{ '<leader>eb', '<cmd>Neotree focus buffers right<CR>', desc = 'Explorer buffers' },
|
|
{ '<leader>eg', '<cmd>Neotree focus git_status right<CR>', desc = 'Explorer git' },
|
|
},
|
|
config = function()
|
|
require('neo-tree').setup({
|
|
close_if_last_window = false,
|
|
popup_border_style = 'rounded',
|
|
enable_git_status = true,
|
|
enable_diagnostics = true,
|
|
|
|
default_component_configs = {
|
|
indent = {
|
|
indent_size = 2,
|
|
padding = 1,
|
|
with_markers = true,
|
|
indent_marker = '│',
|
|
last_indent_marker = '└',
|
|
with_expanders = true,
|
|
expander_collapsed = '',
|
|
expander_expanded = '',
|
|
},
|
|
icon = {
|
|
folder_closed = '',
|
|
folder_open = '',
|
|
folder_empty = '',
|
|
default = '*',
|
|
},
|
|
modified = {
|
|
symbol = '[+]',
|
|
},
|
|
git_status = {
|
|
symbols = {
|
|
added = '',
|
|
modified = '',
|
|
deleted = '✖',
|
|
renamed = '➜',
|
|
untracked = '★',
|
|
ignored = '◌',
|
|
unstaged = '✗',
|
|
staged = '✓',
|
|
conflict = '',
|
|
}
|
|
},
|
|
},
|
|
|
|
window = {
|
|
position = 'right',
|
|
width = 35,
|
|
mappings = {
|
|
['<space>'] = 'none',
|
|
['<2-LeftMouse>'] = 'open',
|
|
['<cr>'] = 'open',
|
|
['S'] = 'open_split',
|
|
['s'] = 'open_vsplit',
|
|
['t'] = 'open_tabnew',
|
|
['C'] = 'close_node',
|
|
['z'] = 'close_all_nodes',
|
|
['R'] = 'refresh',
|
|
['a'] = {
|
|
'add',
|
|
config = {
|
|
show_path = 'relative'
|
|
}
|
|
},
|
|
['d'] = 'delete',
|
|
['r'] = 'rename',
|
|
['y'] = 'copy_to_clipboard',
|
|
['x'] = 'cut_to_clipboard',
|
|
['p'] = 'paste_from_clipboard',
|
|
['q'] = 'close_window',
|
|
['?'] = 'show_help',
|
|
}
|
|
},
|
|
|
|
filesystem = {
|
|
filtered_items = {
|
|
visible = false,
|
|
hide_dotfiles = false,
|
|
hide_gitignored = false,
|
|
hide_by_name = {
|
|
'node_modules'
|
|
},
|
|
never_show = {
|
|
'.DS_Store',
|
|
},
|
|
},
|
|
follow_current_file = {
|
|
enabled = true,
|
|
leave_dirs_open = false,
|
|
},
|
|
use_libuv_file_watcher = true,
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
}
|