17 Commits

Author SHA1 Message Date
xfy
a6a7e0ebc9 feat(conform): 支持 jsonc 文件格式化 2026-06-24 17:58:17 +08:00
xfy
6a30a0bfea feat(statusline): 启用 mini.statusline 最简配置
VimEnter 时机与 mini.icons 同处 setup(statusline 依赖图标),
用内置 section 组合 + use_icons=true,Git/diff 段回退到 gitsigns。
all_modules 同步补 statusline。
2026-06-22 15:14:54 +08:00
xfy
5ff42e4f20 fix(pick): <leader>ft filetype 切换作用到目标 buffer
choose 回调执行时 picker 浮窗仍是当前窗口,原 vim.bo.filetype = item
会把 filetype 设到 picker 自己的 buffer 上,用户 buffer 纹丝不动
(:set ft? 显示空)。

两处问题:
- item 类型:mini.pick 传入的是 table,需构造 {text=ft} 形态并取 .text
- buffer 上下文:用 MiniPick.get_picker_state().windows.target 拿目标窗口,
  显式在其 buffer 上设 filetype
2026-06-22 11:38:19 +08:00
xfy
64cda37ce9 fix(starter): all_modules 补回 extra 修复模块统计偏差
extra 在 plugins/pick.lua 中经 lazy.load("extra", ...) 单独 track,
但 all_modules 漏列,导致按 <leader>ff 后页脚显示 15/22(loaded 比 total 多)。
2026-06-22 10:17:20 +08:00
xfy
2323c01796 feat(clue): 启用 mini.clue 按键提示浮窗
- VimEnter setup 注册 <Leader>/g/z/<C-w>/[ ] 触发器,配 9 组 +中文描述
- LspAttach 与 gitsigns on_attach 调 ensure_buf_triggers 兜底触发器顺序
- starter all_modules 补 clue,AGENTS.md 同步懒加载策略
2026-06-22 10:14:05 +08:00
xfy
6b1cb2d794 fix: 清理配置死代码与修正 foldmethod 作用域
- options.lua: 删除 MiniDiffSign 高亮链接(mini.diff 已移除,死代码)
- options.lua: 删除关于 ftplugin 的误导注释(目录不存在)
- autocmds.lua: foldmethod 从 vim.o 全局改为 vim.wo window-local,
  事件从 BufEnter+once 改为 FileType,避免污染 help/man/quickfix 窗口
- keymaps.lua: 4 处 vim.keymap.set 统一为 map 别名
- git.lua: codediff view 键位 hs/hu/hr/cs 统一为 ghs/ghu/ghr/gs,
  与 gitsigns 的 gh* 命名空间一致
2026-06-16 09:56:47 +08:00
xfy
00b13a18f5 feat(lsp): 自定义诊断 sign column 标志符号
覆盖 Neovim 0.12 默认的 E/W/I/H 字母标志,使用更直观的符号
✖/▲/i/h,同时保留行尾 virtual_text 显示。
2026-06-16 09:46:22 +08:00
xfy
2afb5315ce refactor(git): 替换 vim-fugitive 为 neogit 工具栈
移除 vim-fugitive 和 mini.diff,引入三层 Git 工具栈(对齐 nvchad 分支):
- gitsigns.nvim:buffer 级 inline gutter + hunk 操作(BufReadPost 懒加载)
- neogit:仓库级 status 客户端(<leader>gg,依赖 plenary)
- codediff.nvim:文件级 side-by-side diff(<leader>gd/gD)

键位变更:
- ghs/ghr/ghp/ghb/ghB/ghd/ghD + ]h/[h 改由 gitsigns 提供
- <leader>gg → Neogit、<leader>gd/gD → CodeDiff
- 移除 <leader>gl(GcLog,由 neogit 内部 log 视图取代)

三个独立插件统一采用 load_X() → packadd → require().setup() 加载风格
2026-06-16 09:33:14 +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
f12f0f110b fix(pack): 修正 logo 变量名 logs -> logos\nfeat(lsp): 添加 <leader>cr 重命名符号快捷键 2026-05-29 10:06:27 +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