my demo first config lua

This commit is contained in:
2023-12-13 00:27:19 +03:00
commit 61e95391fb
268 changed files with 12847 additions and 0 deletions

View File

@@ -0,0 +1 @@
require("dap-go").setup()

View File

@@ -0,0 +1,45 @@
require("dap-vscode-js").setup {
debugger_cmd = { "js-debug-adapter" },
adapters = { "pwa-node", "pwa-chrome", "node-terminal" },
}
for _, language in ipairs { "typescript", "javascript" } do
require("dap").configurations[language] = {
{
type = "pwa-node",
request = "launch",
name = "Launch file",
program = "${file}",
cwd = "${workspaceFolder}",
},
{
type = "pwa-node",
request = "attach",
name = "Attach",
processId = require("dap.utils").pick_process,
cwd = "${workspaceFolder}",
},
}
end
for _, language in ipairs { "typescriptreact", "javascriptreact" } do
require("dap").configurations[language] = {
{
type = "pwa-chrome",
name = "Attach - Remote Debugging",
request = "attach",
program = "${file}",
cwd = vim.fn.getcwd(),
sourceMaps = true,
protocol = "inspector",
port = 9222,
webRoot = "${workspaceFolder}",
},
{
type = "pwa-chrome",
name = "Launch Chrome",
request = "launch",
url = "http://localhost:3000",
},
}
end

View File

@@ -0,0 +1,27 @@
local dap = require("dap")
dap.adapters.php = {
type = "executable",
command = "php-debug-adapter",
}
dap.configurations.php = {
{
type = "php",
request = "launch",
name = "Laravel",
port = 9003,
pathMappings = {
["/var/www/html"] = "${workspaceFolder}",
},
},
{
type = "php",
request = "launch",
name = "Symfony",
port = 9003,
pathMappings = {
["/app"] = "${workspaceFolder}",
},
},
}

View File

@@ -0,0 +1,57 @@
local dap = require("dap")
local rust_adapter = nil
local rust_adapters = { "lldb-vscode", "codelldb" }
for _, adapter in pairs(rust_adapters) do
if vim.fn.executable(adapter) then
rust_adapter = adapter
end
end
if rust_adapter ~= nil then
dap.adapters.lldb = {
type = "executable",
command = rust_adapter,
name = "lldb",
}
dap.configurations.rust = {
{
name = "launch",
type = "lldb",
request = "launch",
program = function()
local dir = vim.fn.getcwd()
return dir .. "/target/debug/" .. vim.fs.basename(dir)
end,
cwd = "${workspaceFolder}",
stopOnEntry = false,
args = function()
local resp = vim.fn.input "Arguments: "
if resp == "" then
return {}
end
return vim.fn.split(resp, " ")
end,
},
{
name = "custom",
type = "lldb",
request = "launch",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
cwd = "${workspaceFolder}",
stopOnEntry = false,
args = function()
local resp = vim.fn.input "Arguments: "
if resp == "" then
return {}
end
return vim.fn.split(resp, " ")
end,
},
}
end

106
lua/alpha/dap/init.lua Normal file
View File

@@ -0,0 +1,106 @@
local dap, dapui, hydra = require "dap", require "dapui", require "hydra"
-- Setup Virtual Text
require("nvim-dap-virtual-text").setup {}
for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/alpha/dap/configs/*.lua", true)) do
loadfile(ft_path)()
end
-- Signs
vim.fn.sign_define("DapBreakpoint", { text = "🛑", texthl = "", linehl = "", numhl = "" })
vim.fn.sign_define("DapStopped", { text = "▶", texthl = "", linehl = "", numhl = "" })
vim.fn.sign_define("DapBreakpointRejected", { text = "🚫", texthl = "", linehl = "", numhl = "" })
vim.fn.sign_define("DapBreakpointCondition", { text = "❓", texthl = "", linehl = "", numhl = "" })
vim.fn.sign_define("DapLogPoint", { text = "💬", texthl = "", linehl = "", numhl = "" })
-- UI structure
dapui.setup {
icons = { expanded = "▾", collapsed = "▸" },
layouts = {
{
elements = {
"scopes",
"breakpoints",
"stacks",
"watches",
},
size = 80,
position = "right",
},
{
elements = {
"repl",
"console",
},
size = 10,
position = "bottom",
},
},
}
-- Events Listeners
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open {}
end
local hint = [[
Nvim DAP
_d_: Start/Continue _j_: StepOver _k_: StepOut _l_: StepInto ^
_bp_: Toogle Breakpoint _bc_: Conditional Breakpoint ^
_?_: log point ^
_c_: Run To Cursor ^
_h_: Show information of the variable under the cursor ^
_x_: Stop Debbuging ^
^^ _<Esc>_
]]
hydra {
name = "dap",
hint = hint,
mode = "n",
config = {
color = "blue",
invoke_on_body = true,
hint = {
border = "rounded",
position = "bottom",
},
},
body = "<leader>d",
heads = {
{ "d", dap.continue },
{ "bp", dap.toggle_breakpoint },
{ "l", dap.step_into },
{ "j", dap.step_over },
{ "k", dap.step_out },
{ "h", dapui.eval },
{ "c", dap.run_to_cursor },
{
"bc",
function()
vim.ui.input({ prompt = "Condition: " }, function(condition)
dap.set_breakpoint(condition)
end)
end,
},
{
"?",
function()
vim.ui.input({ prompt = "Log: " }, function(log)
dap.set_breakpoint(nil, nil, log)
end)
end,
},
{
"x",
function()
dap.terminate()
dapui.close {}
dap.clear_breakpoints()
end,
},
{ "<Esc>", nil, { exit = true } },
},
}