fix(nlua): make nlua dap work with regular continue. Fixes #1666
This commit is contained in:
@ -54,7 +54,6 @@ return {
|
|||||||
opts = {
|
opts = {
|
||||||
defaults = {
|
defaults = {
|
||||||
["<leader>d"] = { name = "+debug" },
|
["<leader>d"] = { name = "+debug" },
|
||||||
["<leader>da"] = { name = "+adapters" },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,24 +1,59 @@
|
|||||||
|
local Util = require("lazyvim.util")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"mfussenegger/nvim-dap",
|
"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 = {
|
dependencies = {
|
||||||
{
|
{
|
||||||
"jbyuki/one-small-step-for-vimkind",
|
"jbyuki/one-small-step-for-vimkind",
|
||||||
-- stylua: ignore
|
-- 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()
|
config = function()
|
||||||
local dap = require("dap")
|
local dap = require("dap")
|
||||||
dap.adapters.nlua = function(callback, config)
|
dap.adapters.nlua = function(callback, conf)
|
||||||
callback({ type = "server", host = config.host or "127.0.0.1", port = config.port or 8086 })
|
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
|
end
|
||||||
dap.configurations.lua = {
|
dap.configurations.lua = {
|
||||||
{
|
{
|
||||||
type = "nlua",
|
type = "nlua",
|
||||||
request = "attach",
|
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,
|
end,
|
||||||
|
Reference in New Issue
Block a user