aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/init.lua')
-rw-r--r--.config/nvim/init.lua26
1 files changed, 23 insertions, 3 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index f553aaa..3d37a0e 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -7,7 +7,8 @@ vim.o.cc = "80"
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.ignorecase = true
-vim.o.winborder = "single"
+vim.o.winborder="single"
+vim.o.completeopt = "menu,menuone,noselect"
vim.o.mouse = ""
vim.o.guicursor = "n-c-sm-ve:block-Cursor,i-ci:block-Cursor_i,v:block-Cursor_v"
@@ -70,10 +71,11 @@ vim.api.nvim_create_autocmd("FileType", {
vim.keymap.set("n", "<leader>f", ":Pick files tool='rg'<CR>")
vim.keymap.set("v", "p", '"_dP', opts)
+vim.keymap.set("n", "<leader>s", ":SwapFile<CR>")
-- Switch between semantically related files easily :)
local exts = {{"c", "h"}, {"cc", "hh"}, {"cpp", "hpp"}, {"frag", "vert"}}
-vim.keymap.set("n", "<leader>s", function()
+vim.api.nvim_create_user_command("SwapFile", function()
local bufpath = vim.api.nvim_buf_get_name(0)
for _, pair in ipairs(exts) do
for i, ext in ipairs(pair) do
@@ -85,7 +87,23 @@ vim.keymap.set("n", "<leader>s", function()
end
end
print("no files to swap to")
-end)
+end, {})
+
+-- gd and gD don't work until you open a file, so this commands loads all the
+-- files in the directory you're in.
+vim.api.nvim_create_user_command("OpenAll", function()
+ local bufnr = vim.api.nvim_get_current_buf()
+ vim.cmd[[arg **/*]]
+ vim.api.nvim_set_current_buf(bufnr)
+end, {})
+
+vim.api.nvim_create_autocmd("LspAttach", {
+ callback = function(ev)
+ local opts = {silent=true, buffer=ev.buf}
+ vim.keymap.set("n", "gD", function() vim.lsp.buf.declaration() end, opts)
+ vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
+ end,
+})
vim.lsp.enable({"lua_ls", "clangd"})
vim.diagnostic.config({
@@ -96,3 +114,5 @@ vim.diagnostic.config({
vim.cmd.colorscheme("acario_dark")
vim.api.nvim_set_hl(0, "Cursor_i", {bg="#00FFFF"})
vim.api.nvim_set_hl(0, "Cursor_v", {bg="#FF00FF"})
+
+require("vim._core.ui2").enable({})