mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-06-22 08:53:31 +02:00
enc: java default cconfig
This commit is contained in:
parent
f0f7958de7
commit
cecf29d7db
9 changed files with 247 additions and 73 deletions
|
@ -3,6 +3,15 @@ local M = {}
|
|||
-- local file_name_no_ext = vim.fn.expand("%:t:r")
|
||||
if pcode.active_cpp_config then
|
||||
M = {
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
local nls = require("null-ls")
|
||||
opts.sources = opts.sources or {}
|
||||
table.insert(opts.sources, nls.builtins.formatting.clang_format.with({ filetypes = { "cpp", "c" } }))
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
ft = { "cpp" },
|
||||
|
|
107
lua/plugins/java.lua
Normal file
107
lua/plugins/java.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
local M = {}
|
||||
if pcode.active_java_config.active then
|
||||
M = {
|
||||
{
|
||||
"mfussenegger/nvim-jdtls",
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
dependencies = {
|
||||
"nvim-neotest/nvim-nio",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"antoinemadec/FixCursorHold.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"andy-bell101/neotest-java",
|
||||
},
|
||||
config = function()
|
||||
require("neotest").setup({
|
||||
adapters = {
|
||||
require("neotest-java")({
|
||||
-- function to determine which runner to use based on project path
|
||||
determine_runner = function(project_root_path)
|
||||
-- return should be "maven" or "gradle"
|
||||
return pcode.active_java_config.project or "gradle"
|
||||
end,
|
||||
-- override the builtin runner discovery behaviour to always use given
|
||||
-- tool. Default is "nil", so no override
|
||||
force_runner = nil,
|
||||
-- if the automatic runner discovery can't uniquely determine whether
|
||||
-- to use Gradle or Maven, fallback to using this runner. Default is
|
||||
-- "gradle"
|
||||
fallback_runner = pcode.active_java_config.project or "gradle",
|
||||
}),
|
||||
},
|
||||
})
|
||||
end,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>T","",desc=" Test"},
|
||||
{ "<leader>Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" },
|
||||
{ "<leader>Tr", function() require("neotest").run.run() end, desc = "Run Nearest" },
|
||||
{ "<leader>TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" },
|
||||
{ "<leader>Tl", function() require("neotest").run.run_last() end, desc = "Run Last" },
|
||||
{ "<Leader>Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" },
|
||||
{ "<leader>To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" },
|
||||
{ "<Leader>TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" },
|
||||
{ "<Leader>TS", function() require("neotest").run.stop() end, desc = "Stop" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
event = "BufReadPre",
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
"nvim-neotest/nvim-nio",
|
||||
"williamboman/mason.nvim",
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("user.dapui")
|
||||
local dap = require("dap")
|
||||
local util = require("jdtls.util")
|
||||
dap.adapters.java = function(callback)
|
||||
util.execute_command({ command = "vscode.java.startDebugSession" }, function(err0, port)
|
||||
if err0 ~= nil then
|
||||
return
|
||||
end
|
||||
callback({ type = "server", host = "127.0.0.1", port = port })
|
||||
end)
|
||||
end
|
||||
dap.configurations.java = {
|
||||
{
|
||||
type = "java",
|
||||
request = "launch",
|
||||
name = "Debug Java",
|
||||
program = "${file}",
|
||||
args = {},
|
||||
cwd = vim.fn.getcwd(),
|
||||
stopOnEntry = false,
|
||||
console = "integratedTerminal",
|
||||
internalConsoleOptions = "neverOpen",
|
||||
sourceMaps = true,
|
||||
outDir = "${workspaceFolder}/out",
|
||||
},
|
||||
}
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>d", "", desc = " Debug" },
|
||||
{ "<leader>dt", "<cmd>lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" },
|
||||
{ "<leader>db", "<cmd>lua require'dap'.step_back()<cr>", desc = "Step Back" },
|
||||
{ "<leader>dc", "<cmd>lua require'dap'.continue()<cr>", desc = "Continue" },
|
||||
{ "<leader>dC", "<cmd>lua require'dap'.run_to_cursor()<cr>", desc = "Run To Cursor" },
|
||||
{ "<leader>dd", "<cmd>lua require'dap'.disconnect()<cr>", desc = "Disconnect" },
|
||||
{ "<leader>dg", "<cmd>lua require'dap'.session()<cr>", desc = "Get Session" },
|
||||
{ "<leader>di", "<cmd>lua require'dap'.step_into()<cr>", desc = "Step Into" },
|
||||
{ "<leader>do", "<cmd>lua require'dap'.step_over()<cr>", desc = "Step Over" },
|
||||
{ "<leader>du", "<cmd>lua require'dap'.step_out()<cr>", desc = "Step Out" },
|
||||
{ "<leader>dp", "<cmd>lua require'dap'.pause()<cr>", desc = "Pause" },
|
||||
{ "<leader>dr", "<cmd>lua require'dap'.repl.toggle()<cr>", desc = "Toggle Repl" },
|
||||
{ "<leader>ds", "<cmd>lua require'dap'.continue()<cr>", desc = "Start" },
|
||||
{ "<leader>dq", "<cmd>lua require'dap'.close()<cr>", desc = "Quit" },
|
||||
{ "<leader>dU", "<cmd>lua require'dapui'.toggle({reset = true})<cr>", desc = "Toggle UI" },
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
return M
|
|
@ -27,22 +27,4 @@ return {
|
|||
require("user.lsp")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jayp0521/mason-null-ls.nvim",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
config = function()
|
||||
require("user.lsp.null-lscfg")
|
||||
end,
|
||||
},
|
||||
event = "InsertEnter",
|
||||
opts = function()
|
||||
require("user.mason-null-ls")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
58
lua/plugins/nonels.lua
Normal file
58
lua/plugins/nonels.lua
Normal file
|
@ -0,0 +1,58 @@
|
|||
return {
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
{
|
||||
"jayp0521/mason-null-ls.nvim",
|
||||
opts = {
|
||||
ensure_installed = pcode.null_ls_ensure_installed or {},
|
||||
automatic_setup = true,
|
||||
handlers = {},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("mason-null-ls").setup(opts)
|
||||
end,
|
||||
},
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
},
|
||||
event = "InsertEnter",
|
||||
opts = function()
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
local sources = {}
|
||||
local data_ok, data_sources = pcall(require, "custom.null-ls")
|
||||
if data_ok then
|
||||
for _, cfg in pairs(data_sources.sources) do
|
||||
table.insert(sources, cfg)
|
||||
end
|
||||
end
|
||||
local on_save = pcode.format_on_save or 0
|
||||
if on_save == 1 then
|
||||
return {
|
||||
debug = false,
|
||||
sources = sources,
|
||||
on_attach = function(client, bufnr)
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = bufnr })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
}
|
||||
else
|
||||
return {
|
||||
debug = false,
|
||||
sources = sources,
|
||||
}
|
||||
end
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("null-ls").setup(opts)
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -83,4 +83,12 @@ if pcode.active_cpp_config then
|
|||
table.insert(pcode.dap_ensure_installed, "codelldb")
|
||||
pcode.nvim_dap = true
|
||||
end
|
||||
-- run if java config true
|
||||
if pcode.active_java_config then
|
||||
table.insert(pcode.treesitter_ensure_installed, "java")
|
||||
table.insert(pcode.mason_ensure_installed, "jdtls")
|
||||
table.insert(pcode.dap_ensure_installed, "javadbg")
|
||||
table.insert(pcode.dap_ensure_installed, "javatest")
|
||||
table.insert(pcode.unregister_lsp, "jdtls")
|
||||
end
|
||||
return {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue