52 Commits

Author SHA1 Message Date
xfy
f21e467b88 refactor(pack): 合并 grug-far 键位并支持 visual 选中文本预填充 2026-06-12 18:14:34 +08:00
xfy
81f2a8d4cb fix(lazy): 命令触发懒加载保留完整参数且加载失败时不删命令 2026-06-12 18:14:29 +08:00
xfy
beb75d3a17 fix(lazy): 按键触发加载失败时不执行后续 action
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 18:08:48 +08:00
xfy
51302fe9f2 fix(lazy): setup 成功后才标记模块为已加载
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 18:06:18 +08:00
xfy
f7cf22ef2a feat(git): 新增 <leader>gl 运行 :GcLog 2026-06-11 23:57:41 +08:00
xfy
e6176c9f5d fix(treesitter): 移除 Neovim 内置的 parser,避免 Windows MSVC 编译失败 2026-06-11 23:49:40 +08:00
xfy
861948efe9 feat(git): 新增 <leader>ghr 重置当前 hunk 功能 2026-06-05 13:58:52 +08:00
xfy
e0c2b38b3b refactor: 重构代码组织,统一模块职责与懒加载策略
- 拆分 pack.lua 过载内容:starter→plugins/starter.lua, files→plugins/files.lua
- 统一 Git 键位到 git.lua,统一 pick 键位到 pick.lua
- 移动 TextYankPost autocmd 从 options.lua 到 autocmds.lua
- 修正 colors_name 与文件名匹配,删除 4 个未使用 colorscheme
- 删除 keymaps.lua 重复映射,移除 all_modules 中的 ex-colors
- 修正 plugins/ 文件头注释路径,删除 moonfly 残留变量
- 提取 mini.files 公共函数消除 starter buffer 中的重复逻辑
2026-06-04 15:21:44 +08:00
xfy
dd29f692ee chore(git): 将 fugitive 键位集中至 pack.lua 并启用懒加载 2026-06-04 13:44:29 +08:00
xfy
f4316308c4 fix gitignore 2026-06-03 10:32:18 +08:00
xfy
58f777ab48 update treesitter 2026-06-03 10:16:52 +08:00
xfy
169492b9eb docs(readme): 将截图链接改为内嵌图片格式 2026-06-02 16:06:40 +08:00
xfy
fea4a4ff2b docs(readme): add screenshot link and clean up table formatting 2026-06-02 16:04:29 +08:00
xfy
593e983453 docs(readme): 更新插件列表和懒加载表,新增 AGENTS.md 和 PLUGINS.md 文档 2026-06-02 14:52:49 +08:00
xfy
57f5c86a08 fix(pack): <leader>gg 改为在当前窗口打开 Fugitive 2026-06-02 11:41:16 +08:00
xfy
b619712b35 feat(pack): 新增 mini.cursorword 插件,自动高亮光标下单词 2026-06-01 10:32:28 +08:00
xfy
1df2d036c9 feat(pack): 新增 mini.pairs 和 mini.ai 插件 2026-06-01 10:24:36 +08:00
xfy
daffb7e2f5 新增 :PackClean 命令,用于清理未使用插件 2026-05-29 11:30:50 +08:00
xfy
124ebad93e 格式化 terminal_color 变量列表 2026-05-29 11:30:49 +08:00
xfy
1df2964436 禁用 ex-colors.nvim 插件 2026-05-29 11:30:46 +08:00
xfy
91adf5e44c docs: 将 README 拆分为 MAPS.md 和 DEVELOPMENT.md 2026-05-29 11:24:29 +08:00
xfy
dc867a372a feat(colors): add comprehensive highlight groups for plugins and syntaxes 2026-05-29 10:59:47 +08:00
xfy
4bd841fab1 docs(readme): 补充 ex-colors、键位映射等文档; fix(pack): mini.starter/notify 添加 pcall 保护 2026-05-29 10:57:19 +08:00
xfy
3f0d338fb8 feat: ex catppuccin 2026-05-29 10:49:31 +08:00
xfy
e0dfc66055 feat(keymaps): 增加自动格式化开关并调整 undotree 快捷键 2026-05-29 10:44:05 +08:00
xfy
f12f0f110b fix(pack): 修正 logo 变量名 logs -> logos\nfeat(lsp): 添加 <leader>cr 重命名符号快捷键 2026-05-29 10:06:27 +08:00
xfy
aa00138ffb 简化启动时间统计逻辑,移除 VimEnter 延迟
删除 VimEnter autocmd 和 nvim_vimenter_done 全局变量,
直接在 starter footer 中使用 nvim_init_done 计算启动耗时。
这样更准确地反映配置文件本身的加载时间,不含 runtime
插件和 ShaDa 的加载耗时。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:47:48 +08:00
xfy
5e2334fc33 排除 .git 目录的文件查找结果
在 <leader>ff(文件查找)和 <leader>fa(查找所有文件)的 rg 命令中
添加 --glob "!.git/" 参数,避免搜索结果中出现 .git 目录下的内部文件。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:39:35 +08:00
xfy
395c589993 添加项目级 CLAUDE.md 配置文档,优化文件查找使用 rg
- 新增 .claude/CLAUDE.md 项目配置文档
- 从 .gitignore 中移除 .claude/ 以纳入版本控制
- <leader>ff 改用 mini.pick.builtin.cli 配合 rg --files --hidden

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:36:07 +08:00
xfy
93148248d5 将 README 全面翻译为中文并完善文档,修复 <leader>ss 替换映射
- README.md:完整中文化,补充所有键位映射分类(文件查找、Git、
  LSP、Buffer、窗口、终端等),更新文件结构说明,添加开发验证命令
