aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home/.config
Commit message (Collapse)AuthorAgeFilesLines
* fix: correct inlay_hint.is_enabled API for Neovim 0.12Libravatar sommerfeld39 hours1-1/+1
| | | | | Neovim 0.12 changed the signature from a table { bufnr = N } to a plain integer bufnr parameter.
* fix: use branch for blink.download (no semver tags)Libravatar sommerfeld39 hours1-1/+1
|
* feat: migrate from lazy.nvim to vim.packLibravatar sommerfeld39 hours13-1543/+1105
| | | | | | | | | | | | | | | | Replace lazy.nvim plugin manager with Neovim 0.12's native vim.pack API. All plugin config files rewritten from lazy.nvim spec tables to imperative require/setup format with explicit vim.keymap.set() calls. Key changes: - vim.pack.add() with ~53 plugins in init.lua - blink.cmp/pairs/download pinned to version tags (vim.version.range) - PackChanged autocmd for markdown-preview build hook - Ordered requires: colorscheme → ui → treesitter → completion → lsp → rest - Plugin setup guards (gitsigns, which-key, blink.cmp) handle deferred plugin/ file loading correctly Net reduction: ~438 lines across 13 files.
* chore: remove stale codecompanion source from blink.cmpLibravatar sommerfeld39 hours1-1/+0
|
* chore: remove explicit plenary.nvim specLibravatar sommerfeld39 hours1-1/+0
| | | | | Auto-loaded as dependency by neogit, gitlinker, gitsigns, and refactoring.nvim. Standalone spec was unnecessary.
* chore: remove auto-cmdheight.nvimLibravatar sommerfeld39 hours1-5/+0
| | | | | Marginal utility (auto-sizing cmdheight) for startup cost of a lazy=false plugin with empty opts.
* chore: remove dead neotest referencesLibravatar sommerfeld39 hours2-4/+0
| | | | | Neotest plugin was removed but its which-key group and close-with-q filetypes remained as dead config.
* chore: remove codecompanion.nvim and mcphub.nvimLibravatar sommerfeld39 hours1-53/+0
| | | | | Redundant with copilot.lua (inline completions via NES) and Copilot CLI (chat/agentic workflows outside the editor).
* feat: update overseer.nvim from v1.6.0 to v2Libravatar sommerfeld39 hours1-18/+21
| | | | | | | | | | | Remove version pin and migrate to v2 API: - run_template() → run_task() - prompt="never" → disallow_prompt=true - Shell template removed → vim.cmd("OverseerShell") - list_tasks recent_first removed → sort by task id This also resolves the vim.validate deprecation warning from checkhealth, which was fixed upstream in v2.0.0.
* fix: resolve which-key overlap and wrong desc in search.luaLibravatar sommerfeld39 hours1-3/+3
| | | | | | | | Remap live_grep from <localleader>g to <localleader>/ to avoid overlapping with git fzf commands (<localleader>gc, gb, gs, etc.) which caused a timeout delay on <localleader>g. Also fix buffers mapping desc that incorrectly said [G]rep.
* refactor: rename ts.lua to treesitter.luaLibravatar sommerfeld39 hours1-0/+0
| | | | | The name ts.lua is ambiguous (TypeScript vs treesitter). Use the full name for clarity.
* chore: delete dead config/utils.luaLibravatar sommerfeld39 hours1-29/+0
| | | | format_hunks is defined but never called anywhere.
* refactor: move LspAttach handler from autocmds.lua to plugins/lsp.luaLibravatar sommerfeld39 hours2-122/+138
| | | | | | The 120-line LspAttach handler (fzf-lua navigation, document highlighting, codelens, inlay hints) belongs with the LSP plugin configuration, not in generic autocmds. This puts all LSP behavior in one file.
* refactor: extract AI plugins to plugins/ai.luaLibravatar sommerfeld39 hours3-95/+97
| | | | | Move copilot.lua from completion.lua and codecompanion from plugins/init.lua into a dedicated ai.lua file. Both are AI-related, not completion.
* refactor: extract auto-session to plugins/session.luaLibravatar sommerfeld39 hours2-86/+84
| | | | | Move auto-session config (85 lines, with overseer and dap integration) from plugins/init.lua into a dedicated session.lua file.
* refactor: extract overseer to plugins/runner.luaLibravatar sommerfeld39 hours2-142/+144
| | | | | Move the overseer task runner config (140 lines, 13 keymaps) from the plugins/init.lua junk drawer into a dedicated runner.lua file.
* refactor: extract editing plugins to plugins/editing.luaLibravatar sommerfeld39 hours2-144/+146
| | | | | Move surround, guess-indent, various-textobjs, dial, and refactoring from the 521-line plugins/init.lua junk drawer into a dedicated editing.lua file.
* refactor: move core config from after/plugin/ and cfg/ to lua/config/Libravatar sommerfeld39 hours5-1/+4
| | | | | | | | | | | | after/plugin/ runs after ALL plugins with unpredictable ordering. Explicit require() from init.lua after lazy.setup() is more predictable and standard. - after/plugin/autocmds.lua → lua/config/autocmds.lua - after/plugin/mappings.lua → lua/config/keymaps.lua - cfg/options.lua → config/options.lua - cfg/utils.lua → config/utils.lua Creates a consistent lua/config/ namespace for all non-plugin configuration.
* refactor: consolidate LspAttach handlers into single callbackLibravatar sommerfeld39 hours2-65/+40
| | | | | | | | Two separate LspAttach handlers existed in autocmds.lua and search.lua, fragmenting LSP behavior across files. Merge fzf-lua LSP navigation mappings into the main LspAttach handler in autocmds.lua using lazy require('fzf-lua'). This makes all LSP-on-attach behavior visible in one place.
* refactor: flatten custom/plugins/ to plugins/Libravatar sommerfeld39 hours9-1/+1
| | | | | | Rename lua/custom/plugins/ to lua/plugins/ following the standard lazy.nvim convention. The extra custom/ nesting added no value. Update import path in init.lua accordingly.
* refactor: remove bufresize.nvim pluginLibravatar sommerfeld39 hours1-5/+0
| | | | | | Vim's built-in equalalways option (default: true) already equalizes windows on resize. The plugin's proportional resizing logic provides negligible benefit.
* refactor: remove hover.nvim pluginLibravatar sommerfeld39 hours1-45/+0
| | | | | | Duplicates built-in K (vim.lsp.buf.hover) with marginal extras (man, dictionary, gh, fold_preview). Three keymaps for one plugin that mostly duplicates a 0.12 built-in default is low value.
* chore: remove synmaxcol, showmatch, and static cmdheightLibravatar sommerfeld39 hours1-3/+0
| | | | | | - synmaxcol=500: irrelevant with treesitter handling all highlighting - showmatch=true: redundant with blink.pairs, causes annoying cursor jump - cmdheight=2: conflicts with auto-cmdheight.nvim which manages it dynamically
* chore: remove undocumented gitsigns internals and no-op highlightsLibravatar sommerfeld39 hours1-7/+0
| | | | | | Remove _threaded_diff and _refresh_staged_on_update (internal/undocumented options prefixed with _, may break on any update). Remove highlights block where all values were nil (just uses defaults, no-op).
* chore: remove commented-out rainbow-delimiters referenceLibravatar sommerfeld39 hours1-1/+0
|
* chore: remove commented-out nvim-treesitter-pairs dependencyLibravatar sommerfeld39 hours1-1/+0
| | | | | Plugin was disabled waiting for main branch support. Remove the dead comment; can be re-added from git history when ready.
* chore: remove commented-out debug configurationsLibravatar sommerfeld39 hours1-108/+0
| | | | | | Remove ~80 lines of commented-out GDB, LLDB, dap-ui, and dap-view configs. These were alternative configurations tried and abandoned. They can be recovered from git history if needed.
* fix: remove stale vim-sneak commentLibravatar sommerfeld39 hours1-1/+0
| | | | | | Comment referenced vim-sneak plugin which is not installed. The semicolon mapping is active and has been since the plugin was removed. Also had a "to to" typo.
* fix: remove redundant config function from refactoring.nvimLibravatar sommerfeld39 hours1-4/+0
| | | | | | Both opts = {} and config calling setup({}) existed. The config function overrides opts entirely, making opts a no-op. Keep only opts = {} since lazy.nvim calls setup() automatically with opts.
* fix: use named mode field for treewalker lazy.nvim key specsLibravatar sommerfeld39 hours1-4/+4
| | | | | | The { "n", "v" } mode table was a 3rd positional element, silently ignored by lazy.nvim. Movement keys only worked in normal mode, not visual. Use named mode field to enable both modes.
* fix: use named fields for codecompanion lazy.nvim key specsLibravatar sommerfeld39 hours1-6/+12
| | | | | | | Mode and opts were positional args (positions 3+4) but lazy.nvim only uses positions 1 (lhs) and 2 (rhs). The mode and desc were silently ignored, making all mappings normal-mode only with no descriptions. Use named fields instead. Also fix [C]chat typo to [C]hat.
* fix: disambiguate duplicate localleader-gc keymapsLibravatar sommerfeld39 hours1-0/+2
| | | | | | Both git_bcommits and git_bcommits_range were bound to <localleader>gc, with the second silently shadowing the first. Split by mode: normal for buffer commits, visual for range commits.
* fix: correct undefined FzfLua global to lowercase fzfluaLibravatar sommerfeld39 hours1-1/+1
| | | | | | FzfLua.actions.file_split references undefined global. The local variable is named fzflua (lowercase). This caused a runtime error when pressing ctrl-x in any fzf-lua file picker.
* style(nvim): replace verbose kickstart comments with concise onesLibravatar sommerfeld39 hours1-9/+2
| | | | | Multi-line tutorial comments explaining CursorHold and inlay hints are unnecessary for the config author. Replaced with one-liners.
* style(nvim): use opt alias consistently and trim trailing blank lineLibravatar sommerfeld39 hours1-2/+1
| | | | | Replace vim.o.mouse with opt.mouse to match the alias defined at the top of the file. Remove extra blank line at EOF.
* refactor(nvim): make P() debug helper explicitly globalLibravatar sommerfeld39 hours1-1/+1
| | | | | Use _G.P instead of implicit global function declaration to make the intent clear and satisfy linters.
* refactor(nvim): remove no-op config function from dial.nvimLibravatar sommerfeld39 hours1-1/+0
| | | | config = function() end serves no purpose and can be removed.
* refactor(nvim): remove duplicate fidget.nvim specLibravatar sommerfeld39 hours1-1/+0
| | | | | fidget.nvim was listed both as a dependency of nvim-lspconfig (line 60) and as a standalone spec (line 214).
* refactor(nvim): replace dofile() with require() for optionsLibravatar sommerfeld39 hours1-1/+1
| | | | | dofile() bypasses vim.loader cache. require() benefits from the byte-compiled module cache enabled on line 1.
* refactor(nvim): rename telescope.lua to search.luaLibravatar sommerfeld39 hours1-0/+0
| | | | | The file contains fzf-lua configuration, not telescope. Name now reflects actual content.
* refactor(nvim): remove ~470 lines of dead telescope configLibravatar sommerfeld39 hours1-355/+0
| | | | | The file was migrated to fzf-lua but the old telescope config remained as commented-out code.
* fix(nvim): remove incorrect expr flag from terminal escape mappingLibravatar sommerfeld39 hours1-1/+1
| | | | | The mapping has a literal rhs string, not an expression. The expr flag caused the rhs to be evaluated as a vimscript expression.
* fix(nvim): resolve leader-rv key conflict in refactoring pluginLibravatar sommerfeld39 hours1-1/+1
| | | | | <leader>rv was mapped to both "Extract Variable" and "Print Variable" in visual mode. Renamed Print Variable to <leader>rV to avoid shadowing.
* fix(nvim): guard nil concatenation in gitcommit ftpluginLibravatar sommerfeld39 hours1-1/+1
| | | | | vim.b.undo_ftplugin may be nil when no upstream ftplugin sets it, causing a nil concatenation error.
* fix(nvim): use vim.o instead of vim.wo for fold defaultsLibravatar sommerfeld39 hours1-2/+2
| | | | | vim.wo sets window-local options that only affect the first window. vim.o sets the global default that applies to all new windows.
* fix(nvim): correct reversed lhs/rhs in Treewalker SwapUp mappingLibravatar sommerfeld39 hours1-1/+1
| | | | | In lazy.nvim key specs the first element is lhs (key) and second is rhs (action). These were swapped, making the mapping broken.
* fix(nvim): split lualine searchcount/selectioncount into separate componentsLibravatar sommerfeld39 hours1-1/+1
| | | | | Was a single string "searchcount, selectioncount" which lualine treated as one nonexistent component name.
* fix(nvim): correct typecript typo in conform configLibravatar sommerfeld39 hours1-1/+1
| | | | | TypeScript files were never formatted by prettier because the filetype key was misspelled as "typecript".
* fix(nvim): correct grepformat missing % before fLibravatar sommerfeld39 hours1-1/+1
| | | | | The pattern "f:%l:%c:%m" was missing the % sigil before f, causing :grep results to fail parsing file names.
* refactor(nvim): remove LSP mappings now default in 0.12Libravatar sommerfeld39 hours1-5/+0
| | | | | | Remove gra (code_action) and <leader>cl (codelens.run) mappings. Neovim 0.12 provides these as gra and grx defaults respectively. Also remove unused nvmap helper function.