From 65045e99b86edd6a2cc5c7374124b60d700449e9 Mon Sep 17 00:00:00 2001 From: Johannes Knopp Date: Thu, 5 Dec 2024 13:19:36 +0100 Subject: [PATCH] Change keybindings and add better buffer handling --- nvim/lazy-lock.json | 1 + nvim/lua/config/core/keymaps.lua | 1 - nvim/lua/config/plugins/auto-session.lua | 4 +++- nvim/lua/config/plugins/bufdelete.lua | 6 ++++++ nvim/lua/config/plugins/bufferline.lua | 9 +++++++++ nvim/lua/config/plugins/floaterm.lua | 4 ++-- nvim/lua/config/plugins/lsp/lspconfig.lua | 2 ++ nvim/lua/config/plugins/lsp/mason.lua | 1 + nvim/lua/config/plugins/lsp/null-ls.lua | 2 +- nvim/lua/config/plugins/nvim-tree.lua | 8 +++++++- 10 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 nvim/lua/config/plugins/bufdelete.lua diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index fbfd9a4..d6b9a7b 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -2,6 +2,7 @@ "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "alpha-nvim": { "branch": "main", "commit": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7" }, "auto-session": { "branch": "main", "commit": "9d02776ed42874d37869dc683396234e3724b52d" }, + "bufdelete.nvim": { "branch": "master", "commit": "f6bcea78afb3060b198125256f897040538bcb81" }, "bufferline.nvim": { "branch": "main", "commit": "2e3c8cc5a57ddd32f1edd2ffd2ccb10c09421f6c" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, diff --git a/nvim/lua/config/core/keymaps.lua b/nvim/lua/config/core/keymaps.lua index 3126e7b..f739e66 100644 --- a/nvim/lua/config/core/keymaps.lua +++ b/nvim/lua/config/core/keymaps.lua @@ -20,7 +20,6 @@ keymap.set('n', 'j', 'gj', opts) keymap.set('n', '', 'gk', opts) keymap.set('n', '', 'gj', opts) - -- COMMANDS -- print current working directory diff --git a/nvim/lua/config/plugins/auto-session.lua b/nvim/lua/config/plugins/auto-session.lua index e8a2ee5..41ab516 100644 --- a/nvim/lua/config/plugins/auto-session.lua +++ b/nvim/lua/config/plugins/auto-session.lua @@ -19,7 +19,9 @@ return { -- If NvimTree was opened when the session was saved, show it if buf_exists('NvimTree_') then - require('nvim-tree.api').tree.open() + local nvim_tree_api = require('nvim-tree.api') + nvim_tree_api.tree.reload() + nvim_tree_api.tree.open() end end } diff --git a/nvim/lua/config/plugins/bufdelete.lua b/nvim/lua/config/plugins/bufdelete.lua new file mode 100644 index 0000000..ac6f038 --- /dev/null +++ b/nvim/lua/config/plugins/bufdelete.lua @@ -0,0 +1,6 @@ +return { + 'famiu/bufdelete.nvim', + config = function() + vim.keymap.set('n', '', 'Bdelete', { noremap = true, silent = true }) + end +} diff --git a/nvim/lua/config/plugins/bufferline.lua b/nvim/lua/config/plugins/bufferline.lua index a6dccf6..f5eaff7 100644 --- a/nvim/lua/config/plugins/bufferline.lua +++ b/nvim/lua/config/plugins/bufferline.lua @@ -7,11 +7,20 @@ return { local bufferline = require('bufferline') bufferline.setup({ options = { + persist_buffer_sort = true, hover = { enabled = true, delay = 200, reveal = {'close'} }, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "Directory", + separator = true, + } + } } }) diff --git a/nvim/lua/config/plugins/floaterm.lua b/nvim/lua/config/plugins/floaterm.lua index 41c8a3f..0e5cc8a 100644 --- a/nvim/lua/config/plugins/floaterm.lua +++ b/nvim/lua/config/plugins/floaterm.lua @@ -3,8 +3,8 @@ return { config = function () local keymap = vim.keymap local opts = { noremap = true, silent = true } - keymap.set('n', '', 'FloatermToggle', opts) - keymap.set('t', '', 'FloatermToggle', opts) + keymap.set('n', '', 'FloatermToggle', opts) + keymap.set('t', '', 'FloatermToggle', opts) keymap.set('t', '', 'FloatermPrev', opts) keymap.set('t', '', 'FloatermNext', opts) diff --git a/nvim/lua/config/plugins/lsp/lspconfig.lua b/nvim/lua/config/plugins/lsp/lspconfig.lua index aee3662..e26395a 100644 --- a/nvim/lua/config/plugins/lsp/lspconfig.lua +++ b/nvim/lua/config/plugins/lsp/lspconfig.lua @@ -71,6 +71,8 @@ return { 'less', 'javascript', 'javascriptreact', + 'typescript', + 'typescriptreact', 'svelte', 'vue', } diff --git a/nvim/lua/config/plugins/lsp/mason.lua b/nvim/lua/config/plugins/lsp/mason.lua index 6227f6d..a806010 100644 --- a/nvim/lua/config/plugins/lsp/mason.lua +++ b/nvim/lua/config/plugins/lsp/mason.lua @@ -30,6 +30,7 @@ return { 'pyright', -- 'emmet_ls', 'bashls', + 'ts_ls', }, }) diff --git a/nvim/lua/config/plugins/lsp/null-ls.lua b/nvim/lua/config/plugins/lsp/null-ls.lua index 8811155..71ff39d 100644 --- a/nvim/lua/config/plugins/lsp/null-ls.lua +++ b/nvim/lua/config/plugins/lsp/null-ls.lua @@ -8,7 +8,7 @@ return { local sources = { null_ls.builtins.formatting.prettier.with({ - filetypes = { 'javascript', 'typescript', 'css', 'html', 'json', 'markdown', 'yaml' } + filetypes = { 'javascript', 'typescript', 'typescriptreact', 'css', 'html', 'json', 'markdown', 'yaml' } }), null_ls.builtins.formatting.black, null_ls.builtins.formatting.djlint, diff --git a/nvim/lua/config/plugins/nvim-tree.lua b/nvim/lua/config/plugins/nvim-tree.lua index 6b937ea..e1bba09 100644 --- a/nvim/lua/config/plugins/nvim-tree.lua +++ b/nvim/lua/config/plugins/nvim-tree.lua @@ -14,15 +14,21 @@ return { filters = { custom = { 'node_modules', '__pycache__' }, }, + update_focused_file = { + enable = true, + update_cwd = true, + } }) local keymap = vim.keymap keymap.set('n', 'ee', api.tree.toggle, { noremap = true, silent = true }) + keymap.set('n', 'ec', 'NvimTreeCD', { noremap = true, silent = true }) local wk = require('which-key') wk.add({ { 'e', group = 'nvim-tree', icon = { icon = ' ', color = 'orange' } }, - { 'ee', group = 'Toggle tree' } + { 'ee', group = 'Toggle tree' }, + { 'ec', group = 'Change tree root to CWD' } }) end }