diff --git a/vim/.vim/lua/plugins/cmp.lua b/vim/.vim/lua/plugins/cmp.lua index f1ed1fb..04a2048 100644 --- a/vim/.vim/lua/plugins/cmp.lua +++ b/vim/.vim/lua/plugins/cmp.lua @@ -18,21 +18,22 @@ return { "hrsh7th/nvim-cmp", event = { "InsertEnter", "CmdlineEnter" }, dependencies = { + "Exafunction/codeium.nvim", + "FelipeLema/cmp-async-path", + "amarakon/nvim-cmp-buffer-lines", + "chrisgrieser/cmp-nerdfont", + "dmitmel/cmp-cmdline-history", "f3fora/cmp-spell", "hrsh7th/cmp-buffer", - "amarakon/nvim-cmp-buffer-lines", "hrsh7th/cmp-calc", - "onsails/lspkind.nvim", "hrsh7th/cmp-cmdline", - "Exafunction/codeium.nvim", "hrsh7th/cmp-emoji", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp-document-symbol", "hrsh7th/cmp-nvim-lsp-signature-help", - "dmitmel/cmp-cmdline-history", "hrsh7th/cmp-nvim-lua", - "FelipeLema/cmp-async-path", "lukas-reineke/cmp-under-comparator", + "onsails/lspkind.nvim", "ray-x/cmp-treesitter", }, config = function() @@ -77,6 +78,7 @@ return { { name = "luasnip", priority = 8 }, { name = "nvim_lsp", priority = 7 }, { name = "async_path" }, + { name = "nerdfont" }, { name = "treesitter" }, { name = "buffer" }, { name = "calc" }, @@ -103,16 +105,18 @@ return { format = lspkind.cmp_format({ menu = { async_path = " path", - buffer = " Buf", + buffer = " Buf", cmdline = " cmd", codeium = "󰚩 Codeium", - crates = " rust", + crates = " rust", luasnip = " snip", + buganizer = " Buganizer", + nerdfont = "󰊪 nerdfont", nvim_ciderlsp = "󰚩 Cider", - analysislsp = "? analysislsp", - nvim_lsp = " LSP", + analysislsp = "󰟌 analysislsp", + nvim_lsp = " LSP", nvim_lua = " lua", - treesitter = " ts", + treesitter = "󰙅 ts", }, }), }, diff --git a/vim/.vim/lua/plugins/dap.lua b/vim/.vim/lua/plugins/dap.lua index 41ec56d..7d03601 100644 --- a/vim/.vim/lua/plugins/dap.lua +++ b/vim/.vim/lua/plugins/dap.lua @@ -1,84 +1,113 @@ return { - "mfussenegger/nvim-dap", - dependencies = { - "rcarriga/nvim-dap-ui", - "nvim-telescope/telescope-dap.nvim", + { + "mfussenegger/nvim-jdtls", + config = function() end, }, - keys = { - { "do", ":lua require'dapui'.open()" }, - -- { "", ":lua require'dap'.continue()" }, - { "dl", ":lua require'dap'.run_last()" }, - { "db", ":lua require'dap'.toggle_breakpoint()" }, - { "dB", ":lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))" }, - { "dlp", ":lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))" }, - { "dr", ":lua require'dap'.repl.open()" }, - { "dt", ":Telescope dap configurations" }, - }, - config = function() - require("telescope").load_extension("dap") - local dap = require("dap") - dap.adapters.java = function(callback) - -- FIXME: - -- Here a function needs to trigger the `vscode.java.startDebugSession` LSP command - -- The response to the command must be the `port` used below - callback({ + { + "mfussenegger/nvim-dap", + dependencies = { + "rcarriga/nvim-dap-ui", + "nvim-telescope/telescope-dap.nvim", + }, + keys = { + { "do", ":lua require'dapui'.open()" }, + -- { "", ":lua require'dap'.continue()" }, + { "dl", ":lua require'dap'.run_last()" }, + { "db", ":lua require'dap'.toggle_breakpoint()" }, + { "dB", ":lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))" }, + { "dlp", ":lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))" }, + { "dr", ":lua require'dap'.repl.open()" }, + { "dt", ":Telescope dap configurations" }, + }, + config = function() + require("telescope").load_extension("dap") + local dap = require("dap") + dap.adapters.java = {} + + dap.adapters.godot = { type = "server", host = "127.0.0.1", - port = port, + port = 6006, + } + + dap.configurations.java = { + { + type = "java", + request = "attach", + mode = "remote", + name = "Java - Attach Remote", + cwd = "${workspaceFolder}", + hostName = "127.0.0.1", + port = 5005, + }, + } + dap.configurations.gdscript = { + { + name = "Godot - Launch Project", + type = "godot", + request = "launch", + project = "${workspaceFolder}", + additional_options = "", + }, + { + name = "Godot - Launch Current File", + type = "godot", + request = "launch", + scene = "current", + project = "${workspaceFolder}", + additional_options = "", + }, + { + name = "Godot - Attach to Godot", + type = "godot", + request = "attach", + address = "127.0.0.1", + port = 6007, + }, + } + + dap.configurations.lua = { + { + type = "nlua", + request = "attach", + name = "Attach to running Neovim instance", + host = function() + local value = vim.fn.input("Host [127.0.0.1]: ") + if value ~= "" then + return value + end + return "127.0.0.1" + end, + port = function() + local val = tonumber(vim.fn.input("Port: ")) + assert(val, "Please provide a port number") + return val + end, + }, + } + + -- vim.fn.sign_define('DapBreakpoint', { text = ' ', texthl = 'DapBreakpoint' }) + -- vim.fn.sign_define('DapBreakpointCondition', { text = ' ', texthl = 'DapBreakpointCondition' }) + -- vim.fn.sign_define('DapBreakpointRejected', { text = ' ', texthl = 'DapBreakpointRejected' }) + vim.fn.sign_define("DapLogPoint", { text = " ", texthl = "DapLogPoint" }) + vim.fn.sign_define("DapStopped", { + text = " ", + texthl = "DapStopped", + linehl = "DapStoppedLine", }) - end - dap.adapters.godot = { - type = "server", - host = "127.0.0.1", - port = 6006, - } - - dap.configurations.java = { - { - type = "java", - request = "attach", - name = "Java - Attach Remote", - hostName = "127.0.0.1", - port = 5005, - }, - } - dap.configurations.gdscript = { - { - name = "Godot - Launch Project", - type = "godot", - request = "launch", - project = "${workspaceFolder}", - additional_options = "", - }, - { - name = "Godot - Launch Current File", - type = "godot", - request = "launch", - scene = "current", - project = "${workspaceFolder}", - additional_options = "", - }, - { - name = "Godot - Attach to Godot", - type = "godot", - request = "attach", - address = "127.0.0.1", - port = 6007, - }, - } - - local dapui = require("dapui") - vim.cmd("set mouse=n") - dapui.setup() - dap.listeners.after.event_initialized["dapui_config"] = function() - dapui.open() - end - dap.listeners.before.event_terminated["dapui_config"] = function() - dapui.close() - end - dap.listeners.before.event_exited["dapui_config"] = function() - dapui.close() - end - end, + local dapui = require("dapui") + vim.cmd("set mouse=n") + dapui.setup() + dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() + end + dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() + end + dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() + end + end, + }, } diff --git a/vim/.vim/lua/plugins/harpoon.lua b/vim/.vim/lua/plugins/harpoon.lua new file mode 100644 index 0000000..8baf129 --- /dev/null +++ b/vim/.vim/lua/plugins/harpoon.lua @@ -0,0 +1,30 @@ +return { + "ThePrimeagen/harpoon", + -- branch = "harpoon2" + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local harpoon = require("harpoon") + + -- REQUIRED + harpoon:setup() + vim.keymap.set("n", "h", function() + harpoon:list():append() + end) + vim.keymap.set("n", "", function() + harpoon.ui:toggle_quick_menu(harpoon:list()) + end) + + -- vim.keymap.set("n", "", function() + -- harpoon:list():select(1) + -- end) + -- vim.keymap.set("n", "", function() + -- harpoon:list():select(2) + -- end) + -- vim.keymap.set("n", "", function() + -- harpoon:list():select(3) + -- end) + -- vim.keymap.set("n", "", function() + -- harpoon:list():select(4) + -- end) + end, +} diff --git a/vim/.vim/lua/plugins/mason.lua b/vim/.vim/lua/plugins/mason.lua index d097e25..be2dbad 100644 --- a/vim/.vim/lua/plugins/mason.lua +++ b/vim/.vim/lua/plugins/mason.lua @@ -25,6 +25,7 @@ return { "omnisharp_mono", "tsserver", "gopls", + "markdown_lint", "docker_compose_language_service", "dockerls", "graphql", diff --git a/vim/.vim/lua/plugins/nvim-treesitter.lua b/vim/.vim/lua/plugins/nvim-treesitter.lua index 7c596b7..80018f1 100644 --- a/vim/.vim/lua/plugins/nvim-treesitter.lua +++ b/vim/.vim/lua/plugins/nvim-treesitter.lua @@ -5,10 +5,10 @@ return { config = function() require("treesitter-context").setup({ enable = true, -- Enable this plugin (Can be enabled/disabled later via commands) - max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit. + max_lines = 7, -- How many lines the window should span. Values <= 0 mean no limit. min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit. line_numbers = true, - multiline_threshold = 20, -- Maximum number of lines to show for a single context + multiline_threshold = 7, -- Maximum number of lines to show for a single context trim_scope = "outer", -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer' mode = "cursor", -- Line used to calculate context. Choices: 'cursor', 'topline' -- Separator between context and content. Should be a single character string, like '-'. diff --git a/vim/.vim/lua/plugins/telescope.lua b/vim/.vim/lua/plugins/telescope.lua index 9b066f5..231cd66 100644 --- a/vim/.vim/lua/plugins/telescope.lua +++ b/vim/.vim/lua/plugins/telescope.lua @@ -32,6 +32,7 @@ end local keys = { { "ts", "lua live_grep()", desc = "Search in CWD" }, + { "tk", "Telescope Keymaps", desc = "Search Keymaps" }, { "", "lua find_files()", desc = "Find Files in CWD" }, { "tf", "lua find_files()", desc = "Find Files in CWD" }, { "tf.", "lua vim.error('use e')", desc = "Find Files in Buffer Directory" },