From 251f422d760855273ed35e5a0b9745a27bedaa74 Mon Sep 17 00:00:00 2001 From: Gilad Sher Date: Thu, 12 Sep 2024 11:01:44 -0400 Subject: [PATCH] update neotree to be the default file explorer --- init.lua | 2 +- lua/custom/plugins/mini.lua | 1 + lua/kickstart/plugins/neo-tree.lua | 32 ++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 lua/custom/plugins/mini.lua diff --git a/init.lua b/init.lua index 3ed11a62..e338a507 100644 --- a/init.lua +++ b/init.lua @@ -673,7 +673,7 @@ require('lazy').setup({ -- https://github.com/pmizio/typescript-tools.nvim -- -- But for many setups, the LSP (`tsserver`) will work just fine - tsserver = { + ts_ls = { javascript = { inlayHints = { includeInlayEnumMemberValueHints = true, diff --git a/lua/custom/plugins/mini.lua b/lua/custom/plugins/mini.lua new file mode 100644 index 00000000..8c39fc29 --- /dev/null +++ b/lua/custom/plugins/mini.lua @@ -0,0 +1 @@ +return { 'echasnovski/mini.nvim', version = false } diff --git a/lua/kickstart/plugins/neo-tree.lua b/lua/kickstart/plugins/neo-tree.lua index bd442269..55c8904d 100644 --- a/lua/kickstart/plugins/neo-tree.lua +++ b/lua/kickstart/plugins/neo-tree.lua @@ -13,8 +13,40 @@ return { keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, + init = function() + vim.api.nvim_create_autocmd('BufNewFile', { + group = vim.api.nvim_create_augroup('RemoteFile', { clear = true }), + callback = function() + local f = vim.fn.expand '%:p' + for _, v in ipairs { 'sftp', 'scp', 'ssh', 'dav', 'fetch', 'ftp', 'http', 'rcp', 'rsync' } do + local p = v .. '://' + if string.sub(f, 1, #p) == p then + vim.cmd [[ + unlet g:loaded_netrw + unlet g:loaded_netrwPlugin + runtime! plugin/netrwPlugin.vim + silent Explore % + ]] + vim.api.nvim_clear_autocmds { group = 'RemoteFile' } + break + end + end + end, + }) + vim.api.nvim_create_autocmd('BufEnter', { + group = vim.api.nvim_create_augroup('NeoTreeInit', { clear = true }), + callback = function() + local f = vim.fn.expand '%:p' + if vim.fn.isdirectory(f) ~= 0 then + vim.cmd('Neotree current dir=' .. f) + vim.api.nvim_clear_autocmds { group = 'NeoTreeInit' } + end + end, + }) + end, opts = { filesystem = { + hijack_netrw_behavior = 'open_current', window = { mappings = { ['\\'] = 'close_window',