diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/alpha/dap.lua | 167 | ||||
| -rw-r--r-- | lua/alpha/lsp.lua | 13 | ||||
| -rw-r--r-- | lua/alpha/plugins.lua | 31 | ||||
| -rw-r--r-- | lua/alpha/telescope/mappings.lua | 2 |
4 files changed, 107 insertions, 106 deletions
diff --git a/lua/alpha/dap.lua b/lua/alpha/dap.lua index bd1a403..e0058e0 100644 --- a/lua/alpha/dap.lua +++ b/lua/alpha/dap.lua @@ -1,102 +1,107 @@ local dap, dapui, dap_install = require("dap"), require("dapui"), require("dap-install") local api = vim.api -dapui.setup() -require('dap-go').setup() +dapui.setup({ + sidebar = { + size = 80, + position = "right", + }, +}) + +require("dap-go").setup() dap_install.config("php", { - configurations = { - { - type = 'php', - request = 'launch', - name = 'Listen for Xdebug', - port = 9003, - pathMappings = function () - local sail = vim.call('composer#query', 'require-dev.laravel/sail') - if sail == "" then - return {['/app'] = vim.fn.getcwd()} - end - return {['/var/www/html'] = vim.fn.getcwd()} - end - } - } + configurations = { + { + type = "php", + request = "launch", + name = "Listen for Xdebug", + port = 9003, + pathMappings = function() + local sail = vim.call("composer#query", "require-dev.laravel/sail") + if sail == "" then + return { ["/app"] = vim.fn.getcwd() } + end + return { ["/var/www/html"] = vim.fn.getcwd() } + end, + }, + }, }) -- Events Listeners dap.listeners.after.event_initialized["dapui_config"] = function() - dapui.open() + dapui.open() end local function with_win(win, fn, ...) - local cur_win = api.nvim_get_current_win() - api.nvim_set_current_win(win) - local ok, err = pcall(fn, ...) - api.nvim_set_current_win(cur_win) - assert(ok, err) + local cur_win = api.nvim_get_current_win() + api.nvim_set_current_win(win) + local ok, err = pcall(fn, ...) + api.nvim_set_current_win(cur_win) + assert(ok, err) end - local function jump_to_location(bufnr, line, column) - -- vscode-go sends columns with 0 - -- That would cause a "Column value outside range" error calling nvim_win_set_cursor - -- nvim-dap says "columnsStartAt1 = true" on initialize :/ - if column == 0 then - column = 1 - end - for _, tab in pairs(api.nvim_list_tabpages()) do - for _, win in pairs(api.nvim_tabpage_list_wins(tab)) do - if api.nvim_win_get_buf(win) == bufnr then - api.nvim_win_set_cursor(win, { line, column - 1 }) - api.nvim_set_current_tabpage(tab) - api.nvim_set_current_win(win) - return - end - end - end - -- TODO review - -- Buffer isn't active in any window; use the first window that is not special - -- (Don't want to move to code in the REPL...) - for _, win in pairs(api.nvim_tabpage_list_wins(0)) do - local winbuf = api.nvim_win_get_buf(win) - if api.nvim_buf_get_option(winbuf, 'buftype') == '' then - local bufchanged, _ = pcall(api.nvim_win_set_buf, win, bufnr) - if bufchanged then - api.nvim_win_set_cursor(win, { line, column - 1 }) - with_win(win, api.nvim_command, 'normal zv') - return - end - end - end + -- vscode-go sends columns with 0 + -- That would cause a "Column value outside range" error calling nvim_win_set_cursor + -- nvim-dap says "columnsStartAt1 = true" on initialize :/ + if column == 0 then + column = 1 + end + for _, tab in pairs(api.nvim_list_tabpages()) do + for _, win in pairs(api.nvim_tabpage_list_wins(tab)) do + if api.nvim_win_get_buf(win) == bufnr then + api.nvim_win_set_cursor(win, { line, column - 1 }) + api.nvim_set_current_tabpage(tab) + api.nvim_set_current_win(win) + return + end + end + end + -- TODO review + -- Buffer isn't active in any window; use the first window that is not special + -- (Don't want to move to code in the REPL...) + for _, win in pairs(api.nvim_tabpage_list_wins(0)) do + local winbuf = api.nvim_win_get_buf(win) + if api.nvim_buf_get_option(winbuf, "buftype") == "" then + local bufchanged, _ = pcall(api.nvim_win_set_buf, win, bufnr) + if bufchanged then + api.nvim_win_set_cursor(win, { line, column - 1 }) + with_win(win, api.nvim_command, "normal zv") + return + end + end + end end +dap.listeners.after["event_stopped"]["alpha"] = function(session, body) + if body.reason ~= "breakpoint" then + return + end + if not session.current_frame then + return + end + local path = session.current_frame.source.path + local line = session.current_frame.line + local column = session.current_frame.column -dap.listeners.after['event_stopped']['alpha'] = function(session, body) - if body.reason ~= 'breakpoint' then - return - end - if not session.current_frame then - return - end - local path = session.current_frame.source.path - local line = session.current_frame.line - local column = session.current_frame.column - - local bufnr = vim.uri_to_bufnr(vim.uri_from_fname(path)) - vim.fn.bufload(bufnr) - jump_to_location(bufnr, line, column) + local bufnr = vim.uri_to_bufnr(vim.uri_from_fname(path)) + vim.fn.bufload(bufnr) + jump_to_location(bufnr, line, column) end -vim.api.nvim_set_keymap('n', '<leader>dbp', ':lua require\'dap\'.toggle_breakpoint()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dd', ':lua require\'dap\'.continue()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>de', ':lua require\'alpha.dap-fn\'.stop()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dl', ':lua require\'dap\'.step_into()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dj', ':lua require\'dap\'.step_over()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dk', ':lua require\'dap\'.step_out()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dt', ':lua require\'dap\'.repl.toggle()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>ds', ':lua require\'alpha.dap-fn\'.scopes()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>da', ':lua require\'alpha.dap-fn\'.fullscopes()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dbl', ':lua require\'dap\'.list_breakpoints()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dbc', ':lua require\'dap\'.clear_breakpoints()<cr>', {noremap = true}) -vim.api.nvim_set_keymap('n', '<leader>dc', ':lua require\'dap\'.run_to_cursor()<cr>', {noremap = true}) +vim.keymap.set("n", "<leader>dbp", require("dap").toggle_breakpoint, { noremap = true }) +vim.keymap.set("n", "<leader>dd", require("dap").continue, { noremap = true }) +vim.keymap.set("n", "<leader>de", require("alpha.dap-fn").stop, { noremap = true }) +vim.keymap.set("n", "<leader>dl", require("dap").step_into, { noremap = true }) +vim.keymap.set("n", "<leader>dj", require("dap").step_over, { noremap = true }) +vim.keymap.set("n", "<leader>dk", require("dap").step_out, { noremap = true }) +vim.keymap.set("n", "<leader>dt", require("dap").repl.toggle, { noremap = true }) +vim.keymap.set("n", "<leader>ds", require("alpha.dap-fn").scopes, { noremap = true }) +vim.keymap.set("n", "<leader>da", require("alpha.dap-fn").fullscopes, { noremap = true }) +vim.keymap.set("n", "<leader>dbl", require("dap").list_breakpoints, { noremap = true }) +vim.keymap.set("n", "<leader>dbc", require("dap").clear_breakpoints, { noremap = true }) +vim.keymap.set("n", "<leader>dc", require("dap").run_to_cursor, { noremap = true }) +vim.keymap.set("v", "<leader>dk", require("dapui").eval, { noremap = true }) -- can be skipped since I can do it running the continue and promt to use the "Debug test" -vim.api.nvim_set_keymap('n', '<leader>dtt', ':lua require\'dap-go\'.debug_test()<cr>', {noremap = true}) +vim.keymap.set("n", "<leader>dtt", require("dap-go").debug_test, { noremap = true }) diff --git a/lua/alpha/lsp.lua b/lua/alpha/lsp.lua index d0ac991..8d48993 100644 --- a/lua/alpha/lsp.lua +++ b/lua/alpha/lsp.lua @@ -22,17 +22,18 @@ local function on_attach(client) vim.keymap.set("n", "<c-]>", vim.lsp.buf.definition, { buffer = 0 }) vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, { buffer = 0 }) vim.keymap.set("n", "<leader>vf", vim.lsp.buf.formatting, { buffer = 0 }) - vim.keymap.set("n", "<leader>vn", vim.lsp.diagnostic.goto_next, { buffer = 0 }) - vim.keymap.set("n", "<leader>vp", vim.lsp.diagnostic.goto_prev, { buffer = 0 }) + vim.keymap.set("n", "<leader>vn", vim.diagnostic.goto_next, { buffer = 0 }) + vim.keymap.set("n", "<leader>vp", vim.diagnostic.goto_prev, { buffer = 0 }) + vim.keymap.set("i", "<c-k>", vim.lsp.buf.signature_help, { buffer = 0 }) + vim.keymap.set("n", "<leader>vo", ":LspRestart<cr>", { noremap = true }) telescope_mapper("gr", "lsp_references", nil, true) telescope_mapper("<leader>pv", "find_symbol", nil, true) - - vim.api.nvim_set_keymap("n", "<leader>vo", ":LspRestart<cr>", { noremap = true }) - - require("lsp_signature").on_attach() + telescope_mapper("<leader>pd", "lsp_document_symbols", nil, true) + telescope_mapper("<leader>vca", "lsp_code_actions", nil, true) vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc" + -- Attach any filetype specific options to the client filetype_attach[filetype](client) end diff --git a/lua/alpha/plugins.lua b/lua/alpha/plugins.lua index 2779a61..3b16980 100644 --- a/lua/alpha/plugins.lua +++ b/lua/alpha/plugins.lua @@ -26,6 +26,8 @@ return require("packer").startup(function(use) use("wbthomason/packer.nvim") use("lewis6991/impatient.nvim") + use("tjdevries/colorbuddy.nvim") + use({ "ThePrimeagen/refactoring.nvim", requires = { @@ -63,7 +65,6 @@ return require("packer").startup(function(use) }, }) - use("tpope/vim-dispatch") use({ "windwp/nvim-projectconfig", config = function() @@ -82,20 +83,16 @@ return require("packer").startup(function(use) "saadparwaiz1/cmp_luasnip", "onsails/lspkind-nvim", "L3MON4D3/LuaSnip", + "windwp/nvim-autopairs", }, }) - use("jose-elias-alvarez/null-ls.nvim") - - use("windwp/nvim-autopairs") - - use("tjdevries/colorbuddy.nvim") - + -- LSP use({ "neovim/nvim-lspconfig", "williamboman/nvim-lsp-installer", "hrsh7th/cmp-nvim-lsp-signature-help", - "ray-x/lsp_signature.nvim", + "jose-elias-alvarez/null-ls.nvim", }) use("github/copilot.vim") @@ -108,6 +105,9 @@ return require("packer").startup(function(use) { "nvim-telescope/telescope-fzy-native.nvim" }, { "kyazdani42/nvim-web-devicons" }, { "nvim-telescope/telescope-file-browser.nvim" }, + { "nvim-telescope/telescope-dap.nvim" }, + { "nvim-telescope/telescope-ui-select.nvim" }, + { "nvim-telescope/telescope-fzf-native.nvim", run = "make" }, }, }) @@ -125,11 +125,6 @@ return require("packer").startup(function(use) end, }) - use("nvim-telescope/telescope-dap.nvim") - use("rcarriga/nvim-notify") - use("nvim-telescope/telescope-ui-select.nvim") - use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use({ "nvim-lualine/lualine.nvim", requires = { "kyazdani42/nvim-web-devicons", opt = true }, @@ -145,9 +140,6 @@ return require("packer").startup(function(use) }, }) - use("szw/vim-maximizer") - use("vim-test/vim-test") - use({ "noahfrederick/vim-laravel", requires = { @@ -161,7 +153,11 @@ return require("packer").startup(function(use) requires = "kyazdani42/nvim-web-devicons", }) - use("dracula/vim") + use("szw/vim-maximizer") + use("vim-test/vim-test") + use("rcarriga/nvim-notify") + + -- use("dracula/vim") use("joshdick/onedark.vim") use("Raimondi/delimitMate") @@ -175,6 +171,7 @@ return require("packer").startup(function(use) use("tpope/vim-eunuch") use("tpope/vim-commentary") use("tpope/vim-tbone") + use("tpope/vim-dispatch") use("jwalton512/vim-blade") diff --git a/lua/alpha/telescope/mappings.lua b/lua/alpha/telescope/mappings.lua index 816b141..4da58c4 100644 --- a/lua/alpha/telescope/mappings.lua +++ b/lua/alpha/telescope/mappings.lua @@ -30,7 +30,6 @@ map_tele("<leader>gn", "worktree_create") map_tele("<leader>pw", "grep_word") map_tele("<leader>ps", "grep_string") map_tele("<leader>pf", "projectionist") -map_tele("<leader>pd", "lsp_document_symbols") map_tele("<leader>rc", "search_config") map_tele("<leader>ph", "help_tags") map_tele("<leader>pe", "buffers") @@ -43,6 +42,5 @@ map_tele("<leader>fp", "my_plugins") map_tele("<leader>rr", "refactor") map_tele("<leader>pa", "laravel") -map_tele("<leader>vca", "lsp_code_actions") return map_tele |