diff --git a/init.lua b/init.lua index 03aee11..3f6486e 100644 --- a/init.lua +++ b/init.lua @@ -95,3 +95,19 @@ if is_godot_project and not is_server_running then vim.fn.serverstart(godot_project_path .. '/server.pipe') end +local dap = require('dap') +dap.adapters.godot = { + type = "server", + host = "127.0.0.1", + port = 6006, +} + +dap.configurations.gdscript = { + { + type = "godot", + request = "launch", + name = "Launch Scene", + project = "${workspaceFolder}", + scene = "main" + } +} diff --git a/lua/keybindings.lua b/lua/keybindings.lua index a449b46..b2dce4a 100644 --- a/lua/keybindings.lua +++ b/lua/keybindings.lua @@ -22,6 +22,8 @@ vim.keymap.set('n', 'fs', 'Telescope grep_string', opts) vim.keymap.set('n', 'ss', 'Telescope spell_suggest', opts) vim.keymap.set('n', 't', 'Telescope', opts) +local dap = require('dap') + local on_attach = function(client, bufnr) client.server_capabilities.semanticTokensProvider = nil vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') @@ -35,6 +37,13 @@ local on_attach = function(client, bufnr) vim.keymap.set('n', 'rs', tbuiltin.lsp_document_symbols, bufopts) vim.keymap.set('n', 'rr', vim.lsp.buf.rename, bufopts) --vim.keymap.set('i', '', v:lua.vim.lsp.omnifunc, bufopts) + --DAP + vim.keymap.set('n', '', dap.continue, bufopts) + vim.keymap.set('n', '', dap.toggle_breakpoint, bufopts) + vim.keymap.set('n', '', dap.step_over, bufopts) + vim.keymap.set('n', '', dap.step_into, bufopts) + vim.keymap.set('n', '', dap.step_out, bufopts) + --TODO: dap.ui.widgets, widgets.sidebar end --local lsp_flags = { @@ -112,9 +121,7 @@ local lsps = { { "godot-lsp", { - cmd = { - vim.lsp.rpc.connect('127.0.0.1', tonumber(port)) - }, + cmd = vim.lsp.rpc.connect('127.0.0.1', tonumber(godot_port)), filetypes = { 'gd', 'gdscript', 'gdscript3' }, root_markerts = {'project.godot', '.git' }, on_attach = on_attach,