added go
This commit is contained in:
parent
008b353e29
commit
3700c179cb
@ -2,4 +2,5 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
M.ui = {theme = 'catppuccin'}
|
M.ui = {theme = 'catppuccin'}
|
||||||
M.plugins = 'custom.plugins'
|
M.plugins = 'custom.plugins'
|
||||||
|
M.mappings = require "custom.mappings"
|
||||||
return M
|
return M
|
||||||
|
@ -3,6 +3,18 @@ local capabilities = require("plugins.configs.lspconfig").capabilities
|
|||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local util = require "lspconfig/util"
|
local util = require "lspconfig/util"
|
||||||
|
|
||||||
|
lspconfig.gopls.setup {
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
cmd = {"gopls"},
|
||||||
|
filetypes = {"go", "gomod", "gowork", "gotmpl"},
|
||||||
|
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
|
||||||
|
settings = {
|
||||||
|
gopls = {
|
||||||
|
completeUnimported = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
--[[
|
--[[
|
||||||
lspconfig.rust_analyzer.setup({
|
lspconfig.rust_analyzer.setup({
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
|
25
configs/null-ls.lua
Normal file
25
configs/null-ls.lua
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
local null_ls = require("null-ls")
|
||||||
|
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
sources = {
|
||||||
|
null_ls.builtins.formatting.gofumpt,
|
||||||
|
null_ls.builtins.formatting.goimports_reviser,
|
||||||
|
},
|
||||||
|
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,
|
||||||
|
}
|
||||||
|
return opts
|
34
mappings.lua
34
mappings.lua
@ -1,5 +1,21 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
M.dap = {
|
||||||
|
plugin = true,
|
||||||
|
n = {
|
||||||
|
["<leader>db"] = {
|
||||||
|
"<cmd> DapToggleBreakpoint <CR>",
|
||||||
|
"Add breakpoint at line"
|
||||||
|
},
|
||||||
|
["<leader>dus"] = {
|
||||||
|
function ()
|
||||||
|
local widgets = require('dap.ui.widgets');
|
||||||
|
local sidebar = widgets.sidebar(widgets.scopes);
|
||||||
|
sidebar.open();
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
M.crates = {
|
M.crates = {
|
||||||
n = {
|
n = {
|
||||||
["<leader>rcu"] = {
|
["<leader>rcu"] = {
|
||||||
@ -11,4 +27,22 @@ M.crates = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
M.dap_go = {
|
||||||
|
plugin = true,
|
||||||
|
n = {
|
||||||
|
["<leader>gdt"] = {
|
||||||
|
function()
|
||||||
|
require('dap-go').debug_test()
|
||||||
|
end,
|
||||||
|
"Debug go test"
|
||||||
|
},
|
||||||
|
["<leader>gdl"] = {
|
||||||
|
function()
|
||||||
|
require('dap-go').debug_test()
|
||||||
|
end,
|
||||||
|
"Debug last go test"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
28
plugins.lua
28
plugins.lua
@ -35,7 +35,10 @@ local plugins = {
|
|||||||
{
|
{
|
||||||
"simrat39/rust-tools.nvim",
|
"simrat39/rust-tools.nvim",
|
||||||
rf = "rust",
|
rf = "rust",
|
||||||
dependancies = "neovim/nvim-lspconfig",
|
dependancies = {
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
},
|
||||||
opts = function ()
|
opts = function ()
|
||||||
return require "custom.configs.rust-tools"
|
return require "custom.configs.rust-tools"
|
||||||
end,
|
end,
|
||||||
@ -46,8 +49,8 @@ local plugins = {
|
|||||||
{
|
{
|
||||||
"mfussenegger/nvim-dap",
|
"mfussenegger/nvim-dap",
|
||||||
rf = "rust",
|
rf = "rust",
|
||||||
config = function()
|
init = function()
|
||||||
require('nvim-dap').setup()
|
require("core.utils").load_mappings("dap")
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -66,6 +69,25 @@ local plugins = {
|
|||||||
table.insert(M.sources, {name = "crates"})
|
table.insert(M.sources, {name = "crates"})
|
||||||
return M
|
return M
|
||||||
end,
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jose-elias-alvarez/null-ls.nvim",
|
||||||
|
ft = "go",
|
||||||
|
opts = function ()
|
||||||
|
return require "custom.configs.null-ls"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"leoluz/nvim-dap-go",
|
||||||
|
ft = "go",
|
||||||
|
dependancies = "mfussenegger/nvim-dap",
|
||||||
|
config = function(_, opts)
|
||||||
|
require("dap-go").setup(opts)
|
||||||
|
require("core.utils").load_mappings("dap_go")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user