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 {
'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",

View file

@ -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

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
-- 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', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
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', '<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', 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', '<F7>', 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', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
-- 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', '<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', 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', '<F7>', 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,
-- }