- lua/keymaps.lua:修复 <leader>ss 映射,移除 <<C-r><C-w>> 中多余的
  < > 包围,使替换功能正常工作

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:22:28 +08:00
xfy
a48d83cc2f Remove moonfly colorscheme and refine mini.files keymaps
- Delete colors/moonfly.vim (unused theme)
- Remove <leader>- binding for mini.files
- Add _ binding to open mini.files at project root (git root)
- Update starter page keymaps accordingly

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:57:54 +08:00
xfy
9c8deeafc8 Reorganize config modules into lua/plugins/ and add comprehensive docs
- Move lsp.lua, pick.lua, treesitter.lua, git.lua to lua/plugins/
- Update all require() paths in pack.lua and init.lua
- Unify code style: tab indentation, line length control, empty braces
- Add detailed Chinese module documentation to all config files
- Add grug-far.nvim plugin with <leader>sr binding
- Enable vim._core.ui2 for Neovim 0.12+ UI enhancements
- Disable additional built-in plugins to reduce startup overhead

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:42:02 +08:00
xfy
79af59f4f2 Add multiple ASCII logo variants and project README
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:27:57 +08:00
xfy
0747abefee Use VimEnter time for more accurate startup duration in starter dashboard
Prioritize _G.nvim_vimenter_done (recorded when runtime plugins and ShaDa
are fully loaded) for the startup time displayed in mini.starter's footer,
falling back to _G.nvim_init_done if unavailable. This makes the reported
duration much closer to what --startuptime measures.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:05:59 +08:00
xfy
ae765f7438 Add lazy.track() for accurate module loading statistics in starter dashboard
- Introduce lazy.track(name) to mark directly-loaded modules as loaded
  without invoking their setup function again.
- Replace plugin-package counting with a fixed module list (15 functional
  modules) so the starter footer shows consistent X/Y progress.
- Call lazy.track() for starter, notify, cmdline, lspconfig, and mason.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 15:47:02 +08:00
xfy
4366e3d696 Add comprehensive Chinese comments and uniform 4-space indentation across all config files
- 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>
2026-05-28 15:36:55 +08:00
xfy
c5a31a26f6 Add grug-far.nvim for search and replace
- 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>
2026-05-28 15:12:04 +08:00
xfy
2c524fc30d Refactor lazy loading: unify treesitter/LSP deferral via lazy.on_event
- Move VimEnter autocmd from init.lua to pack.lua using lazy.on_event
- Convert treesitter.lua to modular M.setup() pattern
- Simplify lsp.lua: remove redundant comment, inline diagnostic config
- Reorganize pack.lua: group finders, add fugitive keymaps, adjust header indent

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 15:07:01 +08:00
xfy
e0441656b4 Extract git/pick from pack.lua into standalone modules and remove moonfly theme
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 14:57:47 +08:00
xfy
7f754cd8ba Move LSP config from lazy.on_event to direct execution
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>
2026-05-28 14:44:07 +08:00
xfy
5d40b6c245 Defer heavy modules and disable built-in plugins to reduce startup time
- 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>
2026-05-28 14:39:12 +08:00
xfy
f0c6f0a1e7 Center-align mini.starter footer text
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>
2026-05-28 14:14:11 +08:00
xfy
717df254c6 Add mini.starter dashboard and optimize lazy loading
- 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>
2026-05-28 14:11:25 +08:00
xfy
b9f2af6bd5 Switch to catppuccin colorscheme
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 13:38:45 +08:00
xfy
8138b7c761 Update Cw keymaps 2026-05-28 13:26:53 +08:00
xfy
15a2ad9b20 Add hunk preview, blame, and git keymaps; switch diagnostic to loclist
- Replace mini.extra diagnostic picker with vim.diagnostic.setloclist
- Add get_cursor_hunk() helper for mini.diff
- Add preview_hunk() with floating diff window
- Add blame_line() via git blame porcelain
- Add keymaps: <leader>ghp, <leader>ghb, <leader>gB, <leader>gD

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 13:09:27 +08:00
xfy
61f2c89362 Add nil guard to lazy.load and custom mini.diff mappings
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 11:43:06 +08:00
xfy
7c5529c400 Unify indentation to tabs and add keymaps/pickers
- Convert 4-space indentation to tabs across all lua files
- Add <C-s> save file and <C-c> copy whole file keymaps
- Add mini.pick keymaps: <leader>fa (find all), <leader>fh (help),
  <leader>fo (oldfiles), <leader>fz (buffer lines)
- Change <leader>fw to grep_live, <leader>vh to <leader>fh
- Fix conform lazy-loading buffer reference

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 11:36:26 +08:00
xfy
a282113ccf Add conform.nvim for auto-formatting
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 11:22:05 +08:00
xfy
861fd3c03c Add moonfly colorscheme
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 11:12:01 +08:00