- Document every Lua module with detailed Chinese comments explaining
purpose, design decisions, and key implementation details
- Standardize indentation from tabs to 4 spaces for consistency
- Add .claude/ to .gitignore
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add MagicDuck/grug-far.nvim plugin with lazy loading
- Bind to <leader>sr in normal and visual mode
- Auto-filter by current file extension when opening
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
init.lua now requires lsp.lua on VimEnter, so the file no longer
needs its own lazy.on_event wrapper. This simplifies the code and
keeps the delay-loading decision in one place.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Disable unused built-in plugins at top of init.lua
- Defer treesitter and lsp to VimEnter
- Use packadd for on-demand plugin loading (conform, lspconfig, fugitive)
- Defer clipboard initialization to avoid provider check blocking
- Wrap LSP/diagnostic keymaps in functions to defer module loading
- Defer mini.icons setup to VimEnter
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Extract header_lines and compute max_header_width so the footer
can be padded to match the header's visual centering.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add startup time tracking with hrtime in init.lua
- Configure mini.starter with Neovim ASCII logo and plugin stats
- Switch mini.notify to load on first vim.notify call
- Switch mini.cmdline to load on first ':' keypress
- Add mini.icons eager loading
- Remove x-mode 'p' keymap (handled by mini.operators)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>