fix(nlua): make nlua dap work with regular continue. Fixes #1666

This commit is contained in:
Folke Lemaitre
2023-10-12 09:42:31 +02:00
parent 94de32c598
commit f98c4a26b3
2 changed files with 42 additions and 8 deletions

View File

@ -54,7 +54,6 @@ return {
opts = {
defaults = {
["<leader>d"] = { name = "+debug" },
["<leader>da"] = { name = "+adapters" },
},
},
},

View File

@ -1,24 +1,59 @@
local Util = require("lazyvim.util")
return {
"mfussenegger/nvim-dap",
launch = function(host, port)
if vim.g.nlua then
return
end
vim.o.cmdheight = 10
local osv = require("osv")
osv.launch({
port = port,
host = host,
args = { "--cmd", "lua vim.g.nlua = true", "--cmd", "set cmdheight=10" },
})
vim.defer_fn(function()
vim.cmd([[luafile %]])
end, 2000)
end,
dependencies = {
{
"jbyuki/one-small-step-for-vimkind",
-- stylua: ignore
keys = {
{ "<leader>daL", function() require("osv").launch({ port = 8086 }) end, desc = "Adapter Lua Server", ft = "lua" },
{ "<leader>dal", function() require("osv").run_this() end, desc = "Adapter Lua", ft = "lua" },
},
config = function()
local dap = require("dap")
dap.adapters.nlua = function(callback, config)
callback({ type = "server", host = config.host or "127.0.0.1", port = config.port or 8086 })
dap.adapters.nlua = function(callback, conf)
local adapter = {
type = "server",
host = conf.host or "127.0.0.1",
port = conf.port or 8086,
}
if conf.start_neovim then
local dap_run = dap.run
dap.run = function(c)
adapter.port = c.port
adapter.host = c.host
end
require("osv").run_this()
dap.run = dap_run
end
callback(adapter)
end
dap.configurations.lua = {
{
type = "nlua",
request = "attach",
name = "Attach to running Neovim instance",
name = "Run this file",
start_neovim = {},
},
{
type = "nlua",
request = "attach",
name = "Attach to running Neovim instance (port = 8086)",
port = 8086,
},
}
end,