From cd8a5efc88360f6ece2527a89523045812fc6e12 Mon Sep 17 00:00:00 2001 From: Smirnov Oleksandr Date: Tue, 25 Feb 2025 13:16:24 +0200 Subject: [PATCH] refactor!: remove dap adapter (#81) --- README.md | 16 ----- doc/gopher.nvim.txt | 11 +--- lua/gopher/dap.lua | 129 --------------------------------------- lua/gopher/health.lua | 1 - lua/gopher/installer.lua | 1 - scripts/docgen.lua | 1 - 6 files changed, 1 insertion(+), 158 deletions(-) delete mode 100644 lua/gopher/dap.lua diff --git a/README.md b/README.md index cd66f74..126475c 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ Requirements: 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 @@ require("gopher").setup { ``` -
- - Setup nvim-dap for go in one line - - - 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() - ``` -
- ## Contributing PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md) @@ -237,5 +222,4 @@ PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md) ## 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) diff --git a/doc/gopher.nvim.txt b/doc/gopher.nvim.txt index 78b316d..45f0617 100644 --- a/doc/gopher.nvim.txt +++ b/doc/gopher.nvim.txt @@ -16,7 +16,6 @@ Table of Contents 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 @@ Calling this function is optional, if you ok with default settings. Look |gopher Usage ~ `require("gopher").setup {}` (replace `{}` with your `config` table) Parameters ~ -{user_config} gopher.Config +{user_config} `(gopher.Config)` ------------------------------------------------------------------------------ *gopher.nvim-install-deps* @@ -206,12 +205,4 @@ Execute `:GoCmt` to generate a comment for the current function/method/struct/et 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: \ No newline at end of file diff --git a/lua/gopher/dap.lua b/lua/gopher/dap.lua deleted file mode 100644 index 9930318..0000000 --- a/lua/gopher/dap.lua +++ /dev/null @@ -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 diff --git a/lua/gopher/health.lua b/lua/gopher/health.lua index 633a184..e9351fe 100644 --- a/lua/gopher/health.lua +++ b/lua/gopher/health.lua @@ -22,7 +22,6 @@ local deps = { 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 }, diff --git a/lua/gopher/installer.lua b/lua/gopher/installer.lua index 2994b8a..ac60c03 100644 --- a/lua/gopher/installer.lua +++ b/lua/gopher/installer.lua @@ -8,7 +8,6 @@ local urls = { 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 diff --git a/scripts/docgen.lua b/scripts/docgen.lua index f2deb8b..87cbd3a 100644 --- a/scripts/docgen.lua +++ b/scripts/docgen.lua @@ -15,7 +15,6 @@ local files = { "lua/gopher/gotests.lua", "lua/gopher/iferr.lua", "lua/gopher/comment.lua", - "lua/gopher/dap.lua", } minidoc.setup()