From e72bc10296c0d4c145abd69a2b00bc8aad0004bb Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Mon, 16 Jun 2025 22:53:16 -0400 Subject: reorg --- .config/nvim/lua/autocmds.lua | 22 ++++++++ .config/nvim/lua/keymaps.lua | 46 ++++++++++++++++ .config/nvim/lua/options.lua | 34 ++++++++++++ .config/nvim/lua/plugins/cmp.lua | 53 ++++++++++++++++++ .config/nvim/lua/plugins/colorscheme.lua | 6 +++ .config/nvim/lua/plugins/comment.lua | 4 ++ .config/nvim/lua/plugins/compile.lua | 15 ++++++ .config/nvim/lua/plugins/cursorline.lua | 11 ++++ .config/nvim/lua/plugins/fidget.lua | 17 ++++++ .config/nvim/lua/plugins/init.lua | 1 + .config/nvim/lua/plugins/lspconfig.lua | 78 +++++++++++++++++++++++++++ .config/nvim/lua/plugins/luadev.lua | 5 ++ .config/nvim/lua/plugins/luasnip.lua | 12 +++++ .config/nvim/lua/plugins/mini.lua | 5 ++ .config/nvim/lua/plugins/neogit.lua | 8 +++ .config/nvim/lua/plugins/oil.lua | 7 +++ .config/nvim/lua/plugins/telescope.lua | 54 +++++++++++++++++++ .config/nvim/lua/plugins/treesitter.lua | 24 +++++++++ .config/nvim/lua/plugins/trouble.lua | 5 ++ .config/nvim/lua/plugins/zig.lua | 5 ++ .config/nvim/lua/user/autocmds.lua | 22 -------- .config/nvim/lua/user/init.lua | 0 .config/nvim/lua/user/keymaps.lua | 46 ---------------- .config/nvim/lua/user/options.lua | 34 ------------ .config/nvim/lua/user/plugins/cmp.lua | 53 ------------------ .config/nvim/lua/user/plugins/colorscheme.lua | 6 --- .config/nvim/lua/user/plugins/comment.lua | 4 -- .config/nvim/lua/user/plugins/compile.lua | 15 ------ .config/nvim/lua/user/plugins/cursorline.lua | 11 ---- .config/nvim/lua/user/plugins/fidget.lua | 17 ------ .config/nvim/lua/user/plugins/init.lua | 1 - .config/nvim/lua/user/plugins/lspconfig.lua | 78 --------------------------- .config/nvim/lua/user/plugins/luadev.lua | 5 -- .config/nvim/lua/user/plugins/luasnip.lua | 12 ----- .config/nvim/lua/user/plugins/mini.lua | 5 -- .config/nvim/lua/user/plugins/neogit.lua | 8 --- .config/nvim/lua/user/plugins/oil.lua | 7 --- .config/nvim/lua/user/plugins/telescope.lua | 54 ------------------- .config/nvim/lua/user/plugins/treesitter.lua | 24 --------- .config/nvim/lua/user/plugins/trouble.lua | 5 -- .config/nvim/lua/user/plugins/zig.lua | 5 -- 41 files changed, 412 insertions(+), 412 deletions(-) create mode 100644 .config/nvim/lua/autocmds.lua create mode 100644 .config/nvim/lua/keymaps.lua create mode 100644 .config/nvim/lua/options.lua create mode 100644 .config/nvim/lua/plugins/cmp.lua create mode 100644 .config/nvim/lua/plugins/colorscheme.lua create mode 100644 .config/nvim/lua/plugins/comment.lua create mode 100644 .config/nvim/lua/plugins/compile.lua create mode 100644 .config/nvim/lua/plugins/cursorline.lua create mode 100644 .config/nvim/lua/plugins/fidget.lua create mode 100644 .config/nvim/lua/plugins/init.lua create mode 100644 .config/nvim/lua/plugins/lspconfig.lua create mode 100644 .config/nvim/lua/plugins/luadev.lua create mode 100644 .config/nvim/lua/plugins/luasnip.lua create mode 100644 .config/nvim/lua/plugins/mini.lua create mode 100644 .config/nvim/lua/plugins/neogit.lua create mode 100644 .config/nvim/lua/plugins/oil.lua create mode 100644 .config/nvim/lua/plugins/telescope.lua create mode 100644 .config/nvim/lua/plugins/treesitter.lua create mode 100644 .config/nvim/lua/plugins/trouble.lua create mode 100644 .config/nvim/lua/plugins/zig.lua delete mode 100644 .config/nvim/lua/user/autocmds.lua delete mode 100644 .config/nvim/lua/user/init.lua delete mode 100644 .config/nvim/lua/user/keymaps.lua delete mode 100644 .config/nvim/lua/user/options.lua delete mode 100644 .config/nvim/lua/user/plugins/cmp.lua delete mode 100644 .config/nvim/lua/user/plugins/colorscheme.lua delete mode 100644 .config/nvim/lua/user/plugins/comment.lua delete mode 100644 .config/nvim/lua/user/plugins/compile.lua delete mode 100644 .config/nvim/lua/user/plugins/cursorline.lua delete mode 100644 .config/nvim/lua/user/plugins/fidget.lua delete mode 100644 .config/nvim/lua/user/plugins/init.lua delete mode 100644 .config/nvim/lua/user/plugins/lspconfig.lua delete mode 100644 .config/nvim/lua/user/plugins/luadev.lua delete mode 100644 .config/nvim/lua/user/plugins/luasnip.lua delete mode 100644 .config/nvim/lua/user/plugins/mini.lua delete mode 100644 .config/nvim/lua/user/plugins/neogit.lua delete mode 100644 .config/nvim/lua/user/plugins/oil.lua delete mode 100644 .config/nvim/lua/user/plugins/telescope.lua delete mode 100644 .config/nvim/lua/user/plugins/treesitter.lua delete mode 100644 .config/nvim/lua/user/plugins/trouble.lua delete mode 100644 .config/nvim/lua/user/plugins/zig.lua (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/autocmds.lua b/.config/nvim/lua/autocmds.lua new file mode 100644 index 0000000..bff808a --- /dev/null +++ b/.config/nvim/lua/autocmds.lua @@ -0,0 +1,22 @@ +-- Wrap and check for spell in text filetypes. +vim.api.nvim_create_autocmd('FileType', { + group = vim.api.nvim_create_augroup('wrap_spell', { clear = true }), + pattern = { 'gitcommit', 'markdown' }, + callback = function() + vim.opt_local.wrap = true + vim.opt_local.spell = true + end, +}) + +-- Go to last loc when opening a buffer. +vim.api.nvim_create_autocmd('BufReadPost', { + group = vim.api.nvim_create_augroup('last_loc', { clear = true }), + callback = function() + local mark = vim.api.nvim_buf_get_mark(0, '"') + local lcount = vim.api.nvim_buf_line_count(0) + if mark[1] > 0 and mark[1] <= lcount then + -- Protected call to catch errors. + pcall(vim.api.nvim_win_set_cursor, 0, mark) + end + end, +}) diff --git a/.config/nvim/lua/keymaps.lua b/.config/nvim/lua/keymaps.lua new file mode 100644 index 0000000..548578f --- /dev/null +++ b/.config/nvim/lua/keymaps.lua @@ -0,0 +1,46 @@ +-- Remap for dealing with word wrap +vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) +vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) + +-- Move to window using the keys +vim.keymap.set('n', '', 'h', { desc = 'Switch to left window' }) +vim.keymap.set('n', '', 'j', { desc = 'Switch to lower window' }) +vim.keymap.set('n', '', 'k', { desc = 'Switch to upper window' }) +vim.keymap.set('n', '', 'l', { desc = 'Switch to right window' }) + +-- Quickfix list +vim.keymap.set('n', '[q', vim.cmd.cprev, { desc = 'Previous quickfix item' }) +vim.keymap.set('n', ']q', vim.cmd.cnext, { desc = 'Next quickfix item' }) + +-- Diagnostics +vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to prev diagnostic message' }) +vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) +vim.keymap.set('n', 'gl', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) +vim.keymap.set('n', 'q', vim.diagnostic.setqflist, { desc = 'Open diagnostic quickfix list' }) + +-- Nagivation in insert +vim.keymap.set({'i', 'c'}, '', '', { desc = "Forward char" }) +vim.keymap.set({'i', 'c'}, '', 'gj', { desc = "Up char" }) +vim.keymap.set({'i', 'c'}, '', 'gk', { desc = "Down char" }) +vim.keymap.set({'i', 'c'}, '', '', { desc = "Backward char" }) + +-- to exit +vim.keymap.set({'i', 'n', 'v', 'c'}, '', '', { desc = "Exit mode" }) +vim.cmd('cmap ') + +-- C-d to delete +vim.keymap.set('i', '', '', { desc = "Delete forward char"}) + +-- Jump forward and back +vim.keymap.set('n', '', '$', { desc = "Delete forward char"}) +vim.keymap.set('n', '', '_', { desc = "Delete forward char"}) + +-- Insert at correct tab +vim.keymap.set("n", "i", function() + local line = vim.api.nvim_get_current_line() + if #line == 0 then + return [["_cc]] + else + return "i" + end +end, { expr = true, noremap = true }) diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua new file mode 100644 index 0000000..2010277 --- /dev/null +++ b/.config/nvim/lua/options.lua @@ -0,0 +1,34 @@ +-- tabs +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 0 +vim.opt.expandtab = false +vim.opt.autoindent = true +vim.opt.smartindent = true +-- display cursor at front of tabs +vim.opt.list = true +vim.opt.listchars = { tab = " " } + +vim.opt.shortmess:append { s = true, I = true } + +vim.g.mapleader = ' ' +vim.g.maplocalleader = '\\' + +-- line numbers +vim.opt.signcolumn="number" +vim.opt.number=true +vim.opt.fillchars:append({ eob = " " }) +vim.opt.scrolloff = 7 + +vim.opt.splitright = true + +vim.opt.cursorline = true + +vim.diagnostic.config({ + virtual_text = true, +}) + +-- undo +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" +vim.opt.undofile = true diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..f515e17 --- /dev/null +++ b/.config/nvim/lua/plugins/cmp.lua @@ -0,0 +1,53 @@ +return { + 'hrsh7th/nvim-cmp', + event = { 'InsertEnter', 'CmdlineEnter' }, + dependencies = { + 'saadparwaiz1/cmp_luasnip', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-cmdline', + 'hrsh7th/cmp-path', + }, + opts = function() + local cmp = require('cmp') + local select_opts = {behavior = cmp.SelectBehavior.Select} + + return { + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({select = true}), + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp', max_item_count = 5, keyword_length = 1 }, + { name = "luasnip", max_item_count = 5, keyword_length = 2 }, + }, { + { name = 'buffer', max_item_count = 2, keyword_length = 3 }, + }, { + { name = 'path', max_item_count = 2 }, + }), + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + --cmp.config.compare.scopes, + cmp.config.compare.score, + + cmp.config.compare.locality, + cmp.config.compare.kind, + --cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, + } + end, +} + diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..acdc3ee --- /dev/null +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,6 @@ +return { + "folke/tokyonight.nvim", + config = function () + vim.cmd[[colorscheme tokyonight-moon]] + end +} diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua new file mode 100644 index 0000000..4fbab38 --- /dev/null +++ b/.config/nvim/lua/plugins/comment.lua @@ -0,0 +1,4 @@ +return { + 'numToStr/Comment.nvim', + config = true, +} diff --git a/.config/nvim/lua/plugins/compile.lua b/.config/nvim/lua/plugins/compile.lua new file mode 100644 index 0000000..7b1ce10 --- /dev/null +++ b/.config/nvim/lua/plugins/compile.lua @@ -0,0 +1,15 @@ +return { + "ej-shafran/compile-mode.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + { "m00qek/baleia.nvim", tag = "v1.3.0" }, + }, + config = function() + vim.keymap.set('n', 'cc', ':vert Compile', { desc = "Compile"}) + vim.keymap.set('n', 'cr', ':vert Recompile', { desc = "Recompile"}) + vim.g.compile_mode = { + -- to add ANSI escape code support, add: + baleia_setup = true, + } + end +} diff --git a/.config/nvim/lua/plugins/cursorline.lua b/.config/nvim/lua/plugins/cursorline.lua new file mode 100644 index 0000000..19839ce --- /dev/null +++ b/.config/nvim/lua/plugins/cursorline.lua @@ -0,0 +1,11 @@ +return { + "ya2s/nvim-cursorline", + opts = { + cursorline = { enable = false }, -- I don't want this plugin fucking with my cursorline + cursorword = { + enable = true, + min_length = 3, + hl = { underline = true }, + } + } +} diff --git a/.config/nvim/lua/plugins/fidget.lua b/.config/nvim/lua/plugins/fidget.lua new file mode 100644 index 0000000..facf28b --- /dev/null +++ b/.config/nvim/lua/plugins/fidget.lua @@ -0,0 +1,17 @@ +return { + 'j-hui/fidget.nvim', + tag = 'v1.4.1', + lazy = true, + opts = { + progress = { + display = { + progress_icon = { pattern = 'line', period = 0.7 }, + }, + }, + notification = { + window = { + winblend = 0, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/init.lua b/.config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..a564707 --- /dev/null +++ b/.config/nvim/lua/plugins/init.lua @@ -0,0 +1 @@ +return {} diff --git a/.config/nvim/lua/plugins/lspconfig.lua b/.config/nvim/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..2fcfa9b --- /dev/null +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,78 @@ +local on_attach = function(client, bufnr) + local keymap = function(mode, keys, func, opts) + opts.buffer = bufnr + vim.keymap.set(mode, keys, func, opts) + end + + keymap('n', 'gd', vim.lsp.buf.definition, { desc = 'Go to definition' }) + keymap('n', 'gD', vim.lsp.buf.declaration, { desc = 'Go to declaration' }) + keymap('n', 'gI', vim.lsp.buf.implementation, { desc = 'Go to implementation' }) + keymap('n', 'gy', vim.lsp.buf.type_definition, { desc = 'Go to type definition' }) + keymap('n', 'gr', vim.lsp.buf.references, { desc = 'List references' }) + + keymap('n', 'ds', vim.lsp.buf.document_symbol, { desc = 'List document symbols' }) + keymap('n', 'ws', vim.lsp.buf.workspace_symbol, { desc = 'List workspace symbols' }) + + keymap('n', 'K', vim.lsp.buf.hover, { desc = 'Show documentation' }) + keymap('n', 'gK', vim.lsp.buf.signature_help, { desc = 'Show signature' }) + keymap('i', '', vim.lsp.buf.signature_help, { desc = 'Show signature' }) + + keymap('n', 'rn', vim.lsp.buf.rename, { desc = 'Rename symbol' }) + keymap('n', 'ca', vim.lsp.buf.code_action, { desc = 'Code action' }) + + keymap('n', 'wa', vim.lsp.buf.add_workspace_folder, { desc = 'Add workspace folder' }) + keymap('n', 'wr', vim.lsp.buf.remove_workspace_folder, { desc = 'Remove workspace folder' }) + keymap('n', 'cf', vim.cmd.ClangdSwitchSourceHeader, { desc = 'Switch source with header' }) + keymap( + 'n', + 'wl', + function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, + { desc = 'List workspace folders' } + ) +end + +return { + 'neovim/nvim-lspconfig', + dependencies = { + "hrsh7th/cmp-nvim-lsp", + 'j-hui/fidget.nvim', + }, + ft = { 'c', 'cpp', 'lua', 'zig' }, + opts = { + servers = { + lua_ls = { + settings = { + Lua = { + workspace = { checkThirdParty = false }, + telemetry = { enable = false }, + }, + }, + }, + clangd = { + settings = {}, + }, + zls = { + settings = {}, + }, + }, + }, + config = function(_, opts) + local lspconfig = require('lspconfig'); + local capabilities = require('cmp_nvim_lsp').default_capabilities() + + for name, conf in pairs(opts.servers) do + lspconfig[name].setup { + capabilities = capabilities, + settings = conf.settings, + on_attach = function(client, bufnr) + local _, err = pcall(on_attach, client, bufnr) + if err then + vim.notify('[on_attach] error: ' .. err, vim.log.levels.ERROR) + else + vim.notify('[on_attach] ' .. client.name .. ' attached to buffer ' .. bufnr, vim.log.levels.INFO) + end + end, + } + end + end +} diff --git a/.config/nvim/lua/plugins/luadev.lua b/.config/nvim/lua/plugins/luadev.lua new file mode 100644 index 0000000..7011f66 --- /dev/null +++ b/.config/nvim/lua/plugins/luadev.lua @@ -0,0 +1,5 @@ +return { + "folke/lazydev.nvim", + ft = "lua", + config = true, +} diff --git a/.config/nvim/lua/plugins/luasnip.lua b/.config/nvim/lua/plugins/luasnip.lua new file mode 100644 index 0000000..8ed8c24 --- /dev/null +++ b/.config/nvim/lua/plugins/luasnip.lua @@ -0,0 +1,12 @@ +return { + 'L3MON4D3/LuaSnip', + lazy = true, + dependencies = { 'rafamadriz/friendly-snippets' }, + keys = { + { '', function() require('luasnip').jump(-1) end, mode = { 'i', 's' } }, + { '', function() require('luasnip').jump(1) end, mode = { 'i', 's' } }, + }, + config = function() + require('luasnip.loaders.from_vscode').lazy_load() + end, +} diff --git a/.config/nvim/lua/plugins/mini.lua b/.config/nvim/lua/plugins/mini.lua new file mode 100644 index 0000000..5698563 --- /dev/null +++ b/.config/nvim/lua/plugins/mini.lua @@ -0,0 +1,5 @@ +return { + 'windwp/nvim-autopairs', + event = "InsertEnter", + config = true +} diff --git a/.config/nvim/lua/plugins/neogit.lua b/.config/nvim/lua/plugins/neogit.lua new file mode 100644 index 0000000..0f5f90e --- /dev/null +++ b/.config/nvim/lua/plugins/neogit.lua @@ -0,0 +1,8 @@ +return { + "NeogitOrg/neogit", + dependencies = { + "nvim-lua/plenary.nvim", -- required + "sindrets/diffview.nvim", -- optional - Diff integration + "nvim-telescope/telescope.nvim", -- optional + }, +} diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..714a05f --- /dev/null +++ b/.config/nvim/lua/plugins/oil.lua @@ -0,0 +1,7 @@ +return { + 'stevearc/oil.nvim', + ---@module 'oil' + opts = {}, + dependencies = { { "echasnovski/mini.icons", opts = {} } }, + lazy = false, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..ab0e24f --- /dev/null +++ b/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,54 @@ +return { + 'nvim-telescope/telescope.nvim', + cmd = 'Telescope', + dependencies = { + 'nvim-lua/plenary.nvim', + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + }, + keys = function() + local lazy_telescope = function(builtin) + return function(...) + require('telescope.builtin')[builtin](...) + end + end + return { + { 'fb', lazy_telescope('buffers'), desc = 'Find buffers' }, + { 'fd', lazy_telescope('diagnostics'), desc = 'Find diagnostics' }, + { 'ff', lazy_telescope('git_files'), desc = 'Find Git files' }, + { 'fF', lazy_telescope('find_files'), desc = 'Find files' }, + { 'fg', lazy_telescope('live_grep'), desc = 'Find files by content' }, + { 'fh', lazy_telescope('help_tags'), desc = 'Find help tags' }, + { 'fo', lazy_telescope('oldfiles'), desc = 'Find recently opened files' }, + { 'fw', lazy_telescope('grep_string'), desc = 'Find word in buffer' }, + { 'f/', lazy_telescope('current_buffer_fuzzy_find'), desc = 'Find fuzzy match in current buffer' }, + } + end, + opts = function() + return { + extensions = { + fzf = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = 'smart_case', + } + }, + } + end, + config = function() + local telescope = require('telescope') + telescope.setup({ + defaults = { + mappings = { + i = { + [""] = require('telescope.actions').close, + }, + n = { + [""] = require('telescope.actions').close, + }, + }, + }, + }) + telescope.load_extension('fzf') + end, +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..268e13d --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,24 @@ +return { + 'nvim-treesitter/nvim-treesitter', + ft = { 'c', 'cpp', 'zig', 'lua', 'rust' }, + build = ':TSUpdate', + config = function() + require('nvim-treesitter.configs').setup { + -- Add languages to be installed here that you want installed for treesitter + ensure_installed = { 'c', 'cpp', 'lua', 'rust', 'vimdoc', 'vim', 'zig' }, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = false, + + highlight = { + enable = true, + disable = function(_, bufnr) return vim.api.nvim_buf_line_count(bufnr) > 10000 end, + additional_vim_regex_highlighting = false, + }, + } + end, +} diff --git a/.config/nvim/lua/plugins/trouble.lua b/.config/nvim/lua/plugins/trouble.lua new file mode 100644 index 0000000..1e81a92 --- /dev/null +++ b/.config/nvim/lua/plugins/trouble.lua @@ -0,0 +1,5 @@ +return { + "folke/trouble.nvim", + config = true, + cmd = "Trouble" +} diff --git a/.config/nvim/lua/plugins/zig.lua b/.config/nvim/lua/plugins/zig.lua new file mode 100644 index 0000000..394c450 --- /dev/null +++ b/.config/nvim/lua/plugins/zig.lua @@ -0,0 +1,5 @@ +return { + "ziglang/zig.vim", + ft = "zig", +} + diff --git a/.config/nvim/lua/user/autocmds.lua b/.config/nvim/lua/user/autocmds.lua deleted file mode 100644 index bff808a..0000000 --- a/.config/nvim/lua/user/autocmds.lua +++ /dev/null @@ -1,22 +0,0 @@ --- Wrap and check for spell in text filetypes. -vim.api.nvim_create_autocmd('FileType', { - group = vim.api.nvim_create_augroup('wrap_spell', { clear = true }), - pattern = { 'gitcommit', 'markdown' }, - callback = function() - vim.opt_local.wrap = true - vim.opt_local.spell = true - end, -}) - --- Go to last loc when opening a buffer. -vim.api.nvim_create_autocmd('BufReadPost', { - group = vim.api.nvim_create_augroup('last_loc', { clear = true }), - callback = function() - local mark = vim.api.nvim_buf_get_mark(0, '"') - local lcount = vim.api.nvim_buf_line_count(0) - if mark[1] > 0 and mark[1] <= lcount then - -- Protected call to catch errors. - pcall(vim.api.nvim_win_set_cursor, 0, mark) - end - end, -}) diff --git a/.config/nvim/lua/user/init.lua b/.config/nvim/lua/user/init.lua deleted file mode 100644 index e69de29..0000000 diff --git a/.config/nvim/lua/user/keymaps.lua b/.config/nvim/lua/user/keymaps.lua deleted file mode 100644 index 548578f..0000000 --- a/.config/nvim/lua/user/keymaps.lua +++ /dev/null @@ -1,46 +0,0 @@ --- Remap for dealing with word wrap -vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) - --- Move to window using the keys -vim.keymap.set('n', '', 'h', { desc = 'Switch to left window' }) -vim.keymap.set('n', '', 'j', { desc = 'Switch to lower window' }) -vim.keymap.set('n', '', 'k', { desc = 'Switch to upper window' }) -vim.keymap.set('n', '', 'l', { desc = 'Switch to right window' }) - --- Quickfix list -vim.keymap.set('n', '[q', vim.cmd.cprev, { desc = 'Previous quickfix item' }) -vim.keymap.set('n', ']q', vim.cmd.cnext, { desc = 'Next quickfix item' }) - --- Diagnostics -vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to prev diagnostic message' }) -vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) -vim.keymap.set('n', 'gl', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) -vim.keymap.set('n', 'q', vim.diagnostic.setqflist, { desc = 'Open diagnostic quickfix list' }) - --- Nagivation in insert -vim.keymap.set({'i', 'c'}, '', '', { desc = "Forward char" }) -vim.keymap.set({'i', 'c'}, '', 'gj', { desc = "Up char" }) -vim.keymap.set({'i', 'c'}, '', 'gk', { desc = "Down char" }) -vim.keymap.set({'i', 'c'}, '', '', { desc = "Backward char" }) - --- to exit -vim.keymap.set({'i', 'n', 'v', 'c'}, '', '', { desc = "Exit mode" }) -vim.cmd('cmap ') - --- C-d to delete -vim.keymap.set('i', '', '', { desc = "Delete forward char"}) - --- Jump forward and back -vim.keymap.set('n', '', '$', { desc = "Delete forward char"}) -vim.keymap.set('n', '', '_', { desc = "Delete forward char"}) - --- Insert at correct tab -vim.keymap.set("n", "i", function() - local line = vim.api.nvim_get_current_line() - if #line == 0 then - return [["_cc]] - else - return "i" - end -end, { expr = true, noremap = true }) diff --git a/.config/nvim/lua/user/options.lua b/.config/nvim/lua/user/options.lua deleted file mode 100644 index 2010277..0000000 --- a/.config/nvim/lua/user/options.lua +++ /dev/null @@ -1,34 +0,0 @@ --- tabs -vim.opt.tabstop = 4 -vim.opt.shiftwidth = 0 -vim.opt.expandtab = false -vim.opt.autoindent = true -vim.opt.smartindent = true --- display cursor at front of tabs -vim.opt.list = true -vim.opt.listchars = { tab = " " } - -vim.opt.shortmess:append { s = true, I = true } - -vim.g.mapleader = ' ' -vim.g.maplocalleader = '\\' - --- line numbers -vim.opt.signcolumn="number" -vim.opt.number=true -vim.opt.fillchars:append({ eob = " " }) -vim.opt.scrolloff = 7 - -vim.opt.splitright = true - -vim.opt.cursorline = true - -vim.diagnostic.config({ - virtual_text = true, -}) - --- undo -vim.opt.swapfile = false -vim.opt.backup = false -vim.opt.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" -vim.opt.undofile = true diff --git a/.config/nvim/lua/user/plugins/cmp.lua b/.config/nvim/lua/user/plugins/cmp.lua deleted file mode 100644 index f515e17..0000000 --- a/.config/nvim/lua/user/plugins/cmp.lua +++ /dev/null @@ -1,53 +0,0 @@ -return { - 'hrsh7th/nvim-cmp', - event = { 'InsertEnter', 'CmdlineEnter' }, - dependencies = { - 'saadparwaiz1/cmp_luasnip', - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-cmdline', - 'hrsh7th/cmp-path', - }, - opts = function() - local cmp = require('cmp') - local select_opts = {behavior = cmp.SelectBehavior.Select} - - return { - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end, - }, - mapping = { - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({select = true}), - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp', max_item_count = 5, keyword_length = 1 }, - { name = "luasnip", max_item_count = 5, keyword_length = 2 }, - }, { - { name = 'buffer', max_item_count = 2, keyword_length = 3 }, - }, { - { name = 'path', max_item_count = 2 }, - }), - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - --cmp.config.compare.scopes, - cmp.config.compare.score, - - cmp.config.compare.locality, - cmp.config.compare.kind, - --cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - } - end, -} - diff --git a/.config/nvim/lua/user/plugins/colorscheme.lua b/.config/nvim/lua/user/plugins/colorscheme.lua deleted file mode 100644 index acdc3ee..0000000 --- a/.config/nvim/lua/user/plugins/colorscheme.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - "folke/tokyonight.nvim", - config = function () - vim.cmd[[colorscheme tokyonight-moon]] - end -} diff --git a/.config/nvim/lua/user/plugins/comment.lua b/.config/nvim/lua/user/plugins/comment.lua deleted file mode 100644 index 4fbab38..0000000 --- a/.config/nvim/lua/user/plugins/comment.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - 'numToStr/Comment.nvim', - config = true, -} diff --git a/.config/nvim/lua/user/plugins/compile.lua b/.config/nvim/lua/user/plugins/compile.lua deleted file mode 100644 index 7b1ce10..0000000 --- a/.config/nvim/lua/user/plugins/compile.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - "ej-shafran/compile-mode.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - { "m00qek/baleia.nvim", tag = "v1.3.0" }, - }, - config = function() - vim.keymap.set('n', 'cc', ':vert Compile', { desc = "Compile"}) - vim.keymap.set('n', 'cr', ':vert Recompile', { desc = "Recompile"}) - vim.g.compile_mode = { - -- to add ANSI escape code support, add: - baleia_setup = true, - } - end -} diff --git a/.config/nvim/lua/user/plugins/cursorline.lua b/.config/nvim/lua/user/plugins/cursorline.lua deleted file mode 100644 index 19839ce..0000000 --- a/.config/nvim/lua/user/plugins/cursorline.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - "ya2s/nvim-cursorline", - opts = { - cursorline = { enable = false }, -- I don't want this plugin fucking with my cursorline - cursorword = { - enable = true, - min_length = 3, - hl = { underline = true }, - } - } -} diff --git a/.config/nvim/lua/user/plugins/fidget.lua b/.config/nvim/lua/user/plugins/fidget.lua deleted file mode 100644 index facf28b..0000000 --- a/.config/nvim/lua/user/plugins/fidget.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - 'j-hui/fidget.nvim', - tag = 'v1.4.1', - lazy = true, - opts = { - progress = { - display = { - progress_icon = { pattern = 'line', period = 0.7 }, - }, - }, - notification = { - window = { - winblend = 0, - }, - }, - }, -} diff --git a/.config/nvim/lua/user/plugins/init.lua b/.config/nvim/lua/user/plugins/init.lua deleted file mode 100644 index a564707..0000000 --- a/.config/nvim/lua/user/plugins/init.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/.config/nvim/lua/user/plugins/lspconfig.lua b/.config/nvim/lua/user/plugins/lspconfig.lua deleted file mode 100644 index 2fcfa9b..0000000 --- a/.config/nvim/lua/user/plugins/lspconfig.lua +++ /dev/null @@ -1,78 +0,0 @@ -local on_attach = function(client, bufnr) - local keymap = function(mode, keys, func, opts) - opts.buffer = bufnr - vim.keymap.set(mode, keys, func, opts) - end - - keymap('n', 'gd', vim.lsp.buf.definition, { desc = 'Go to definition' }) - keymap('n', 'gD', vim.lsp.buf.declaration, { desc = 'Go to declaration' }) - keymap('n', 'gI', vim.lsp.buf.implementation, { desc = 'Go to implementation' }) - keymap('n', 'gy', vim.lsp.buf.type_definition, { desc = 'Go to type definition' }) - keymap('n', 'gr', vim.lsp.buf.references, { desc = 'List references' }) - - keymap('n', 'ds', vim.lsp.buf.document_symbol, { desc = 'List document symbols' }) - keymap('n', 'ws', vim.lsp.buf.workspace_symbol, { desc = 'List workspace symbols' }) - - keymap('n', 'K', vim.lsp.buf.hover, { desc = 'Show documentation' }) - keymap('n', 'gK', vim.lsp.buf.signature_help, { desc = 'Show signature' }) - keymap('i', '', vim.lsp.buf.signature_help, { desc = 'Show signature' }) - - keymap('n', 'rn', vim.lsp.buf.rename, { desc = 'Rename symbol' }) - keymap('n', 'ca', vim.lsp.buf.code_action, { desc = 'Code action' }) - - keymap('n', 'wa', vim.lsp.buf.add_workspace_folder, { desc = 'Add workspace folder' }) - keymap('n', 'wr', vim.lsp.buf.remove_workspace_folder, { desc = 'Remove workspace folder' }) - keymap('n', 'cf', vim.cmd.ClangdSwitchSourceHeader, { desc = 'Switch source with header' }) - keymap( - 'n', - 'wl', - function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, - { desc = 'List workspace folders' } - ) -end - -return { - 'neovim/nvim-lspconfig', - dependencies = { - "hrsh7th/cmp-nvim-lsp", - 'j-hui/fidget.nvim', - }, - ft = { 'c', 'cpp', 'lua', 'zig' }, - opts = { - servers = { - lua_ls = { - settings = { - Lua = { - workspace = { checkThirdParty = false }, - telemetry = { enable = false }, - }, - }, - }, - clangd = { - settings = {}, - }, - zls = { - settings = {}, - }, - }, - }, - config = function(_, opts) - local lspconfig = require('lspconfig'); - local capabilities = require('cmp_nvim_lsp').default_capabilities() - - for name, conf in pairs(opts.servers) do - lspconfig[name].setup { - capabilities = capabilities, - settings = conf.settings, - on_attach = function(client, bufnr) - local _, err = pcall(on_attach, client, bufnr) - if err then - vim.notify('[on_attach] error: ' .. err, vim.log.levels.ERROR) - else - vim.notify('[on_attach] ' .. client.name .. ' attached to buffer ' .. bufnr, vim.log.levels.INFO) - end - end, - } - end - end -} diff --git a/.config/nvim/lua/user/plugins/luadev.lua b/.config/nvim/lua/user/plugins/luadev.lua deleted file mode 100644 index 7011f66..0000000 --- a/.config/nvim/lua/user/plugins/luadev.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - "folke/lazydev.nvim", - ft = "lua", - config = true, -} diff --git a/.config/nvim/lua/user/plugins/luasnip.lua b/.config/nvim/lua/user/plugins/luasnip.lua deleted file mode 100644 index 8ed8c24..0000000 --- a/.config/nvim/lua/user/plugins/luasnip.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - 'L3MON4D3/LuaSnip', - lazy = true, - dependencies = { 'rafamadriz/friendly-snippets' }, - keys = { - { '', function() require('luasnip').jump(-1) end, mode = { 'i', 's' } }, - { '', function() require('luasnip').jump(1) end, mode = { 'i', 's' } }, - }, - config = function() - require('luasnip.loaders.from_vscode').lazy_load() - end, -} diff --git a/.config/nvim/lua/user/plugins/mini.lua b/.config/nvim/lua/user/plugins/mini.lua deleted file mode 100644 index 5698563..0000000 --- a/.config/nvim/lua/user/plugins/mini.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - 'windwp/nvim-autopairs', - event = "InsertEnter", - config = true -} diff --git a/.config/nvim/lua/user/plugins/neogit.lua b/.config/nvim/lua/user/plugins/neogit.lua deleted file mode 100644 index 0f5f90e..0000000 --- a/.config/nvim/lua/user/plugins/neogit.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - "NeogitOrg/neogit", - dependencies = { - "nvim-lua/plenary.nvim", -- required - "sindrets/diffview.nvim", -- optional - Diff integration - "nvim-telescope/telescope.nvim", -- optional - }, -} diff --git a/.config/nvim/lua/user/plugins/oil.lua b/.config/nvim/lua/user/plugins/oil.lua deleted file mode 100644 index 714a05f..0000000 --- a/.config/nvim/lua/user/plugins/oil.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - 'stevearc/oil.nvim', - ---@module 'oil' - opts = {}, - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - lazy = false, -} diff --git a/.config/nvim/lua/user/plugins/telescope.lua b/.config/nvim/lua/user/plugins/telescope.lua deleted file mode 100644 index ab0e24f..0000000 --- a/.config/nvim/lua/user/plugins/telescope.lua +++ /dev/null @@ -1,54 +0,0 @@ -return { - 'nvim-telescope/telescope.nvim', - cmd = 'Telescope', - dependencies = { - 'nvim-lua/plenary.nvim', - { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, - }, - keys = function() - local lazy_telescope = function(builtin) - return function(...) - require('telescope.builtin')[builtin](...) - end - end - return { - { 'fb', lazy_telescope('buffers'), desc = 'Find buffers' }, - { 'fd', lazy_telescope('diagnostics'), desc = 'Find diagnostics' }, - { 'ff', lazy_telescope('git_files'), desc = 'Find Git files' }, - { 'fF', lazy_telescope('find_files'), desc = 'Find files' }, - { 'fg', lazy_telescope('live_grep'), desc = 'Find files by content' }, - { 'fh', lazy_telescope('help_tags'), desc = 'Find help tags' }, - { 'fo', lazy_telescope('oldfiles'), desc = 'Find recently opened files' }, - { 'fw', lazy_telescope('grep_string'), desc = 'Find word in buffer' }, - { 'f/', lazy_telescope('current_buffer_fuzzy_find'), desc = 'Find fuzzy match in current buffer' }, - } - end, - opts = function() - return { - extensions = { - fzf = { - fuzzy = true, - override_generic_sorter = true, - override_file_sorter = true, - case_mode = 'smart_case', - } - }, - } - end, - config = function() - local telescope = require('telescope') - telescope.setup({ - defaults = { - mappings = { - i = { - [""] = require('telescope.actions').close, - }, - n = { - [""] = require('telescope.actions').close, - }, - }, - }, - }) - telescope.load_extension('fzf') - end, -} diff --git a/.config/nvim/lua/user/plugins/treesitter.lua b/.config/nvim/lua/user/plugins/treesitter.lua deleted file mode 100644 index 268e13d..0000000 --- a/.config/nvim/lua/user/plugins/treesitter.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - 'nvim-treesitter/nvim-treesitter', - ft = { 'c', 'cpp', 'zig', 'lua', 'rust' }, - build = ':TSUpdate', - config = function() - require('nvim-treesitter.configs').setup { - -- Add languages to be installed here that you want installed for treesitter - ensure_installed = { 'c', 'cpp', 'lua', 'rust', 'vimdoc', 'vim', 'zig' }, - - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = false, - - highlight = { - enable = true, - disable = function(_, bufnr) return vim.api.nvim_buf_line_count(bufnr) > 10000 end, - additional_vim_regex_highlighting = false, - }, - } - end, -} diff --git a/.config/nvim/lua/user/plugins/trouble.lua b/.config/nvim/lua/user/plugins/trouble.lua deleted file mode 100644 index 1e81a92..0000000 --- a/.config/nvim/lua/user/plugins/trouble.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - "folke/trouble.nvim", - config = true, - cmd = "Trouble" -} diff --git a/.config/nvim/lua/user/plugins/zig.lua b/.config/nvim/lua/user/plugins/zig.lua deleted file mode 100644 index 394c450..0000000 --- a/.config/nvim/lua/user/plugins/zig.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - "ziglang/zig.vim", - ft = "zig", -} - -- cgit v1.2.3