refactor!: remove dap adapter (#81)
This commit is contained in:
parent
da960189c1
commit
cd8a5efc88
6 changed files with 1 additions and 158 deletions
16
README.md
16
README.md
|
|
@ -25,7 +25,6 @@ Requirements:
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
"mfussenegger/nvim-dap", -- (optional) only if you use `gopher.dap`
|
|
||||||
},
|
},
|
||||||
-- (optional) will update plugin's deps on every update
|
-- (optional) will update plugin's deps on every update
|
||||||
build = function()
|
build = function()
|
||||||
|
|
@ -216,20 +215,6 @@ require("gopher").setup {
|
||||||
```
|
```
|
||||||
</details>
|
</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
|
## Contributing
|
||||||
|
|
||||||
PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md)
|
PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md)
|
||||||
|
|
@ -237,5 +222,4 @@ PRs are always welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md)
|
||||||
## Thanks
|
## Thanks
|
||||||
|
|
||||||
- [go.nvim](https://github.com/ray-x/go.nvim)
|
- [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)
|
- [iferr](https://github.com/koron/iferr)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ Table of Contents
|
||||||
Generating unit tests boilerplate......................|gopher.nvim-gotests|
|
Generating unit tests boilerplate......................|gopher.nvim-gotests|
|
||||||
Iferr....................................................|gopher.nvim-iferr|
|
Iferr....................................................|gopher.nvim-iferr|
|
||||||
Generate comments.....................................|gopher.nvim-comments|
|
Generate comments.....................................|gopher.nvim-comments|
|
||||||
Setup `nvim-dap` for Go......................................|gopher.nvim-dap|
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*gopher.nvim-setup*
|
*gopher.nvim-setup*
|
||||||
|
|
@ -28,7 +27,7 @@ Calling this function is optional, if you ok with default settings. Look |gopher
|
||||||
Usage ~
|
Usage ~
|
||||||
`require("gopher").setup {}` (replace `{}` with your `config` table)
|
`require("gopher").setup {}` (replace `{}` with your `config` table)
|
||||||
Parameters ~
|
Parameters ~
|
||||||
{user_config} gopher.Config
|
{user_config} `(gopher.Config)`
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*gopher.nvim-install-deps*
|
*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.
|
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:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -22,7 +22,6 @@ local deps = {
|
||||||
msg = "required for `:GoTestAdd`, `:GoTestsAll`, `:GoTestsExp`",
|
msg = "required for `:GoTestAdd`, `:GoTestsAll`, `:GoTestsExp`",
|
||||||
optional = false,
|
optional = false,
|
||||||
},
|
},
|
||||||
{ bin = cmd.dlv, msg = "required for debugging, (`nvim-dap`, `gopher.dap`)", optional = true },
|
|
||||||
},
|
},
|
||||||
treesitter = {
|
treesitter = {
|
||||||
{ parser = "go", msg = "required for `gopher.nvim`", optional = false },
|
{ parser = "go", msg = "required for `gopher.nvim`", optional = false },
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ local urls = {
|
||||||
impl = "github.com/josharian/impl",
|
impl = "github.com/josharian/impl",
|
||||||
gotests = "github.com/cweill/gotests/...",
|
gotests = "github.com/cweill/gotests/...",
|
||||||
iferr = "github.com/koron/iferr",
|
iferr = "github.com/koron/iferr",
|
||||||
dlv = "github.com/go-delve/delve/cmd/dlv",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
---@param pkg string
|
---@param pkg string
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ local files = {
|
||||||
"lua/gopher/gotests.lua",
|
"lua/gopher/gotests.lua",
|
||||||
"lua/gopher/iferr.lua",
|
"lua/gopher/iferr.lua",
|
||||||
"lua/gopher/comment.lua",
|
"lua/gopher/comment.lua",
|
||||||
"lua/gopher/dap.lua",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
minidoc.setup()
|
minidoc.setup()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue