diff options
| author | Xander Swan <email> | 2025-12-03 10:00:42 -0500 |
|---|---|---|
| committer | Xander Swan <email> | 2025-12-03 10:00:42 -0500 |
| commit | 33b2b5963b5c2b1db088f80d7076d26bb0eab877 (patch) | |
| tree | 5207797a9621bac35e0c830bf0668c5c3ff44d69 /.config/nvim | |
| parent | b245d5c510dd3d148224ca41683e424183be1939 (diff) | |
update nvim bit
Diffstat (limited to '.config/nvim')
| -rw-r--r-- | .config/nvim/colors/mine.lua | 4 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 47 |
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"}) |
