aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/gabrielgio/ai.lua5
-rw-r--r--lua/gabrielgio/dap.lua20
-rw-r--r--lua/gabrielgio/formatter.lua11
-rw-r--r--lua/gabrielgio/go.lua5
-rw-r--r--lua/gabrielgio/init.lua1
-rw-r--r--lua/gabrielgio/lazy.lua32
-rw-r--r--lua/gabrielgio/lsp.lua32
-rw-r--r--lua/gabrielgio/mini.lua12
-rw-r--r--lua/gabrielgio/settable.lua4
-rw-r--r--lua/gabrielgio/so.lua4
-rw-r--r--lua/gabrielgio/treesitter.lua2
11 files changed, 87 insertions, 41 deletions
diff --git a/lua/gabrielgio/ai.lua b/lua/gabrielgio/ai.lua
new file mode 100644
index 0000000..08a49a6
--- /dev/null
+++ b/lua/gabrielgio/ai.lua
@@ -0,0 +1,5 @@
+local ok, claudecode = pcall(require, "claudecode")
+
+if ok then
+ claudecode.setup()
+end
diff --git a/lua/gabrielgio/dap.lua b/lua/gabrielgio/dap.lua
index 4d55ca6..42a6e06 100644
--- a/lua/gabrielgio/dap.lua
+++ b/lua/gabrielgio/dap.lua
@@ -1,9 +1,6 @@
-local dap = require("dap")
local key = require("gabrielgio.key")
+local dap = require("dap")
local dapui = require("dapui")
-local dapgo = require("dap-go")
-
-dapgo.setup()
key.nnoremap("<F5>", ":lua require'dap'.continue()<CR>")
key.nnoremap("<F10>", ":lua require'dap'.step_over()<CR>")
@@ -14,6 +11,21 @@ key.nnoremap("<leader>B", ":lua require'dap'.set_breakpoint(vim.fn.input('Condit
key.nnoremap("<leader>dr", ":lua require'dap'.repl.open()<CR>")
key.nnoremap("<Alt-k>", "<Cmd>lua require'dapui'.eval()<CR>")
+dap.listeners.before.attach.dapui_config = function()
+ dapui.open()
+end
+dap.listeners.before.launch.dapui_config = function()
+ dapui.open()
+end
+dap.listeners.before.event_terminated.dapui_config = function()
+ dapui.close()
+end
+dap.listeners.before.event_exited.dapui_config = function()
+ dapui.close()
+end
+
+vim.keymap.set("n", "<leader>di", require("dap.ui.widgets").hover)
+
dap.adapters.delve = {
type = "server",
host = "127.0.0.1",
diff --git a/lua/gabrielgio/formatter.lua b/lua/gabrielgio/formatter.lua
index 5c13d89..893b837 100644
--- a/lua/gabrielgio/formatter.lua
+++ b/lua/gabrielgio/formatter.lua
@@ -13,17 +13,28 @@ local function terraformfmt()
}
end
+local function tspfmt()
+ return {
+ exe = "tsp",
+ args = {
+ "format",
+ },
+ }
+end
+
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 },
+ typescript = { require("formatter.filetypes.javascript").prettier },
css = { require("formatter.filetypes.css").cssbeautify },
scss = { require("formatter.filetypes.css").cssbeautify },
go = { go.gofumpt, go.goimports },
terraform = { terraformfmt },
yaml = { require("formatter.filetypes.yaml").yamlfmt },
+ typespec = { tspfmt },
},
["*"] = {
require("formatter.filetypes.any").remove_trailing_whitespace,
diff --git a/lua/gabrielgio/go.lua b/lua/gabrielgio/go.lua
index e0b27b7..e95c641 100644
--- a/lua/gabrielgio/go.lua
+++ b/lua/gabrielgio/go.lua
@@ -1,11 +1,10 @@
local key = require("gabrielgio.key")
+require("go").setup()
+
vim.g["go_def_mode"] = "gopls"
vim.g["go_info_mode"] = "gopls"
-key.nnoremap("<leader>r", ":GoReferrers<cr>")
-key.nnoremap("<leader>a", ":GoAlternate<cr>")
key.nnoremap("<leader>s", ":GoRename<cr>")
-key.nnoremap("<leader>i", ":GoImplements<cr>")
key.nnoremap("<leader>o", ":GoIfErr<cr>")
key.nnoremap("<leader>gs", ":GoDebugStart .<cr>")
key.nnoremap("<leader>gc", ":GoDebugContinue<cr>")
diff --git a/lua/gabrielgio/init.lua b/lua/gabrielgio/init.lua
index 2c146cf..fcdce8c 100644
--- a/lua/gabrielgio/init.lua
+++ b/lua/gabrielgio/init.lua
@@ -23,3 +23,4 @@ later(require_func("gabrielgio.trouble"))
later(require_func("gabrielgio.dap"))
later(require_func("gabrielgio.term"))
later(require_func("gabrielgio.neovide"))
+later(require_func("gabrielgio.ai"))
diff --git a/lua/gabrielgio/lazy.lua b/lua/gabrielgio/lazy.lua
index 1354b76..77762b1 100644
--- a/lua/gabrielgio/lazy.lua
+++ b/lua/gabrielgio/lazy.lua
@@ -1,19 +1,23 @@
-- this file is an amalgamation of configurations that don't have its own
-- config file and will be lazily loaded
require("gitblame").setup()
-require("neogit").setup()
-require("mason").setup()
-require("mason-lspconfig").setup({
- ensure_installed = {
- "cssls",
- "emmet_ls",
- "gopls",
- "html",
- "lua_ls",
- "pylsp",
- "rust_analyzer",
- "tsserver",
- "zls",
- -- "clangd" not working on alpine
+require("treesitter-context").setup()
+
+vim.diagnostic.config({
+ signs = {
+ text = {
+ [vim.diagnostic.severity.ERROR] = "",
+ [vim.diagnostic.severity.WARN] = "",
+ [vim.diagnostic.severity.INFO] = "",
+ [vim.diagnostic.severity.HINT] = "",
+ },
},
+ virtual_text = false,
+ virtual_lines = {
+ format = function(d)
+ return d.message
+ end,
+ current_line = true,
+ },
+ severity_sort = true,
})
diff --git a/lua/gabrielgio/lsp.lua b/lua/gabrielgio/lsp.lua
index 5eb3908..f659684 100644
--- a/lua/gabrielgio/lsp.lua
+++ b/lua/gabrielgio/lsp.lua
@@ -1,5 +1,3 @@
-local lsp_config = require("lspconfig")
-
local function set_key(mode, keys, v, opts)
return vim.keymap.set(mode, keys, v, opts)
end
@@ -10,6 +8,7 @@ local function on_attach(client, bufnr)
set_key("n", "gd", vim.lsp.buf.definition, bufopts)
set_key("n", "K", vim.lsp.buf.hover, bufopts)
set_key("n", "gi", vim.lsp.buf.implementation, bufopts)
+ set_key("n", "gr", vim.lsp.buf.references, bufopts)
set_key("n", "<C-s>", vim.lsp.buf.signature_help, bufopts)
set_key("n", "<space>rn", vim.lsp.buf.declaration, bufopts)
set_key("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
@@ -17,7 +16,8 @@ local function on_attach(client, bufnr)
end
local function setup(f)
- return f({ on_attach = on_attach })
+ vim.lsp.enable(f)
+ return vim.lsp.config(f, { on_attach = on_attach })
end
local function load_all(l)
@@ -28,23 +28,25 @@ local function load_all(l)
end
load_all({
- lsp_config.rust_analyzer.setup,
- lsp_config.clangd.setup,
- lsp_config.cssls.setup,
- lsp_config.html.setup,
- lsp_config.emmet_ls.setup,
- lsp_config.pylsp.setup,
- lsp_config.zls.setup,
- lsp_config.tsserver.setup,
- lsp_config.terraformls.setup,
+ "rust_analyzer",
+ "clangd",
+ "cssls",
+ "html",
+ "emmet_ls",
+ "pylsp",
+ "zls",
+ "ts_ls",
+ "terraformls",
+ "tsp_server",
})
-lsp_config.gopls.setup({
+vim.lsp.enable("gopls")
+vim.lsp.config("gopls", {
cmd_env = { GOFLAGS = "-tags=unit,integration,e2e" },
on_attach = on_attach,
})
-
-lsp_config.lua_ls.setup({
+vim.lsp.enable("lua_ls")
+vim.lsp.config("lua_ls", {
on_attach = on_attach,
settings = {
Lua = {
diff --git a/lua/gabrielgio/mini.lua b/lua/gabrielgio/mini.lua
index c04c196..4d151e8 100644
--- a/lua/gabrielgio/mini.lua
+++ b/lua/gabrielgio/mini.lua
@@ -1,13 +1,25 @@
+local ai = require("mini.ai")
local cmp = require("mini.completion")
local diff = require("mini.diff")
local icons = require("mini.icons")
+local indentscope = require("mini.indentscope")
local notify = require("mini.notify")
+local snippets = require("mini.snippets")
local status = require("mini.statusline")
local tabline = require("mini.tabline")
+local trailspace = require("mini.trailspace")
+ai.setup()
cmp.setup()
diff.setup({ view = { style = "sign" } })
icons.setup()
notify.setup()
+snippets.setup()
status.setup()
tabline.setup()
+trailspace.setup()
+indentscope.setup({
+ draw = {
+ animation = indentscope.gen_animation.none(),
+ },
+})
diff --git a/lua/gabrielgio/settable.lua b/lua/gabrielgio/settable.lua
index 76aa8d6..387e47d 100644
--- a/lua/gabrielgio/settable.lua
+++ b/lua/gabrielgio/settable.lua
@@ -47,7 +47,8 @@ vim.opt.updatetime = 100
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
vim.opt.foldenable = false
-vim.o.background = "light"
+vim.o.shell = "fish"
+vim.o.background = "dark"
if 1 == 1 then
vim.cmd("colorscheme edge")
else
@@ -66,7 +67,6 @@ vim.opt.compatible = false
vim.opt.syntax = "on"
vim.cmd("filetype plugin indent on")
-key.nnoremap("<leader>w", "<C-w>w")
key.nnoremap("<TAB>", ":bnext<CR>")
key.nnoremap("<S-TAB>", ":bprevious<CR>")
key.nnoremap("<C-TAB>", ":bd<CR>")
diff --git a/lua/gabrielgio/so.lua b/lua/gabrielgio/so.lua
index df04319..d699646 100644
--- a/lua/gabrielgio/so.lua
+++ b/lua/gabrielgio/so.lua
@@ -1,6 +1,6 @@
local key = require("gabrielgio.key")
-local symbols = require("symbols-outline")
+local symbols = require("outline")
-key.nnoremap("<leader>to", ":SymbolsOutline<cr>")
+key.nnoremap("<leader>to", ":Outline<cr>")
symbols.setup()
diff --git a/lua/gabrielgio/treesitter.lua b/lua/gabrielgio/treesitter.lua
index d15aa05..118a890 100644
--- a/lua/gabrielgio/treesitter.lua
+++ b/lua/gabrielgio/treesitter.lua
@@ -1,6 +1,6 @@
local tree_sitter = require("nvim-treesitter.configs")
tree_sitter.setup({
- ensure_installed = { "c", "go" },
+ ensure_installed = {"go"},
highlight = { enable = true },
})