aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim
diff options
context:
space:
mode:
authorXander Swan <email>2025-12-03 10:00:42 -0500
committerXander Swan <email>2025-12-03 10:00:42 -0500
commit33b2b5963b5c2b1db088f80d7076d26bb0eab877 (patch)
tree5207797a9621bac35e0c830bf0668c5c3ff44d69 /.config/nvim
parentb245d5c510dd3d148224ca41683e424183be1939 (diff)
update nvim bit
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/colors/mine.lua4
-rw-r--r--.config/nvim/init.lua47
2 files changed, 43 insertions, 8 deletions
diff --git a/.config/nvim/colors/mine.lua b/.config/nvim/colors/mine.lua
index e88d74b..06fd8f1 100644
--- a/.config/nvim/colors/mine.lua
+++ b/.config/nvim/colors/mine.lua
@@ -50,8 +50,8 @@ local colors = {
["Operator"] = {fg="#AAAABB"},
["PreProc"] = {fg="#FF4499"},
- ["Typedef"] = {fg="#997FFF"},
- ["Type"] = {fg="#997FFF"},
+ ["Typedef"] = {fg="#AA7FFF"},
+ ["Type"] = {fg="#AA7FFF"},
["StorageClass"] = {fg="#4499FF"},
["Structure"] = {fg="#4499FF"},
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 53de7f5..fbf9459 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -1,5 +1,7 @@
---@diagnostic disable: undefined-global
+local ns = vim.api.nvim_create_namespace("mine")
+
vim.o.termguicolors = true
vim.o.relativenumber = true
vim.o.number = true
@@ -10,7 +12,7 @@ vim.o.splitbelow = true
vim.o.winborder = "bold"
vim.o.signcolumn = "yes"
vim.o.guicursor =
- "n-v:block,i-c:ver25,r-cr:hor100,i-r-c:blinkon100,i-r-c:blinkoff100,n-v:blinkon0"
+"n-v:block,i-c:ver25,r-cr:hor100,i-r-c:blinkon100,i-r-c:blinkoff100,n-v:blinkon0"
vim.o.tabstop = 2
vim.o.shiftwidth = 0
vim.o.expandtab = true
@@ -23,32 +25,65 @@ vim.pack.add({
{src="https://github.com/williamboman/mason.nvim"},
{src="https://github.com/neovim/nvim-lspconfig"},
{src="https://github.com/nvim-treesitter/nvim-treesitter"},
- {src="https://github.com/rgroli/other.nvim"},
})
require("mason").setup({})
-require("other-nvim").setup({mappings={"c"}})
require("fzf-lua").setup(require("fzf-lua.profiles.telescope"))
require("nvim-treesitter.configs").setup(
{ensure_installed = {"lua", "c"},
- highlight = {enable=true}
+ highlight = {enable=true}
})
+-- Switch between semantically related files easily :)
+local exts = {{"c", "h"}, {"cc", "hh"}, {"frag", "vert"}}
+vim.keymap.set("n", "<leader>s", function()
+ local bufpath = vim.api.nvim_buf_get_name(0)
+ for _, pair in ipairs(exts) do
+ for i, ext in ipairs(pair) do
+ if bufpath:match("%." .. ext .. "$") then
+ local other = pair[i % #pair + 1]
+ vim.cmd("e " .. bufpath:gsub("%." .. ext .. "$", "." .. other))
+ return
+ end
+ end
+ end
+ print("no files to swap to")
+end, {})
+
vim.keymap.set("n", "<leader>e", ":Ex<CR>", {})
-vim.keymap.set("n", "<leader>j", ":Other<CR>", {})
+-- I'm constantly hitting this and I hate it
+vim.keymap.set("n", "<C-z>", "<Nop>", {})
vim.keymap.set("n", "<C-p>", function() FzfLua.files({}) end, {})
vim.keymap.set("n", "<C-f>", function() FzfLua.grep() end, {})
vim.keymap.set("n", "gf", ":vert wincmd f<CR>", {silent=true})
+vim.keymap.set("n", "<leader>b", ":ToScratch<CR>", {silent=true})
+
+-- open up the current buffer in a scratch buffer
+vim.api.nvim_create_user_command("ToScratch", function()
+ local linec = vim.api.nvim_buf_line_count(0)
+ local lines = vim.api.nvim_buf_get_lines(0, 0, linec, false)
+ local buf = vim.api.nvim_create_buf(false, true)
+ vim.api.nvim_set_option_value(
+ "filetype", vim.api.nvim_get_option_value("filetype", {buf=0}), {buf=buf})
+ vim.api.nvim_buf_set_lines(buf, 0, linec, false, lines)
+ vim.api.nvim_open_win(buf, false, {split="below", win=0})
+end, {nargs=0})
vim.lsp.enable({"lua_ls", "clangd"})
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
+ local chars = {}
+ for i = 32, 126 do
+ table.insert(chars, string.char(i))
+ end
+ client.server_capabilities.completionProvider.triggerCharacters = chars
if client:supports_method("textDocument/completion") then
vim.lsp.completion.enable(true, client.id, ev.buf, {autotrigger=true})
end
- end,
+ end,
})
vim.diagnostic.config({virtual_text=true, severity_sort=true})
vim.cmd.colorscheme("mine")
+vim.api.nvim_set_hl(0, "Normal", {bg="none"})