all repos

gopher.nvim @ cd8a5ef

Minimalistic plugin for Go development
6 files changed, 1 insertions(+), 158 deletions(-)
refactor!: remove dap adapter (#81)

Author: Smirnov Oleksandr ss2316544@gmail.com
Committed by: GitHub noreply@github.com
Committed at: 2025-02-25 13:16:24 +0200
Parent: da96018
M README.md

@@ -25,7 +25,6 @@ -- keep in mind, it might break everything

dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", - "mfussenegger/nvim-dap", -- (optional) only if you use `gopher.dap` }, -- (optional) will update plugin's deps on every update build = function()

@@ -216,20 +215,6 @@ :GoIfErr

``` </details> -<details> - <summary> - <b>Setup <a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a> for go in one line</b> - </summary> - - THIS FEATURE WILL BE REMOVED IN `0.1.6` - - note [nvim-dap](https://github.com/mfussenegger/nvim-dap) has to be installed - - ```lua - require("gopher.dap").setup() - ``` -</details> - ## Contributing PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md)

@@ -237,5 +222,4 @@

## Thanks - [go.nvim](https://github.com/ray-x/go.nvim) -- [nvim-dap-go](https://github.com/leoluz/nvim-dap-go) - [iferr](https://github.com/koron/iferr)
M doc/gopher.nvim.txt

@@ -16,7 +16,6 @@ Auto implementation of interface methods..................|gopher.nvim-impl|

Generating unit tests boilerplate......................|gopher.nvim-gotests| Iferr....................................................|gopher.nvim-iferr| Generate comments.....................................|gopher.nvim-comments| - Setup `nvim-dap` for Go......................................|gopher.nvim-dap| ------------------------------------------------------------------------------ *gopher.nvim-setup*

@@ -28,7 +27,7 @@

Usage ~ `require("gopher").setup {}` (replace `{}` with your `config` table) Parameters ~ -{user_config} gopher.Config +{user_config} `(gopher.Config)` ------------------------------------------------------------------------------ *gopher.nvim-install-deps*

@@ -204,14 +203,6 @@ *gopher.nvim-comments*

Usage ~ Execute `:GoCmt` to generate a comment for the current function/method/struct/etc on this line. This module provides a way to generate comments for Go code. - - -============================================================================== ------------------------------------------------------------------------------- - *gopher.nvim-dap* -This module sets up `nvim-dap` for Go. -Usage ~ -just call `require("gopher.dap").setup()`, and you're good to go. vim:tw=78:ts=8:noet:ft=help:norl:
D

@@ -1,129 +0,0 @@

----@toc_entry Setup `nvim-dap` for Go ----@tag gopher.nvim-dap ----@text This module sets up `nvim-dap` for Go. ----@usage just call `require("gopher.dap").setup()`, and you're good to go. - -local c = require "gopher.config" -local dap = {} - -dap.adapter = function(callback, config) - local host = config.host or "127.0.0.1" - local port = config.port or "38697" - local addr = string.format("%s:%s", host, port) - - local handle, pid_or_err - local stdout = assert(vim.loop.new_pipe(false)) - local opts = { - stdio = { nil, stdout }, - args = { "dap", "-l", addr }, - detached = true, - } - - handle, pid_or_err = vim.loop.spawn(c.commands.dlv, opts, function(status) - if not stdout or not handle then - return - end - - stdout:close() - handle:close() - if status ~= 0 then - print("dlv exited with code", status) - end - end) - - assert(handle, "Error running dlv: " .. tostring(pid_or_err)) - if stdout then - stdout:read_start(function(err, chunk) - assert(not err, err) - if chunk then - vim.schedule(function() - require("dap.repl").append(chunk) - end) - end - end) - end - - -- wait for delve to start - vim.defer_fn(function() - callback { type = "server", host = "127.0.0.1", port = port } - end, 100) -end - -local function args_input() - vim.ui.input({ prompt = "Args: " }, function(input) - return vim.split(input or "", " ") - end) -end - -local function get_arguments() - local co = coroutine.running() - if co then - return coroutine.create(function() - local args = args_input() - coroutine.resume(co, args) - end) - else - return args_input() - end -end - -dap.configuration = { - { - type = "go", - name = "Debug", - request = "launch", - program = "${file}", - }, - { - type = "go", - name = "Debug (Arguments)", - request = "launch", - program = "${file}", - args = get_arguments, - }, - { - type = "go", - name = "Debug Package", - request = "launch", - program = "${fileDirname}", - }, - { - type = "go", - name = "Attach", - mode = "local", - request = "attach", - processId = require("dap.utils").pick_process, - }, - { - type = "go", - name = "Debug test", - request = "launch", - mode = "test", - program = "${file}", - }, - { - type = "go", - name = "Debug test (go.mod)", - request = "launch", - mode = "test", - program = "./${relativeFileDirname}", - }, -} - --- sets ups nvim-dap for Go in one function call. -function dap.setup() - vim.deprecate( - "gopher.dap", - "you might consider setting up `nvim-dap` manually, or using another plugin(https://github.com/leoluz/nvim-dap-go)", - "v0.1.6", - "gopher" - ) - - local ok, d = pcall(require, "dap") - assert(ok, "gopher.nvim dependency error: dap not installed") - - d.adapters.go = dap.adapter - d.configurations.go = dap.configuration -end - -return dap
M lua/gopher/health.lua

@@ -22,7 +22,6 @@ bin = cmd.gotests,

msg = "required for `:GoTestAdd`, `:GoTestsAll`, `:GoTestsExp`", optional = false, }, - { bin = cmd.dlv, msg = "required for debugging, (`nvim-dap`, `gopher.dap`)", optional = true }, }, treesitter = { { parser = "go", msg = "required for `gopher.nvim`", optional = false },
M lua/gopher/installer.lua

@@ -8,7 +8,6 @@ gomodifytags = "github.com/fatih/gomodifytags",

impl = "github.com/josharian/impl", gotests = "github.com/cweill/gotests/...", iferr = "github.com/koron/iferr", - dlv = "github.com/go-delve/delve/cmd/dlv", } ---@param pkg string
M scripts/docgen.lua

@@ -15,7 +15,6 @@ "lua/gopher/impl.lua",

"lua/gopher/gotests.lua", "lua/gopher/iferr.lua", "lua/gopher/comment.lua", - "lua/gopher/dap.lua", } minidoc.setup()