feat: markview jdtls

This commit is contained in:
s-prechtl 2025-03-19 11:54:21 +01:00
parent f46ca719c8
commit 3d5c70daf0
4 changed files with 122 additions and 103 deletions

View file

@ -134,6 +134,17 @@ vim.opt.rtp:prepend(lazypath)
-- --
require('lazy').setup { require('lazy').setup {
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically '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. -- Use `opts = {}` to force a plugin to be loaded.
-- --
-- This is equivalent to: -- This is equivalent to:
@ -392,7 +403,6 @@ require('lazy').setup {
"clangd", "clangd",
"--pch-storage=memory", "--pch-storage=memory",
"--completion-style=detailed", "--completion-style=detailed",
"--header-insertion=never",
"--background-index", "--background-index",
"--all-scopes-completion", "--all-scopes-completion",
"--header-insertion-decorators", "--header-insertion-decorators",

View file

@ -34,29 +34,29 @@ return {
stopAtBeginningOfMainSubprogram = true, stopAtBeginningOfMainSubprogram = true,
debugmode = "file", debugmode = "file",
}, },
-- { {
-- name = "Select and attach to process", name = "Select and attach to process",
-- type = "gdb", type = "gdb",
-- request = "attach", request = "attach",
-- program = function() program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end, end,
-- pid = function() pid = function()
-- local name = vim.fn.input('Executable name (filter): ') local name = vim.fn.input('Executable name (filter): ')
-- return require("dap.utils").pick_process({ filter = name }) return require("dap.utils").pick_process({ filter = name })
-- end, end,
-- cwd = '${workspaceFolder}' cwd = '${workspaceFolder}'
-- }, },
-- { {
-- name = 'Attach to gdbserver :1234', name = 'Attach to gdbserver :1234',
-- type = 'gdb', type = 'gdb',
-- request = 'attach', request = 'attach',
-- target = 'localhost:1234', target = 'localhost:1234',
-- program = function() program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end, end,
-- cwd = '${workspaceFolder}' cwd = '${workspaceFolder}'
-- }, },
} }
end end

View file

@ -0,0 +1,9 @@
return {
"OXY2DEV/markview.nvim",
lazy = false,
opts = {
preview = {
icon_provider = "internal", -- "mini" or "devicons"
}
},
};

View file

@ -6,82 +6,82 @@
-- be extended to other languages as well. That's why it's called -- be extended to other languages as well. That's why it's called
-- kickstart.nvim and not kitchen-sink.nvim ;) -- kickstart.nvim and not kitchen-sink.nvim ;)
return { -- return {
-- NOTE: Yes, you can install new plugins here! -- -- NOTE: Yes, you can install new plugins here!
'mfussenegger/nvim-dap', -- 'mfussenegger/nvim-dap',
-- NOTE: And you can specify dependencies as well -- -- NOTE: And you can specify dependencies as well
dependencies = { -- dependencies = {
-- Creates a beautiful debugger UI -- -- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui', -- 'rcarriga/nvim-dap-ui',
--
-- Installs the debug adapters for you -- -- Installs the debug adapters for you
'williamboman/mason.nvim', -- 'williamboman/mason.nvim',
'jay-babu/mason-nvim-dap.nvim', -- 'jay-babu/mason-nvim-dap.nvim',
--
-- Add your own debuggers here -- -- Add your own debuggers here
'leoluz/nvim-dap-go', -- 'leoluz/nvim-dap-go',
}, -- },
config = function() -- config = function()
local dap = require 'dap' -- local dap = require 'dap'
local dapui = require 'dapui' -- local dapui = require 'dapui'
--
require('mason-nvim-dap').setup { -- require('mason-nvim-dap').setup {
-- Makes a best effort to setup the various debuggers with -- -- Makes a best effort to setup the various debuggers with
-- reasonable debug configurations -- -- reasonable debug configurations
automatic_setup = true, -- automatic_setup = true,
--
-- You can provide additional configuration to the handlers, -- -- You can provide additional configuration to the handlers,
-- see mason-nvim-dap README for more information -- -- see mason-nvim-dap README for more information
handlers = {}, -- handlers = {},
--
-- You'll need to check that you have the required things installed -- -- You'll need to check that you have the required things installed
-- online, please don't ask me how to install them :) -- -- online, please don't ask me how to install them :)
ensure_installed = { -- ensure_installed = {
-- Update this to ensure that you have the debuggers for the langs you want -- -- Update this to ensure that you have the debuggers for the langs you want
'delve', -- 'delve',
}, -- },
} -- }
--
-- Basic debugging keymaps, feel free to change to your liking! -- -- Basic debugging keymaps, feel free to change to your liking!
vim.keymap.set('n', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' }) -- vim.keymap.set('n', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
vim.keymap.set('n', '<F1>', dap.step_into, { desc = 'Debug: Step Into' }) -- vim.keymap.set('n', '<F1>', dap.step_into, { desc = 'Debug: Step Into' })
vim.keymap.set('n', '<F2>', dap.step_over, { desc = 'Debug: Step Over' }) -- vim.keymap.set('n', '<F2>', dap.step_over, { desc = 'Debug: Step Over' })
vim.keymap.set('n', '<F3>', dap.step_out, { desc = 'Debug: Step Out' }) -- vim.keymap.set('n', '<F3>', dap.step_out, { desc = 'Debug: Step Out' })
vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' }) -- vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' })
vim.keymap.set('n', '<leader>B', function() -- vim.keymap.set('n', '<leader>B', function()
dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') -- dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ')
end, { desc = 'Debug: Set Breakpoint' }) -- end, { desc = 'Debug: Set Breakpoint' })
--
-- Dap UI setup -- -- Dap UI setup
-- For more information, see |:help nvim-dap-ui| -- -- For more information, see |:help nvim-dap-ui|
dapui.setup { -- dapui.setup {
-- Set icons to characters that are more likely to work in every terminal. -- -- Set icons to characters that are more likely to work in every terminal.
-- Feel free to remove or use ones that you like more! :) -- -- Feel free to remove or use ones that you like more! :)
-- Don't feel like these are good choices. -- -- Don't feel like these are good choices.
icons = { expanded = '', collapsed = '', current_frame = '*' }, -- icons = { expanded = '▾', collapsed = '▸', current_frame = '*' },
controls = { -- controls = {
icons = { -- icons = {
pause = '', -- pause = '⏸',
play = '', -- play = '▶',
step_into = '', -- step_into = '⏎',
step_over = '', -- step_over = '⏭',
step_out = '', -- step_out = '⏮',
step_back = 'b', -- step_back = 'b',
run_last = '▶▶', -- run_last = '▶▶',
terminate = '', -- terminate = '⏹',
disconnect = '', -- disconnect = '⏏',
}, -- },
}, -- },
} -- }
--
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. -- -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
vim.keymap.set('n', '<F7>', dapui.toggle, { desc = 'Debug: See last session result.' }) -- vim.keymap.set('n', '<F7>', dapui.toggle, { desc = 'Debug: See last session result.' })
--
dap.listeners.after.event_initialized['dapui_config'] = dapui.open -- dap.listeners.after.event_initialized['dapui_config'] = dapui.open
dap.listeners.before.event_terminated['dapui_config'] = dapui.close -- dap.listeners.before.event_terminated['dapui_config'] = dapui.close
dap.listeners.before.event_exited['dapui_config'] = dapui.close -- dap.listeners.before.event_exited['dapui_config'] = dapui.close
--
-- Install golang specific config -- -- Install golang specific config
require('dap-go').setup() -- require('dap-go').setup()
end, -- end,
} -- }