diff --git a/init.lua b/init.lua index deee96dc..410e9945 100644 --- a/init.lua +++ b/init.lua @@ -791,28 +791,45 @@ require('lazy').setup({ usePlaceholders = true, -- Insert argument placeholders for functions deepCompletion = true, -- Include deep completions (e.g., struct fields) matcher = 'Fuzzy', -- Matching algorithm for completions + + -- Hover and signature help + hoverKind = 'FullDocumentation', -- Show full documentation in hover + linkTarget = 'pkg.go.dev', linksInHover = true, -- Show documentation links in hover popups + -- Static analysis and diagnostics -- Static analysis and diagnostics staticcheck = true, -- Enable additional static analysis checks analyses = { unusedparams = true, -- Detect unused function parameters - nilness = true, -- Detect nil pointer errors unusedwrite = true, -- Detect assignments that are never read + nilness = true, -- Detect nil pointer errors shadow = true, -- Detect variable shadowing + useany = true, -- Recommend using 'any' instead of 'interface{}' + unusedvariable = true, -- Detect unused variables + }, + + hints = { + assignVariableTypes = true, + compositeLiteralFields = true, + compositeLiteralTypes = true, + constantValues = true, + functionTypeParameters = true, + parameterNames = true, + rangeVariableTypes = true, }, -- Code lenses codelenses = { - generate = true, -- Enable 'go generate' code lens gc_details = true, -- Show memory details on functions + generate = true, -- Enable 'go generate' code lens + regenerate_cgo = true, -- Regenerate cgo definitions tidy = true, -- Enable 'go mod tidy' lens + upgrade_dependency = true, -- Upgrade dependencies + vendor = true, -- Vendor dependencies test = true, -- Enable run/test lenses }, - -- Hover and signature help - hoverKind = 'FullDocumentation', -- Show full documentation in hover - -- Import management gofumpt = true, -- Use `gofumpt` formatting style directoryFilters = { '-vendor' }, -- Exclude vendor directories from analysis @@ -1183,7 +1200,8 @@ require('lazy').setup({ require 'kickstart.plugins.lint', require 'kickstart.plugins.autopairs', require 'kickstart.plugins.neo-tree', - vim.keymap.set('n', 'x', 'Neotree toggle', { desc = 'Toggle NeoTree' }), + vim.keymap.set('n', 'x', 'Neotree toggle', { desc = 'NeoTree Toggle' }), + vim.keymap.set('n', 'z', 'Neotree reveal', { desc = 'NeoTree Reveal' }), require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps require 'custom.plugins', diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua index 8ca03a0e..8d473ed3 100644 --- a/lua/kickstart/plugins/debug.lua +++ b/lua/kickstart/plugins/debug.lua @@ -144,5 +144,18 @@ return { detached = vim.fn.has 'win32' == 0, }, } + dap.configurations.go = dap.configurations.go or {} + table.insert(dap.configurations.go, { + type = 'go', + name = 'Attach remote (localhost:2345)', + mode = 'remote', + request = 'attach', + -- Connect to the port, not PID + port = 2345, + host = '127.0.0.1', + substitutePath = { + { from = '${workspaceFolder}', to = vim.fn.getcwd() }, + }, + }) end, }