From 3d5c70daf07f49a62d35c05cdcfc2529293b6310 Mon Sep 17 00:00:00 2001 From: s-prechtl Date: Wed, 19 Mar 2025 11:54:21 +0100 Subject: [PATCH] feat: markview jdtls --- init.lua | 12 ++- lua/custom/plugins/dap.lua | 46 +++++----- lua/custom/plugins/markview.lua | 9 ++ lua/kickstart/plugins/debug.lua | 158 ++++++++++++++++---------------- 4 files changed, 122 insertions(+), 103 deletions(-) create mode 100644 lua/custom/plugins/markview.lua diff --git a/init.lua b/init.lua index 7e74d03..e047e99 100644 --- a/init.lua +++ b/init.lua @@ -134,6 +134,17 @@ vim.opt.rtp:prepend(lazypath) -- require('lazy').setup { 'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically + { + "mfussenegger/nvim-jdtls", + ft = { "java" }, -- Load only for Java files + config = function() + local config = { + cmd = { "jdtls" }, + root_dir = vim.fs.dirname(vim.fs.find({ "gradlew", ".git", "mvnw" }, { upward = true })[1]), + } + require("jdtls").start_or_attach(config) + end, + }, -- Use `opts = {}` to force a plugin to be loaded. -- -- This is equivalent to: @@ -392,7 +403,6 @@ require('lazy').setup { "clangd", "--pch-storage=memory", "--completion-style=detailed", - "--header-insertion=never", "--background-index", "--all-scopes-completion", "--header-insertion-decorators", diff --git a/lua/custom/plugins/dap.lua b/lua/custom/plugins/dap.lua index 160b867..5e9a98f 100644 --- a/lua/custom/plugins/dap.lua +++ b/lua/custom/plugins/dap.lua @@ -34,29 +34,29 @@ return { stopAtBeginningOfMainSubprogram = true, debugmode = "file", }, - -- { - -- name = "Select and attach to process", - -- type = "gdb", - -- request = "attach", - -- program = function() - -- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - -- end, - -- pid = function() - -- local name = vim.fn.input('Executable name (filter): ') - -- return require("dap.utils").pick_process({ filter = name }) - -- end, - -- cwd = '${workspaceFolder}' - -- }, - -- { - -- name = 'Attach to gdbserver :1234', - -- type = 'gdb', - -- request = 'attach', - -- target = 'localhost:1234', - -- program = function() - -- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - -- end, - -- cwd = '${workspaceFolder}' - -- }, + { + name = "Select and attach to process", + type = "gdb", + request = "attach", + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') + end, + pid = function() + local name = vim.fn.input('Executable name (filter): ') + return require("dap.utils").pick_process({ filter = name }) + end, + cwd = '${workspaceFolder}' + }, + { + name = 'Attach to gdbserver :1234', + type = 'gdb', + request = 'attach', + target = 'localhost:1234', + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') + end, + cwd = '${workspaceFolder}' + }, } end diff --git a/lua/custom/plugins/markview.lua b/lua/custom/plugins/markview.lua new file mode 100644 index 0000000..456e8f9 --- /dev/null +++ b/lua/custom/plugins/markview.lua @@ -0,0 +1,9 @@ +return { + "OXY2DEV/markview.nvim", + lazy = false, + opts = { + preview = { + icon_provider = "internal", -- "mini" or "devicons" + } + }, +}; diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua index 7fc783f..018ac8f 100644 --- a/lua/kickstart/plugins/debug.lua +++ b/lua/kickstart/plugins/debug.lua @@ -6,82 +6,82 @@ -- be extended to other languages as well. That's why it's called -- kickstart.nvim and not kitchen-sink.nvim ;) -return { - -- NOTE: Yes, you can install new plugins here! - 'mfussenegger/nvim-dap', - -- NOTE: And you can specify dependencies as well - dependencies = { - -- Creates a beautiful debugger UI - 'rcarriga/nvim-dap-ui', - - -- Installs the debug adapters for you - 'williamboman/mason.nvim', - 'jay-babu/mason-nvim-dap.nvim', - - -- Add your own debuggers here - 'leoluz/nvim-dap-go', - }, - config = function() - local dap = require 'dap' - local dapui = require 'dapui' - - require('mason-nvim-dap').setup { - -- Makes a best effort to setup the various debuggers with - -- reasonable debug configurations - automatic_setup = true, - - -- You can provide additional configuration to the handlers, - -- see mason-nvim-dap README for more information - handlers = {}, - - -- You'll need to check that you have the required things installed - -- online, please don't ask me how to install them :) - ensure_installed = { - -- Update this to ensure that you have the debuggers for the langs you want - 'delve', - }, - } - - -- Basic debugging keymaps, feel free to change to your liking! - vim.keymap.set('n', '', dap.continue, { desc = 'Debug: Start/Continue' }) - vim.keymap.set('n', '', dap.step_into, { desc = 'Debug: Step Into' }) - vim.keymap.set('n', '', dap.step_over, { desc = 'Debug: Step Over' }) - vim.keymap.set('n', '', dap.step_out, { desc = 'Debug: Step Out' }) - vim.keymap.set('n', 'b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' }) - vim.keymap.set('n', 'B', function() - dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') - end, { desc = 'Debug: Set Breakpoint' }) - - -- Dap UI setup - -- For more information, see |:help nvim-dap-ui| - dapui.setup { - -- Set icons to characters that are more likely to work in every terminal. - -- Feel free to remove or use ones that you like more! :) - -- Don't feel like these are good choices. - icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, - controls = { - icons = { - pause = '⏸', - play = '▶', - step_into = '⏎', - step_over = '⏭', - step_out = '⏮', - step_back = 'b', - run_last = '▶▶', - terminate = '⏹', - disconnect = '⏏', - }, - }, - } - - -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. - vim.keymap.set('n', '', dapui.toggle, { desc = 'Debug: See last session result.' }) - - dap.listeners.after.event_initialized['dapui_config'] = dapui.open - dap.listeners.before.event_terminated['dapui_config'] = dapui.close - dap.listeners.before.event_exited['dapui_config'] = dapui.close - - -- Install golang specific config - require('dap-go').setup() - end, -} +-- return { +-- -- NOTE: Yes, you can install new plugins here! +-- 'mfussenegger/nvim-dap', +-- -- NOTE: And you can specify dependencies as well +-- dependencies = { +-- -- Creates a beautiful debugger UI +-- 'rcarriga/nvim-dap-ui', +-- +-- -- Installs the debug adapters for you +-- 'williamboman/mason.nvim', +-- 'jay-babu/mason-nvim-dap.nvim', +-- +-- -- Add your own debuggers here +-- 'leoluz/nvim-dap-go', +-- }, +-- config = function() +-- local dap = require 'dap' +-- local dapui = require 'dapui' +-- +-- require('mason-nvim-dap').setup { +-- -- Makes a best effort to setup the various debuggers with +-- -- reasonable debug configurations +-- automatic_setup = true, +-- +-- -- You can provide additional configuration to the handlers, +-- -- see mason-nvim-dap README for more information +-- handlers = {}, +-- +-- -- You'll need to check that you have the required things installed +-- -- online, please don't ask me how to install them :) +-- ensure_installed = { +-- -- Update this to ensure that you have the debuggers for the langs you want +-- 'delve', +-- }, +-- } +-- +-- -- Basic debugging keymaps, feel free to change to your liking! +-- vim.keymap.set('n', '', dap.continue, { desc = 'Debug: Start/Continue' }) +-- vim.keymap.set('n', '', dap.step_into, { desc = 'Debug: Step Into' }) +-- vim.keymap.set('n', '', dap.step_over, { desc = 'Debug: Step Over' }) +-- vim.keymap.set('n', '', dap.step_out, { desc = 'Debug: Step Out' }) +-- vim.keymap.set('n', 'b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' }) +-- vim.keymap.set('n', 'B', function() +-- dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') +-- end, { desc = 'Debug: Set Breakpoint' }) +-- +-- -- Dap UI setup +-- -- For more information, see |:help nvim-dap-ui| +-- dapui.setup { +-- -- Set icons to characters that are more likely to work in every terminal. +-- -- Feel free to remove or use ones that you like more! :) +-- -- Don't feel like these are good choices. +-- icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, +-- controls = { +-- icons = { +-- pause = '⏸', +-- play = '▶', +-- step_into = '⏎', +-- step_over = '⏭', +-- step_out = '⏮', +-- step_back = 'b', +-- run_last = '▶▶', +-- terminate = '⏹', +-- disconnect = '⏏', +-- }, +-- }, +-- } +-- +-- -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. +-- vim.keymap.set('n', '', dapui.toggle, { desc = 'Debug: See last session result.' }) +-- +-- dap.listeners.after.event_initialized['dapui_config'] = dapui.open +-- dap.listeners.before.event_terminated['dapui_config'] = dapui.close +-- dap.listeners.before.event_exited['dapui_config'] = dapui.close +-- +-- -- Install golang specific config +-- require('dap-go').setup() +-- end, +-- }