aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.lua1
-rw-r--r--lua/gabrielgio/dap.lua64
-rw-r--r--lua/gabrielgio/formatter.lua3
-rw-r--r--lua/gabrielgio/lazy.lua2
-rw-r--r--lua/gabrielgio/linter.lua1
-rw-r--r--lua/gabrielgio/telescope.lua36
6 files changed, 86 insertions, 21 deletions
diff --git a/init.lua b/init.lua
index 4e78cd4..97e7598 100644
--- a/init.lua
+++ b/init.lua
@@ -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")