diff options
-rw-r--r-- | init.lua | 1 | ||||
-rw-r--r-- | lua/gabrielgio/dap.lua | 64 | ||||
-rw-r--r-- | lua/gabrielgio/formatter.lua | 3 | ||||
-rw-r--r-- | lua/gabrielgio/lazy.lua | 2 | ||||
-rw-r--r-- | lua/gabrielgio/linter.lua | 1 | ||||
-rw-r--r-- | lua/gabrielgio/telescope.lua | 36 |
6 files changed, 86 insertions, 21 deletions
@@ -25,6 +25,7 @@ local pkgs = { "folke/trouble.nvim", -- diagnostics "mfussenegger/nvim-dap", -- add dap support "nvim-neotest/nvim-nio", -- async support library + "rcarriga/nvim-dap-ui", -- dap ui "nvim-lua/plenary.nvim", -- base lib "nvim-telescope/telescope.nvim", -- telescope "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser diff --git a/lua/gabrielgio/dap.lua b/lua/gabrielgio/dap.lua index c5f316b..c5059c6 100644 --- a/lua/gabrielgio/dap.lua +++ b/lua/gabrielgio/dap.lua @@ -1,5 +1,6 @@ local dap = require("dap") local key = require("gabrielgio.key") +local dapui = require("dapui") key.nnoremap("<F5>", ":lua require'dap'.continue()<CR>") key.nnoremap("<F10>", ":lua require'dap'.step_over()<CR>") @@ -8,6 +9,7 @@ key.nnoremap("<F12>", ":lua require'dap'.step_out()<CR>") key.nnoremap("<leader>b", ":lua require'dap'.toggle_breakpoint()<CR>") key.nnoremap("<leader>B", ":lua require'dap'.set_breakpoint(vim.fn.input('Condition: '))<CR>") key.nnoremap("<leader>dr", ":lua require'dap'.repl.open()<CR>") +key.nnoremap("<Alt-k>", "<Cmd>lua require'dapui'.eval()<CR>") dap.adapters.delve = { type = "server", @@ -15,6 +17,19 @@ dap.adapters.delve = { port = 2345, } +dap.adapters.gdb = { + id = "gdb", + type = "executable", + command = "gdb", + args = { "--interpreter=dap", "--eval-command", "set print pretty on" }, +} + +dap.adapters.lldb = { + type = "executable", + command = "lldb-vscode", -- adjust as needed, must be absolute path + name = "lldb", +} + dap.configurations.go = { { type = "delve", @@ -27,3 +42,52 @@ dap.configurations.go = { }, }, } +dap.configurations.zig = { + { + name = "Launch", + type = "gdb", + request = "launch", + program = function() + return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file") + end, + cwd = "${workspaceFolder}", + stopAtBeginningOfMainSubprogram = false, + args = function() + local args_str = vim.fn.input({ + prompt = "Arguments: ", + }) + return vim.split(args_str, " +") + end, + }, + { + name = "Launch", + type = "lldb", + request = "launch", + program = function() + return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file") + end, + cwd = "${workspaceFolder}", + stopAtBeginningOfMainSubprogram = false, + args = function() + local args_str = vim.fn.input({ + prompt = "Arguments: ", + }) + return vim.split(args_str, " +") + end, + }, +} + +dapui.setup({ + layouts = { + { + elements = { + { + id = "watches", + size = 1, + }, + }, + position = "bottom", + size = 10, + }, + }, +}) diff --git a/lua/gabrielgio/formatter.lua b/lua/gabrielgio/formatter.lua index 7f400b6..d06a400 100644 --- a/lua/gabrielgio/formatter.lua +++ b/lua/gabrielgio/formatter.lua @@ -1,10 +1,13 @@ local formatter = require("formatter") +local go = require("formatter.filetypes.go") formatter.setup({ filetype = { nix = { require("formatter.filetypes.nix").alejandra }, lua = { require("formatter.filetypes.lua").stylua }, fish = { require("formatter.filetypes.fish").fishindent }, + javascript = { require("formatter.filetypes.javascript").prettier }, + go = { go.gofumpt, go.goimports }, }, ["*"] = { require("formatter.filetypes.any").remove_trailing_whitespace, diff --git a/lua/gabrielgio/lazy.lua b/lua/gabrielgio/lazy.lua index 93a7b0a..1354b76 100644 --- a/lua/gabrielgio/lazy.lua +++ b/lua/gabrielgio/lazy.lua @@ -5,13 +5,11 @@ require("neogit").setup() require("mason").setup() require("mason-lspconfig").setup({ ensure_installed = { - "buf", "cssls", "emmet_ls", "gopls", "html", "lua_ls", - "nixd", "pylsp", "rust_analyzer", "tsserver", diff --git a/lua/gabrielgio/linter.lua b/lua/gabrielgio/linter.lua index b40c28f..427b236 100644 --- a/lua/gabrielgio/linter.lua +++ b/lua/gabrielgio/linter.lua @@ -3,7 +3,6 @@ local lint = require("lint") lint.linters_by_ft = { go = { "golangcilint" }, lua = { "luacheck" }, - javascript = { "prettier" }, fish = { "fish" }, } diff --git a/lua/gabrielgio/telescope.lua b/lua/gabrielgio/telescope.lua index b1e6cbe..d8089d1 100644 --- a/lua/gabrielgio/telescope.lua +++ b/lua/gabrielgio/telescope.lua @@ -2,24 +2,24 @@ local key = require("gabrielgio.key") local builtins = require("telescope.builtin") local telescope = require("telescope") -telescope.setup({ - defaults = { - file_ignore_patterns = { - "vendor/", - ".git/", - }, - vimgrep_arguments = { - "rg", - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - "--smart-case", - "--hidden", - }, - }, -}) +telescope.setup{ + defaults = { + file_ignore_patterns = { + 'vendor/', + '\\.git/' + }, + vimgrep_arguments = { + "rg", + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + "--hidden" + } + }, +} telescope.load_extension("file_browser") |