feat(nvim): add dap & golang lint
This commit is contained in:
parent
240af570ea
commit
6d180fac42
@ -2,15 +2,65 @@ local dap = require("dap")
|
|||||||
local dapui = require("dapui")
|
local dapui = require("dapui")
|
||||||
local dapgo = require("dap-go")
|
local dapgo = require("dap-go")
|
||||||
|
|
||||||
dapui.setup()
|
dapui.setup({
|
||||||
|
controls = {
|
||||||
|
element = "repl",
|
||||||
|
enabled = true,
|
||||||
|
icons = {
|
||||||
|
disconnect = "",
|
||||||
|
pause = "",
|
||||||
|
play = "",
|
||||||
|
run_last = "",
|
||||||
|
step_back = "",
|
||||||
|
step_into = "",
|
||||||
|
step_out = "",
|
||||||
|
step_over = "",
|
||||||
|
terminate = ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
element_mappings = {},
|
||||||
|
expand_lines = false,
|
||||||
|
floating = {border = "single", mappings = {close = {"q", "<Esc>"}}},
|
||||||
|
force_buffers = true,
|
||||||
|
icons = {collapsed = "", current_frame = "", expanded = ""},
|
||||||
|
layouts = {
|
||||||
|
{
|
||||||
|
elements = {{id = "repl", size = 0.5}, {id = "scopes", size = 0.5}},
|
||||||
|
position = "bottom",
|
||||||
|
size = 10
|
||||||
|
}, {
|
||||||
|
elements = {
|
||||||
|
{id = "breakpoints", size = 0.5}, {id = "stacks", size = 0.5}
|
||||||
|
},
|
||||||
|
position = "left",
|
||||||
|
size = 40
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mappings = {
|
||||||
|
edit = "e",
|
||||||
|
expand = {"<CR>", "<2-LeftMouse>"},
|
||||||
|
open = "o",
|
||||||
|
remove = "d",
|
||||||
|
repl = "r",
|
||||||
|
toggle = "t"
|
||||||
|
},
|
||||||
|
render = {indent = 1, max_value_lines = 100}
|
||||||
|
})
|
||||||
dapgo.setup()
|
dapgo.setup()
|
||||||
|
|
||||||
-- Auto Open UI
|
-- Auto Open UI
|
||||||
dap.listeners.before.attach.dapui_config = function() dapui.open() end
|
dap.listeners.before.attach.dapui_config = function() dapui.open() end
|
||||||
dap.listeners.before.launch.dapui_config = function() dapui.open() end
|
dap.listeners.before.launch.dapui_config = function() dapui.open() end
|
||||||
dap.listeners.before.event_terminated.dapui_config =
|
|
||||||
function() dapui.close() end
|
-- Continue Hotkey ("c")
|
||||||
dap.listeners.before.event_exited.dapui_config = function() dapui.close() end
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = "dap-repl",
|
||||||
|
callback = function()
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 'n', 'c',
|
||||||
|
"<cmd>lua require'dap'.continue()<CR>",
|
||||||
|
{noremap = true, silent = true})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
-- Leader Keys
|
-- Leader Keys
|
||||||
local opts = {noremap = true, silent = true}
|
local opts = {noremap = true, silent = true}
|
||||||
|
@ -119,6 +119,20 @@ nvim_lsp.gopls.setup {
|
|||||||
cmd = {nix_vars.gopls}
|
cmd = {nix_vars.gopls}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Go LSP Linting
|
||||||
|
nvim_lsp.golangci_lint_ls.setup {
|
||||||
|
on_attach = on_attach_no_formatting,
|
||||||
|
flags = lsp_flags,
|
||||||
|
capabilities = capabilities,
|
||||||
|
cmd = {nix_vars.golintls},
|
||||||
|
init_options = {
|
||||||
|
command = {
|
||||||
|
"golangci-lint", "run", "--enable-all", "--disable", "lll",
|
||||||
|
"--out-format", "json", "--issues-exit-code=1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
------------------------------------------------------
|
------------------------------------------------------
|
||||||
--------------------- Null-LS LSP --------------------
|
--------------------- Null-LS LSP --------------------
|
||||||
------------------------------------------------------
|
------------------------------------------------------
|
||||||
|
@ -92,6 +92,8 @@ in
|
|||||||
|
|
||||||
# LSP Dependencies
|
# LSP Dependencies
|
||||||
go
|
go
|
||||||
|
golangci-lint
|
||||||
|
golangci-lint-langserver
|
||||||
gopls
|
gopls
|
||||||
nodePackages.eslint
|
nodePackages.eslint
|
||||||
nodePackages.eslint_d
|
nodePackages.eslint_d
|
||||||
@ -129,6 +131,7 @@ in
|
|||||||
gopls = "${pkgs.gopls}/bin/gopls",
|
gopls = "${pkgs.gopls}/bin/gopls",
|
||||||
sveltels = "${pkgs.nodePackages.svelte-language-server}/bin/svelteserver",
|
sveltels = "${pkgs.nodePackages.svelte-language-server}/bin/svelteserver",
|
||||||
tsls = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server",
|
tsls = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server",
|
||||||
|
golintls = "${pkgs.golangci-lint-langserver}/bin/golangci-lint-langserver",
|
||||||
vscls = "${pkgs.nodePackages.vscode-langservers-extracted}",
|
vscls = "${pkgs.nodePackages.vscode-langservers-extracted}",
|
||||||
}
|
}
|
||||||
return nix_vars
|
return nix_vars
|
||||||
|
Loading…
Reference in New Issue
Block a user