From 032d00a16473985e6fa50a8e9596216e80d35411 Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sat, 5 Oct 2024 15:25:46 +0200 Subject: [PATCH 1/5] Added fidget back in as replacement for noice.nvim, improved telescope hotkeys dap fix for C/C++ added java to conform --- lazy-lock.json | 45 ++++++++++++++++---------------- lua/barink/plugins/conform.lua | 1 + lua/barink/plugins/dap.lua | 45 ++++++++++++++++---------------- lua/barink/plugins/fidget.lua | 8 ++++++ lua/barink/plugins/harpoon.lua | 31 +++++++++++++++++----- lua/barink/plugins/lsp.lua | 33 +++++++++++------------ lua/barink/plugins/noice.lua | 11 -------- lua/barink/plugins/telescope.lua | 2 +- 8 files changed, 95 insertions(+), 81 deletions(-) create mode 100644 lua/barink/plugins/fidget.lua delete mode 100644 lua/barink/plugins/noice.lua diff --git a/lazy-lock.json b/lazy-lock.json index 7fbffc2..712541d 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -6,43 +6,42 @@ "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "conform.nvim": { "branch": "master", "commit": "797de8f79055334104cf77893cd93fe3fc2ac154" }, - "edgy.nvim": { "branch": "main", "commit": "0e8bbab4eba9dab6c237e4a2e146dc0466897be6" }, + "conform.nvim": { "branch": "master", "commit": "1a99fdc1d3aa9ccdf3021e67982a679a8c5c740c" }, + "edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" }, + "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, "git-worktree.nvim": { "branch": "master", "commit": "f247308e68dab9f1133759b05d944569ad054546" }, - "gitsigns.nvim": { "branch": "main", "commit": "356df59308d8b87486644d2324d7558ac0f3db36" }, + "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, - "lazy.nvim": { "branch": "main", "commit": "a09c876f6ef642c8feaea45932df73b058d9a083" }, - "lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" }, - "mason-lspconfig": { "branch": "main", "commit": "58bc9119ca273c0ce5a66fad1927ef0f617bd81b" }, + "lazy.nvim": { "branch": "main", "commit": "460e1cd8f24e364d54543a4b0e83f6f4ec1f65fb" }, + "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, + "mason-lspconfig": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, - "neoconf.nvim": { "branch": "main", "commit": "944f30e58171cf909b6567ce206e9097745560d1" }, - "noice.nvim": { "branch": "main", "commit": "c1ba80ccf6b3bd8c7fc88fe2e61085131d44ad65" }, + "neoconf.nvim": { "branch": "main", "commit": "3b6db0a913258a91951f96b09c005522cca98f1f" }, "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, - "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, - "nvim-dap": { "branch": "master", "commit": "bc03b83c94d0375145ff5ac6a6dcf28c1241e06f" }, - "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" }, - "nvim-jdtls": { "branch": "master", "commit": "6bfd1591583b02e742fc3a2f43393c4ea3b6d3c7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1ea7c6126a1aa0121098e4f16c04d5dde1a4ba22" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-dap": { "branch": "master", "commit": "7ff6936010b7222fea2caea0f67ed77f1b7c60dd" }, + "nvim-dap-ui": { "branch": "master", "commit": "1c351e4e417d4691da12948b6ecf966936a56d28" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "3497eb39bf413a57ab5b7e7e2e192683e462148c" }, + "nvim-jdtls": { "branch": "master", "commit": "efe813854432a314b472226dca813f0f2598d44a" }, + "nvim-lspconfig": { "branch": "master", "commit": "a9bc587e9ae0cbcb3e90a2e9342f86b3b78c4408" }, "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, - "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-treesitter": { "branch": "master", "commit": "733fa85db27079ec2757183c5c840ba15a303e1f" }, - "nvim-web-devicons": { "branch": "master", "commit": "e612de3d3a41a6b7be47f51e956dddabcbf419d9" }, - "oil.nvim": { "branch": "master", "commit": "9e5eb2fcd1dfee2ff30c89273ffff179e42034b9" }, + "nvim-treesitter": { "branch": "master", "commit": "36b78d112bddd69a05e24679241962e29e494d9e" }, + "nvim-web-devicons": { "branch": "master", "commit": "26220156aafb198b2de6a4cf80c1b120a3768da0" }, + "oil.nvim": { "branch": "master", "commit": "1360be5fda9c67338331abfcd80de2afbb395bcd" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, - "telescope.nvim": { "branch": "master", "commit": "79552ef8488cb492e0f9d2bf3b4e808f57515e35" }, + "telescope.nvim": { "branch": "master", "commit": "cb3f98d935842836cc115e8c9e4b38c1380fbb6b" }, "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, - "trouble.nvim": { "branch": "main", "commit": "40c5317a6e90fe3393f07b0fee580d9e93a216b4" }, + "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, "twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" }, - "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, + "undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" }, "vim-be-good": { "branch": "master", "commit": "4fa57b7957715c91326fcead58c1fa898b9b3625" }, "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, "vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" }, "vim-dadbod-ui": { "branch": "master", "commit": "f29c85ab42861c6ef683289b0c6a51e0d436dcf6" }, - "vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" }, + "vim-fugitive": { "branch": "master", "commit": "d4877e54cef67f5af4f950935b1ade19ed6b7370" }, "which-key.nvim": { "branch": "main", "commit": "fb070344402cfc662299d9914f5546d840a22126" }, "zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" } } diff --git a/lua/barink/plugins/conform.lua b/lua/barink/plugins/conform.lua index fecf484..cb8d16e 100644 --- a/lua/barink/plugins/conform.lua +++ b/lua/barink/plugins/conform.lua @@ -8,6 +8,7 @@ return { lua = { "stylua"}, javascript = { "prettierd", "prettier", stop_after_first = true }, typescript = { "prettierd", "prettier", stop_after_first = true }, + java = { "clang-format", stop_after_first = true }, }, format_on_save = { timeout_ms = 500 }, default_format_ops = { diff --git a/lua/barink/plugins/dap.lua b/lua/barink/plugins/dap.lua index 0552b34..ac5c5e2 100644 --- a/lua/barink/plugins/dap.lua +++ b/lua/barink/plugins/dap.lua @@ -22,21 +22,38 @@ return { }, config = function () local dap = require('dap') + -- Godot Config + dap.adapters.godot = { + type = "server", + host = "127.0.0.1", + port = 6006 + } + --dap.configurations.gdscript{ + -- type = "godot", + -- request = "launch", + -- name = "launch scene", + -- project = "${workspaceFolder}" + --} + -- C/C++ Config dap.configurations.cpp = { { name = "Launch", - type= "codelldb", + type= "lldb", request = "launch", program = function () return vim.fn.input('Path to executable: ', vim.fn.getcwd() , 'file') end, - cwd = '${workspaceFolder}/Framework', stopOnEntry = false, + runInTerminal = false, } } dap.adapters.lldb = { - type = 'executable', - command = "C:\\Program Files\\LLVM\\bin\\lldb-dap.exe", + type = 'server', + port= "${port}", + executable = { + command = "C:\\Users\\nigel\\AppData\\Local\\nvim-data\\mason\\bin\\codelldb.cmd", + args = { "--port", "${port}"} + }, name = 'lldb' } @@ -57,17 +74,7 @@ return { name = "Launch file", program = "java ${file}", }} - dap.configurations.cpp = {{ - name="launch", - type="lldb", - request="launch", - program = function () - return vim.fn.input('Path to executable: ', vim.fn.getcwd() ..'/', 'file') - end, - cwd = '${workspaceFolder}', - stopOnEntry = false, - args = {}, - }} + -- Golang config dap.configurations.go = { { type = "delve", @@ -99,14 +106,6 @@ return { args = {'dap', '-l', '127.0.0.1:${port}'}, } } - dap.adapters.codelldb = { - type= 'server', - port = '${port}', - executable = { - command = 'C:/Users/Nigel/Appdata/Local/nvim-data/mason/bin/codelldb.cmd', - args = {"--port", "${port}"} - } - } end } } diff --git a/lua/barink/plugins/fidget.lua b/lua/barink/plugins/fidget.lua new file mode 100644 index 0000000..22332c8 --- /dev/null +++ b/lua/barink/plugins/fidget.lua @@ -0,0 +1,8 @@ +return { + { + "j-hui/fidget.nvim", + opt = { + } + } +} + diff --git a/lua/barink/plugins/harpoon.lua b/lua/barink/plugins/harpoon.lua index d083f59..6efb923 100644 --- a/lua/barink/plugins/harpoon.lua +++ b/lua/barink/plugins/harpoon.lua @@ -1,18 +1,35 @@ return { "ThePrimeagen/harpoon", branch= "harpoon2", - dependencies = {{"nvim-lua/plenary.nvim"}}, + dependencies = { + {"nvim-lua/plenary.nvim"}, + {"nvim-telescope/telescope.nvim"} + }, config = function() local harpoon = require("harpoon") harpoon.setup() - vim.keymap.set("n", "a", function() harpoon:list():append() end) - vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + local conf = require("telescope.config").values + local function toggle_telescope(harpoon_files) + local file_paths = {} + for _, item in ipairs(harpoon_files.items) do + table.insert(file_paths, item.value) + end - vim.keymap.set("n", "1", function() harpoon:list():select(1) end) - vim.keymap.set("n", "2", function() harpoon:list():select(2) end) - vim.keymap.set("n", "3", function() harpoon:list():select(3) end) - vim.keymap.set("n", "4", function() harpoon:list():select(4) end) + require("telescope.pickers").new({}, { + result = file_paths, + previewer = conf.file_previewer({}), + sorter = conf.generic_sorter({}), + }):find() + end + + vim.keymap.set("n", "ha", function() harpoon:list():add() end) + vim.keymap.set("n", "hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + vim.keymap.set("n", "fe", function () toggle_telescope(harpoon:list()) end, { desc = "Open harpoon window"} ) + vim.keymap.set("n", "C-1", function() harpoon:list():select(1) end) + vim.keymap.set("n", "C-2", function() harpoon:list():select(2) end) + vim.keymap.set("n", "C-3", function() harpoon:list():select(3) end) + vim.keymap.set("n", "C-4", function() harpoon:list():select(4) end) vim.keymap.set("n", "", function() harpoon:list():prev() end) diff --git a/lua/barink/plugins/lsp.lua b/lua/barink/plugins/lsp.lua index 7c788cc..a73d11b 100644 --- a/lua/barink/plugins/lsp.lua +++ b/lua/barink/plugins/lsp.lua @@ -25,6 +25,12 @@ return require("mason-lspconfig").setup({ ensure_installed = { "lua_ls", "bashls", "rust_analyzer" } }) + local ls = require("luasnip") + ls.config.set_config({ + history = true, + updateevents = "TextChanged, TextChangedI", + enable_autosnippets = true, + }) local cmp = require('cmp') cmp.setup({ snippet = { @@ -41,7 +47,6 @@ return }), sources = cmp.config.sources({ { name = 'nvim_lsp', keyword_length = 1 }, - { name = 'luasnip', option = { show_autosnippets = true}}, { name = 'path' }, }, { { name = 'buffer', keyword_length = 2 }, @@ -61,42 +66,36 @@ return }) }) - -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline({ '/', '?' }, { - mapping = cmp.mapping.preset.cmdline(), + cmp.setup.filetype({ "sql"}, { sources = { - { name = 'buffer' } + { name = "vim-dadbod-completion"}, + { name = "buffer"} , } }) - + -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline(':', { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ - { name = 'path' } + { name = 'path' }, + { name = 'buffer' } }, { { name = 'cmdline' } }), matching = { disallow_symbol_nonprefix_matching = false } }) - local ls = require("luasnip") - ls.config.set_config({ - history = true, - updateevents = "TextChanged, TextChangedI", - enable_autosnippets = true, - }) vim.keymap.set({"i", "s"}, "", function() ls.expand() end, {silent = true}) - vim.keymap.set({"i", "s"}, "", function() ls.jump(1) end, {silent = true }) - vim.keymap.set({"i", "s"}, "", function() ls.jump(-1) end, {silent = true}) + vim.keymap.set({"i", "s"}, "", function() ls.jump(1) end, {silent = true }) + vim.keymap.set({"i", "s"}, "", function() ls.jump(-1) end, {silent = true}) vim.keymap.set({"i", "s"}, "", function() if ls.choice_active() then ls.change_choice(1) end end, {silent = true}) - require("luasnip.loaders.from_lua").load({paths= "C:\\Users\\nigel\\AppData\\Local\\nvim\\lua\\barink\\snippets"}) + require("luasnip.loaders.from_lua").load({paths= "~/.config/nvim/lua/barink/snippets"}) -- Set up lspconfig. @@ -105,9 +104,11 @@ return local language_server = { asm_lsp= true, + mojo = true, zls = true, emmet_language_server = true, rust_analyzer = true, + gdtoolkit = { flags = { debounce_text_changes = 150 }}, jdtls = true, pylsp = true, phpactor = { diff --git a/lua/barink/plugins/noice.lua b/lua/barink/plugins/noice.lua deleted file mode 100644 index 61ebecf..0000000 --- a/lua/barink/plugins/noice.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - "folke/noice.nvim", - event = "VeryLazy", - opts = { - }, - dependencies = { - "MunifTanjim/nui.nvim", - "rcarriga/nvim-notify", - }, - -} diff --git a/lua/barink/plugins/telescope.lua b/lua/barink/plugins/telescope.lua index eaa0654..92e1f32 100644 --- a/lua/barink/plugins/telescope.lua +++ b/lua/barink/plugins/telescope.lua @@ -21,7 +21,7 @@ return { vim.keymap.set('n', '/', builtin.current_buffer_fuzzy_find) vim.keymap.set('n', 'gw', builtin.grep_string) vim.keymap.set('n', 'fp',function () - builtin.find_files { cwd = "~/AppData/Local/nvim/lua/barink/"} + builtin.find_files { cwd = "~/.config/nvim/lua/barink/"} end) end } From 52c7c5099dd9561ca83708e4430f840935e946a3 Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sat, 5 Oct 2024 23:20:41 +0200 Subject: [PATCH 2/5] Improvments to dap, lsp-cmp and trouble - dap ui listeners - LSPkind for symbols in suggestions' - improving vim lua lsp support - complete options added ( Preview ) - fixed annoying C-d not working ( had overwritten it for code actions) - Added shortcut , s t to open a terminal at the bottom - Added a keymap to exit terminal mode (thnx teejdev) - set inccommand to split ( shows actions that will be taken in a split window) - fixed trouble suggestions toggle (C-t) --- lazy-lock.json | 1 + lua/barink/init.lua | 3 +-- lua/barink/keys.lua | 19 +++++++++++++++---- lua/barink/plugins/dap.lua | 14 ++++++++++++++ lua/barink/plugins/lsp.lua | 31 +++++++++++++++++++++++++++---- lua/barink/vim.lua | 2 +- 6 files changed, 59 insertions(+), 11 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 712541d..ca3975a 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -13,6 +13,7 @@ "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, "lazy.nvim": { "branch": "main", "commit": "460e1cd8f24e364d54543a4b0e83f6f4ec1f65fb" }, + "lspkind.nvim": { "branch": "master", "commit": "59c3f419af48a2ffb2320cea85e44e5a95f71664" }, "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, "mason-lspconfig": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, diff --git a/lua/barink/init.lua b/lua/barink/init.lua index 86db5db..8fea857 100644 --- a/lua/barink/init.lua +++ b/lua/barink/init.lua @@ -1,5 +1,4 @@ require("barink.vim") -require("barink.keys") local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ @@ -12,5 +11,5 @@ if not vim.loop.fs_stat(lazypath) then }) end vim.opt.rtp:prepend(lazypath) - +require("barink.keys") require("lazy").setup("barink.plugins") diff --git a/lua/barink/keys.lua b/lua/barink/keys.lua index d2ba03f..0edea92 100644 --- a/lua/barink/keys.lua +++ b/lua/barink/keys.lua @@ -21,16 +21,27 @@ vim.keymap.set('i', '', ':m .+1==gi', {noremap = true}) vim.keymap.set('i', '', ':m .-2==gi', {noremap = true}) -- Diagnostics ! -vim.keymap.set('n', '', function() require('trouble').toggle() end ) +vim.keymap.set('n', '', function() require('trouble').toggle('diagnostics') end ) vim.keymap.set('n', 'd', function () vim.diagnostic.open_float() end ) vim.keymap.set('n', 'dn', function () vim.diagnostic.goto_next() end ) vim.keymap.set('n', 'dp', function () vim.diagnostic.goto_prev() end ) -vim.keymap.set('n', '', function () vim.lsp.buf.code_action() end) +vim.keymap.set('n', 'ca', function () vim.lsp.buf.code_action() end) -- Debugging -vim.keymap.set('n', 'sb', function () require('dap').toggle_breakpoint() end ) -vim.keymap.set('n', 'db', function () require('dapui').toggle() end ) +vim.keymap.set('n', 'b', function () require('dap').toggle_breakpoint() end ) vim.keymap.set('n', '', function () print("Start debug session" ) require('dap').continue() end ) vim.keymap.set('n', '', function () require('dap').step_over() end ) vim.keymap.set('n', '', function () require('dap').step_into() end ) vim.keymap.set('n', '=',":Gen Generate") + +-- Easily hit escape in terminal mode. +vim.keymap.set("t", "", "") + +-- Open a terminal at the bottom of the screen with a fixed height. +vim.keymap.set("n", ",st", function() + vim.cmd.new() + vim.cmd.wincmd "J" + vim.api.nvim_win_set_height(0, 12) + vim.wo.winfixheight = true + vim.cmd.term() +end) diff --git a/lua/barink/plugins/dap.lua b/lua/barink/plugins/dap.lua index ac5c5e2..5ec7d1e 100644 --- a/lua/barink/plugins/dap.lua +++ b/lua/barink/plugins/dap.lua @@ -106,6 +106,20 @@ return { args = {'dap', '-l', '127.0.0.1:${port}'}, } } + local dap = require("dap") + local ui = require("dapui") + dap.listeners.before.attach.dapui_config = function() + ui.open() + end + dap.listeners.before.launch.dapui_config = function() + ui.open() + end + dap.listeners.before.event_terminated.dapui_config = function() + ui.close() + end + dap.listeners.before.event_exited.dapui_config = function() + ui.close() + end end } } diff --git a/lua/barink/plugins/lsp.lua b/lua/barink/plugins/lsp.lua index a73d11b..c8ff0b3 100644 --- a/lua/barink/plugins/lsp.lua +++ b/lua/barink/plugins/lsp.lua @@ -19,8 +19,11 @@ return version = "v2.*", }, {'mfussenegger/nvim-jdtls', dependencies = {'nvim-dap'}}, + "onsails/lspkind.nvim", }, config = function() + vim.opt.completeopt = { "menu", "menuone", "noselect", "preview"} + require("lspkind").init({}) require("mason").setup() require("mason-lspconfig").setup({ ensure_installed = { "lua_ls", "bashls", "rust_analyzer" } @@ -32,7 +35,16 @@ return enable_autosnippets = true, }) local cmp = require('cmp') + local lspkind = require("lspkind") cmp.setup({ + formatting = { + format = lspkind.cmp_format({ + mode = 'symbol', + maxwidth = 60, + ellipsis_char = '...', + show_labelDetails = true, + }), + }, snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) @@ -132,10 +144,21 @@ return gopls = true, intelephense = true, lua_ls = { - settings = { - Lua = { - diagnostics = { - globals = { 'vim'} + config = { + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + workspace = { + checkThirdParty= false, + library = { + vim.env.VIMRUNTIME + } + }, +-- diagnostics = { +-- globals = { 'vim'} +-- } } } } diff --git a/lua/barink/vim.lua b/lua/barink/vim.lua index 4f5a67a..e42b000 100644 --- a/lua/barink/vim.lua +++ b/lua/barink/vim.lua @@ -25,7 +25,7 @@ vim.g.netrw_browse_split = 0 vim.g.netrw_winsize = 25 vim.opt.completeopt = {'menu', 'menuone', 'noselect' } - +vim.opt.inccommand = 'split' vim.api.nvim_create_autocmd('LspAttach', { callback = function (args) local client = vim.lsp.get_client_by_id(args.data.client_id) From bd1e20813318516518768aa6419ad91ba5d51fc9 Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sat, 5 Oct 2024 23:51:35 +0200 Subject: [PATCH 3/5] Fix conform format on autosave --- lua/barink/plugins/conform.lua | 59 ++++++++++++++++------------------ 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/lua/barink/plugins/conform.lua b/lua/barink/plugins/conform.lua index cb8d16e..1a1b10a 100644 --- a/lua/barink/plugins/conform.lua +++ b/lua/barink/plugins/conform.lua @@ -1,36 +1,31 @@ return { "stevearc/conform.nvim", - event = { "BufWritePre"}, - cmd = { "ConformInfo"}, - opts = { - formatters_by_ft = { - php = { "pint"}, - lua = { "stylua"}, - javascript = { "prettierd", "prettier", stop_after_first = true }, - typescript = { "prettierd", "prettier", stop_after_first = true }, - java = { "clang-format", stop_after_first = true }, - }, - format_on_save = { timeout_ms = 500 }, - default_format_ops = { - lsp_format = "fallback" - }, - }, - config = function () - require("conform").setup() - -- Command to run async formatting - vim.api.nvim_create_user_command("Format", function(args) - local range = nil - if args.count ~= -1 then - local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] - range = { - start = { args.line1, 0 }, - ["end"] = { args.line2, end_line:len() }, - } - end - require("conform").format({ async = true, lsp_format = "fallback", range = range }) - end, { range = true }) - - + config = function() + require("conform").setup( + { + formatters_by_ft = { + php = { "pint" }, + lua = { "stylua" }, + javascript = { "prettierd", "prettier", stop_after_first = true }, + typescript = { "prettierd", "prettier", stop_after_first = true }, + java = { "clang-format", }, + cpp = { "clang-format", }, + }, + format_on_save = { + lsp_fallback = true, + }, + }) + -- Command to run async formatting + vim.api.nvim_create_user_command("Format", function(args) + local range = nil + if args.count ~= -1 then + local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] + range = { + start = { args.line1, 0 }, + ["end"] = { args.line2, end_line:len() }, + } + end + require("conform").format({ async = true, lsp_format = "fallback", range = range }) + end, { range = true }) end } - From a6c0657d702752f32089ba615aba457be98aec87 Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sun, 6 Oct 2024 17:04:11 +0200 Subject: [PATCH 4/5] Removing Which-key, adding a bunch of small improvments Highlight on yank gitsigns oil as default explorer --- lazy-lock.json | 1 + lua/barink/init.lua | 11 +- lua/barink/keys.lua | 81 ++++--- lua/barink/plugins/Oil.lua | 6 +- lua/barink/plugins/fidget.lua | 10 +- lua/barink/plugins/gitsigns.lua | 27 ++- lua/barink/plugins/lsp.lua | 358 +++++++++++++++---------------- lua/barink/plugins/which-key.lua | 15 -- lua/barink/vim.lua | 24 +-- 9 files changed, 289 insertions(+), 244 deletions(-) delete mode 100644 lua/barink/plugins/which-key.lua diff --git a/lazy-lock.json b/lazy-lock.json index ca3975a..8693e3e 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -9,6 +9,7 @@ "conform.nvim": { "branch": "master", "commit": "1a99fdc1d3aa9ccdf3021e67982a679a8c5c740c" }, "edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" }, "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, + "friendly-snippets": { "branch": "main", "commit": "00ba9dd3df89509f95437b8d595553707c46d5ea" }, "git-worktree.nvim": { "branch": "master", "commit": "f247308e68dab9f1133759b05d944569ad054546" }, "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, diff --git a/lua/barink/init.lua b/lua/barink/init.lua index 8fea857..190a1b1 100644 --- a/lua/barink/init.lua +++ b/lua/barink/init.lua @@ -12,4 +12,13 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) require("barink.keys") -require("lazy").setup("barink.plugins") +require("lazy").setup("barink.plugins" , { + root = vim.fn.stdpath("data") .. "/lazy", -- directory where plugins will be installed + -- leave nil when passing the spec as the first argument to setup() + change_detection = { + -- automatically check for config file changes and reload the ui + enabled = false, + notify = true, -- get a notification when changes are found + }, + +}) diff --git a/lua/barink/keys.lua b/lua/barink/keys.lua index 0edea92..5cf7110 100644 --- a/lua/barink/keys.lua +++ b/lua/barink/keys.lua @@ -5,43 +5,70 @@ vim.keymap.set('n', '', vim.cmd.UndotreeToggle) vim.keymap.set('n', 'p', [["_dP]]) vim.keymap.set('n', 'fa', vim.lsp.buf.format) vim.keymap.set('n', 'm', ":Mason") -vim.keymap.set('n', 'e',':Explore', {noremap = false, silent=true}) -vim.keymap.set('n', 'le',':Lexplore', {noremap = false, silent=true}) -vim.keymap.set('n', 'l', ':Neotree', {noremap = false, silent= true}) --- Move lines while in visual mode -vim.keymap.set('v', '', ':m \'>+1gv=gv', {noremap = true}) -vim.keymap.set('v', '', ':m \'<-2gv=gv', {noremap = true}) +vim.keymap.set('n', 'e', ':Explore', { noremap = false, silent = true }) +vim.keymap.set('n', 'le', ':Lexplore', { noremap = false, silent = true }) +vim.keymap.set('n', 'l', ':Neotree', { noremap = false, silent = true }) +-- Move lines while in visual mode +vim.keymap.set('v', '', ':m \'>+1gv=gv', { noremap = true }) +vim.keymap.set('v', '', ':m \'<-2gv=gv', { noremap = true }) --- Move lines while in normal mode -vim.keymap.set('n', '', ':m .+1==', {noremap = true}) -vim.keymap.set('n', '', ':m .-2==', {noremap = true}) +-- Move lines while in normal mode +vim.keymap.set('n', '', ':m .+1==', { noremap = true }) +vim.keymap.set('n', '', ':m .-2==', { noremap = true }) --- Move line in edit mode -vim.keymap.set('i', '', ':m .+1==gi', {noremap = true}) -vim.keymap.set('i', '', ':m .-2==gi', {noremap = true}) +-- Move line in edit mode +vim.keymap.set('i', '', ':m .+1==gi', { noremap = true }) +vim.keymap.set('i', '', ':m .-2==gi', { noremap = true }) +-- Simplified split navigation +vim.keymap.set('n', '', '') +vim.keymap.set('n', '', '') +vim.keymap.set('n', '', '') +vim.keymap.set('n', '', '') -- Diagnostics ! -vim.keymap.set('n', '', function() require('trouble').toggle('diagnostics') end ) -vim.keymap.set('n', 'd', function () vim.diagnostic.open_float() end ) -vim.keymap.set('n', 'dn', function () vim.diagnostic.goto_next() end ) -vim.keymap.set('n', 'dp', function () vim.diagnostic.goto_prev() end ) -vim.keymap.set('n', 'ca', function () vim.lsp.buf.code_action() end) +vim.keymap.set('n', '', function() require('trouble').toggle('diagnostics') end) +vim.keymap.set('n', 'd', function() vim.diagnostic.open_float() end) +vim.keymap.set('n', 'dn', function() vim.diagnostic.goto_next() end) +vim.keymap.set('n', 'dp', function() vim.diagnostic.goto_prev() end) +vim.keymap.set('n', 'ca', function() vim.lsp.buf.code_action() end) -- Debugging -vim.keymap.set('n', 'b', function () require('dap').toggle_breakpoint() end ) -vim.keymap.set('n', '', function () print("Start debug session" ) require('dap').continue() end ) -vim.keymap.set('n', '', function () require('dap').step_over() end ) -vim.keymap.set('n', '', function () require('dap').step_into() end ) +vim.keymap.set('n', 'b', function() require('dap').toggle_breakpoint() end) +vim.keymap.set('n', '', function() + print("Start debug session") + require('dap').continue() +end) +vim.keymap.set('n', '', function() require('dap').step_over() end) +vim.keymap.set('n', '', function() require('dap').step_into() end) -vim.keymap.set('n', '=',":Gen Generate") +vim.keymap.set('n', '=', ":Gen Generate") -- Easily hit escape in terminal mode. vim.keymap.set("t", "", "") -- Open a terminal at the bottom of the screen with a fixed height. vim.keymap.set("n", ",st", function() - vim.cmd.new() - vim.cmd.wincmd "J" - vim.api.nvim_win_set_height(0, 12) - vim.wo.winfixheight = true - vim.cmd.term() + vim.cmd.new() + vim.cmd.wincmd "J" + vim.api.nvim_win_set_height(0, 12) + vim.wo.winfixheight = true + vim.cmd.term() end) + +-- Open quickfix list +vim.keymap.set("n", "", "cnextzz") +vim.keymap.set("n", "", "cprevzz") + + +-- Go to next in location list +vim.keymap.set("n", "k", "lnextzz") +vim.keymap.set("n", "j", "lprevzz") + + +-- Highlight on yank +vim.api.nvim_create_autocmd("TextYankPost", { + desc = "Highlight when yanking text ", + group = vim.api.nvim_create_augroup('barink', { clear = true }), + callback = function() + vim.highlight.on_yank() + end +}) diff --git a/lua/barink/plugins/Oil.lua b/lua/barink/plugins/Oil.lua index a9acfc0..c878914 100644 --- a/lua/barink/plugins/Oil.lua +++ b/lua/barink/plugins/Oil.lua @@ -2,13 +2,13 @@ return { { "stevearc/oil.nvim", opt = { - default_file_explorer = false + default_file_explorer = true }, dependencies = { 'nvim-tree/nvim-web-devicons' }, - config = function () - vim.keymap.set("n", "-", "Oil", { desc= "Open parent directory"}) + config = function() + vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) end } } diff --git a/lua/barink/plugins/fidget.lua b/lua/barink/plugins/fidget.lua index 22332c8..b27cae3 100644 --- a/lua/barink/plugins/fidget.lua +++ b/lua/barink/plugins/fidget.lua @@ -1,8 +1,8 @@ return { - { - "j-hui/fidget.nvim", - opt = { + "j-hui/fidget.nvim", + config = function() + local opts = { } - } + require("fidget").setup(opts) + end } - diff --git a/lua/barink/plugins/gitsigns.lua b/lua/barink/plugins/gitsigns.lua index 4a7e525..0c57fd3 100644 --- a/lua/barink/plugins/gitsigns.lua +++ b/lua/barink/plugins/gitsigns.lua @@ -1,4 +1,29 @@ return { 'lewis6991/gitsigns.nvim', - opt = {} + config = function() + local opts = { + signs = { + add = { text = '+' }, + change = { text = "~" }, + delete = { text = "_" }, + topdelete = { text = "-" }, + changedelete = { text = "~" } + }, + signs_staged = { + add = { text = '+' }, + change = { text = "~" }, + delete = { text = "_" }, + topdelete = { text = "-" }, + changedelete = { text = "~" }, + untracked = { text = "*" }, + }, + signs_staged_enable = true, + signcolumn = true, + watch_gitdir = { + follow_files = true + }, + auto_attach = true + } + require("gitsigns").setup(opts) + end, } diff --git a/lua/barink/plugins/lsp.lua b/lua/barink/plugins/lsp.lua index c8ff0b3..5d49239 100644 --- a/lua/barink/plugins/lsp.lua +++ b/lua/barink/plugins/lsp.lua @@ -1,201 +1,201 @@ return - { - 'neovim/nvim-lspconfig', - dependencies = { - { - "folke/neoconf.nvim", - opts = {} - }, - "williamboman/mason-lspconfig", - "williamboman/mason.nvim", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "hrsh7th/cmp-cmdline", - "hrsh7th/nvim-cmp", - { - 'L3MON4D3/LuaSnip', - dependencies = 'hrsh7th/nvim-cmp', - version = "v2.*", - }, - {'mfussenegger/nvim-jdtls', dependencies = {'nvim-dap'}}, - "onsails/lspkind.nvim", +{ + 'neovim/nvim-lspconfig', + dependencies = { + { + "folke/neoconf.nvim", + opts = {} }, - config = function() - vim.opt.completeopt = { "menu", "menuone", "noselect", "preview"} - require("lspkind").init({}) - require("mason").setup() - require("mason-lspconfig").setup({ - ensure_installed = { "lua_ls", "bashls", "rust_analyzer" } - }) - local ls = require("luasnip") - ls.config.set_config({ - history = true, - updateevents = "TextChanged, TextChangedI", - enable_autosnippets = true, - }) - local cmp = require('cmp') - local lspkind = require("lspkind") - cmp.setup({ - formatting = { - format = lspkind.cmp_format({ - mode = 'symbol', - maxwidth = 60, - ellipsis_char = '...', - show_labelDetails = true, - }), - }, - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + "williamboman/mason-lspconfig", + "williamboman/mason.nvim", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + "hrsh7th/nvim-cmp", + { + 'L3MON4D3/LuaSnip', + dependencies = { + 'hrsh7th/nvim-cmp', + 'rafamadriz/friendly-snippets', + }, + version = "v2.*", + }, + { 'mfussenegger/nvim-jdtls', dependencies = { 'nvim-dap' } }, + "onsails/lspkind.nvim", + }, + config = function() + vim.opt.completeopt = { "menu", "menuone", "noselect", "preview" } + require("lspkind").init({}) + require("mason").setup() + require("mason-lspconfig").setup({ + ensure_installed = { "lua_ls", "bashls", "rust_analyzer" } + }) + local ls = require("luasnip") + ls.config.set_config({ + history = true, + updateevents = "TextChanged, TextChangedI", + enable_autosnippets = true, + }) + local cmp = require('cmp') + local lspkind = require("lspkind") + cmp.setup({ + formatting = { + format = lspkind.cmp_format({ + mode = 'symbol', + maxwidth = 60, + ellipsis_char = '...', + show_labelDetails = true, }), - sources = cmp.config.sources({ - { name = 'nvim_lsp', keyword_length = 1 }, - { name = 'path' }, - }, { - { name = 'buffer', keyword_length = 2 }, - }), - window = { - documentation = cmp.config.window.bordered() - }, + }, + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp', keyword_length = 1 }, + { name = 'luasnip' }, + { name = 'path' }, + { name = 'buffer', keyword_length = 2 }, + }), + window = { + documentation = cmp.config.window.bordered() + }, + }) + + -- Set configuration for specific filetype. + cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). + }, { + { name = 'buffer' }, }) + }) - -- Set configuration for specific filetype. - cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). - }, { - { name = 'buffer' }, - }) - }) + cmp.setup.filetype({ "sql" }, { + sources = { + { name = "vim-dadbod-completion" }, + { name = "buffer" }, + } + }) + -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). + -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). + cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' }, + { name = 'buffer' } + }, { + { name = 'cmdline' } + }), + matching = { disallow_symbol_nonprefix_matching = false } + }) - cmp.setup.filetype({ "sql"}, { - sources = { - { name = "vim-dadbod-completion"}, - { name = "buffer"} , + + vim.keymap.set({ "i", "s" }, "", function() ls.expand() end, { silent = true }) + vim.keymap.set({ "i", "s" }, "", function() ls.jump(1) end, { silent = true }) + vim.keymap.set({ "i", "s" }, "", function() ls.jump(-1) end, { silent = true }) + vim.keymap.set({ "i", "s" }, "", function() + if ls.choice_active() then + ls.change_choice(1) + end + end, { silent = true }) + + require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/lua/barink/snippets" }) + require("luasnip.loaders.from_vscode").lazy_load() + -- Set up lspconfig. + local capabilities = require("cmp_nvim_lsp").default_capabilities() + local lsp = require("lspconfig") + + local language_server = { + asm_lsp = true, + mojo = true, + zls = true, + emmet_language_server = true, + rust_analyzer = true, + --gdtoolkit = { flags = { debounce_text_changes = 150 }}, + jdtls = true, + pylsp = true, + phpactor = { + init_options = { + ["language_server_phpstan.enabled"] = false, + ["language_server_psalm.enabled"] = false, } - }) - -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = 'path' }, - { name = 'buffer' } - }, { - { name = 'cmdline' } - }), - matching = { disallow_symbol_nonprefix_matching = false } - }) - - - vim.keymap.set({"i", "s"}, "", function() ls.expand() end, {silent = true}) - vim.keymap.set({"i", "s"}, "", function() ls.jump(1) end, {silent = true }) - vim.keymap.set({"i", "s"}, "", function() ls.jump(-1) end, {silent = true}) - vim.keymap.set({"i", "s"}, "", function() - if ls.choice_active() then - ls.change_choice(1) - end - end, {silent = true}) - - require("luasnip.loaders.from_lua").load({paths= "~/.config/nvim/lua/barink/snippets"}) - - - -- Set up lspconfig. - local capabilities = require("cmp_nvim_lsp").default_capabilities() - local lsp = require("lspconfig") - - local language_server = { - asm_lsp= true, - mojo = true, - zls = true, - emmet_language_server = true, - rust_analyzer = true, - gdtoolkit = { flags = { debounce_text_changes = 150 }}, - jdtls = true, - pylsp = true, - phpactor = { - init_options = { - ["language_server_phpstan.enabled"] = false, - ["language_server_psalm.enabled"] = false, - } - }, - clangd = { + }, + clangd = { capabilities = capabilities, root_dir = require('lspconfig').util.root_pattern("compile_commands.json", "compile_flags.txt", ".git"), - cmd = {"clangd"}, - filetypes = { "c", "cpp", "objc", "objcpp"}, + cmd = { "clangd" }, + filetypes = { "c", "cpp", "objc", "objcpp" }, settings = { clangd = { compilationDatabasePath = "compile-commands.json", - }, - } - }, - ts_ls = true, - gopls = true, - intelephense = true, - lua_ls = { - config = { - settings = { - Lua = { - runtime = { - version = 'LuaJIT', - }, - workspace = { - checkThirdParty= false, - library = { - vim.env.VIMRUNTIME - } - }, --- diagnostics = { --- globals = { 'vim'} --- } + }, + } + }, + ts_ls = true, + gopls = true, + intelephense = true, + lua_ls = { + config = { + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME + } + }, + diagnostics = { + globals = { 'vim' } } } } - }, - } + } + }, + } - for name, config in pairs(language_server) do - if config == true then - config = {} - end - config = vim.tbl_deep_extend("force", {}, { capabilities = capabilities }, config) - lsp[name].setup({}) + for name, config in pairs(language_server) do + if config == true then + config = {} end - vim.api.nvim_create_autocmd("LspAttach", { - callback = function (args) - local client = assert(vim.lsp.get_client_by_id(args.data.client_id), "must have valid client") - - local settings = language_server[client.name] - if type(settings) ~= "table" then - settings = {} - end - - local builtin = require "telescope.builtin" - - vim.opt_local.omnifunc = "v:lua.vim.lsp.omnifunc" - vim.keymap.set("n", "gd", builtin.lsp_definitions, {buffer = -1}) - vim.keymap.set("n", "gr", builtin.lsp_references, {buffer = -1}) - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, {buffer = -1}) - vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, {buffer = -1}) - vim.keymap.set("n", "K", vim.lsp.buf.hover, {buffer = -1}) - - vim.keymap.set("n", "cr", vim.lsp.buf.rename, {buffer =-1}) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {buffer = -1}) - vim.keymap.set("n", "wd", builtin.lsp_document_symbols, {buffer = -1}) - + config = vim.tbl_deep_extend("force", {}, { capabilities = capabilities }, config) + lsp[name].setup({}) + end + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local client = assert(vim.lsp.get_client_by_id(args.data.client_id), "must have valid client") + local settings = language_server[client.name] + if type(settings) ~= "table" then + settings = {} end + + local builtin = require "telescope.builtin" + + vim.opt_local.omnifunc = "v:lua.vim.lsp.omnifunc" + vim.keymap.set("n", "gd", builtin.lsp_definitions, { buffer = -1 }) + vim.keymap.set("n", "gr", builtin.lsp_references, { buffer = -1 }) + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = -1 }) + vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, { buffer = -1 }) + vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = -1 }) + + vim.keymap.set("n", "cr", vim.lsp.buf.rename, { buffer = -1 }) + vim.keymap.set("n", "ca", vim.lsp.buf.code_action, { buffer = -1 }) + vim.keymap.set("n", "wd", builtin.lsp_document_symbols, { buffer = -1 }) + end }) - end, + end, } diff --git a/lua/barink/plugins/which-key.lua b/lua/barink/plugins/which-key.lua deleted file mode 100644 index 4696062..0000000 --- a/lua/barink/plugins/which-key.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - "folke/which-key.nvim", - event = "VeryLazy", - opts = { - }, - keys = { - { - "?", - function() - require("which-key").show({global = false}) - end, - desc = "Buffer Local Keymaps (which-key)", - } - } -} diff --git a/lua/barink/vim.lua b/lua/barink/vim.lua index e42b000..7d263c1 100644 --- a/lua/barink/vim.lua +++ b/lua/barink/vim.lua @@ -21,29 +21,27 @@ vim.opt.termguicolors = true vim.opt.scrolloff = 8 -vim.g.netrw_browse_split = 0 -vim.g.netrw_winsize = 25 - -vim.opt.completeopt = {'menu', 'menuone', 'noselect' } +vim.opt.completeopt = { 'menu', 'menuone', 'noselect' } vim.opt.inccommand = 'split' vim.api.nvim_create_autocmd('LspAttach', { - callback = function (args) + callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) if client.server_capabilities.hoverProvider then - vim.keymap.set('n', 'K', vim.lsp.buf.hover, {buffer = args.buf}) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = args.buf }) end end, }) +vim.g.netrw_browse_split = 0 +vim.g.netrw_winsize = 25 + + --[[ --- Run zig test on save --- TODO: fix vim.cmd call --- TODO: only do this when a zig test file is open +-- Run zig test on save +-- TODO: fix vim.cmd call +-- TODO: only do this when a zig test file is open vim.api.nvim_create_autocmd('BufWritePost' , { callback = function () vim.cmd{cmd = '!zig' , args= {'test', vim.fn.expand('%')} } end -})]]-- - - - +})]] -- From 9db9a8f59427d52bf38f5cff065bed6f0fea0d3e Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sun, 6 Oct 2024 19:41:15 +0200 Subject: [PATCH 5/5] Correcting After folder --- after/ftplugin/cpp.lua | 5 +++ after/ftplugin/php.lua | 4 +++ after/plugin/colors.lua | 10 ++++++ lazy-lock.json | 2 +- lua/barink/after/plugin/colors.lua | 10 ------ lua/barink/plugins/lsp.lua | 2 +- lua/barink/plugins/theme.lua | 49 ++++++++++++++---------------- 7 files changed, 44 insertions(+), 38 deletions(-) create mode 100644 after/ftplugin/cpp.lua create mode 100644 after/ftplugin/php.lua create mode 100644 after/plugin/colors.lua delete mode 100644 lua/barink/after/plugin/colors.lua diff --git a/after/ftplugin/cpp.lua b/after/ftplugin/cpp.lua new file mode 100644 index 0000000..268abf9 --- /dev/null +++ b/after/ftplugin/cpp.lua @@ -0,0 +1,5 @@ +local tab_spacing = 2 +vim.opt.tabstop = tab_spacing +vim.opt.softtabstop = tab_spacing +vim.opt.shiftwidth = tab_spacing +vim.opt_local.makeprg = 'msbuild .\\game.vcxproj /p:Configuration=Release /p:Platform=x64' diff --git a/after/ftplugin/php.lua b/after/ftplugin/php.lua new file mode 100644 index 0000000..e8f0c0c --- /dev/null +++ b/after/ftplugin/php.lua @@ -0,0 +1,4 @@ +vim.keymap.set("n", "pa", function() + package.loaded["php.artisan"] = nil + require("php.artisan").telescope_select_artisan() +end) diff --git a/after/plugin/colors.lua b/after/plugin/colors.lua new file mode 100644 index 0000000..c0ac275 --- /dev/null +++ b/after/plugin/colors.lua @@ -0,0 +1,10 @@ +function ColorMyPencils(color) + color = color or "catppuccin" + vim.cmd.colorscheme(color) + + -- make transparent BG + vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) +end + +ColorMyPencils() diff --git a/lazy-lock.json b/lazy-lock.json index 8693e3e..51e76b0 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -36,6 +36,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "master", "commit": "cb3f98d935842836cc115e8c9e4b38c1380fbb6b" }, "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, + "tokyonight.nvim": { "branch": "main", "commit": "2c85fad417170d4572ead7bf9fdd706057bd73d7" }, "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, "twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" }, "undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" }, @@ -44,6 +45,5 @@ "vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" }, "vim-dadbod-ui": { "branch": "master", "commit": "f29c85ab42861c6ef683289b0c6a51e0d436dcf6" }, "vim-fugitive": { "branch": "master", "commit": "d4877e54cef67f5af4f950935b1ade19ed6b7370" }, - "which-key.nvim": { "branch": "main", "commit": "fb070344402cfc662299d9914f5546d840a22126" }, "zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" } } diff --git a/lua/barink/after/plugin/colors.lua b/lua/barink/after/plugin/colors.lua deleted file mode 100644 index 89836e9..0000000 --- a/lua/barink/after/plugin/colors.lua +++ /dev/null @@ -1,10 +0,0 @@ -function ColorMyPencils(color) - color = color or "tokyonight" - vim.cmd.colorscheme(color) - - -- make transparent BG - vim.api.nvim_set_hl(0, "Normal", {bg = "none"}) - vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none"}) -end - -ColorMyPencils() diff --git a/lua/barink/plugins/lsp.lua b/lua/barink/plugins/lsp.lua index 5d49239..bcb131c 100644 --- a/lua/barink/plugins/lsp.lua +++ b/lua/barink/plugins/lsp.lua @@ -56,7 +56,7 @@ return mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), + [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. }), diff --git a/lua/barink/plugins/theme.lua b/lua/barink/plugins/theme.lua index 6c5e379..d6d65de 100644 --- a/lua/barink/plugins/theme.lua +++ b/lua/barink/plugins/theme.lua @@ -1,30 +1,27 @@ --- return { --- "folke/tokyonight.nvim", --- lazy = false, --- priority = 1000, --- opts = {}, --- config = function() --- require("tokyonight").setup({ --- style = "night", --- light_style = "day", --- transparent = true, --- terminal_colors = true, --- dim_inactive = false, --- lualine_bold = false, --- }) --- --- vim.cmd [[colorscheme tokyonight]] --- end --- } - return { { - "catppuccin/nvim", - name="catppuccin", - priority=1000, - config = function () - require("catppuccin").setup() - vim.cmd.colorscheme('catppuccin') - end + "folke/tokyonight.nvim", + lazy = false, + priority = 1000, + opts = {}, + config = function() + require("tokyonight").setup({ + style = "night", + light_style = "day", + transparent = true, + terminal_colors = true, + dim_inactive = false, + lualine_bold = false, + }) + end + }, + { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + config = function() + require("catppuccin").setup() + vim.cmd.colorscheme('catppuccin') + end } }