- Fix keymap conflicts: session (<leader>sS/sR), substitute (<leader>sl) - Remove duplicate keymaps (window, resize) and options (synmaxcol, foldmethod) - Add which-key group names for better keymap organization - Add auto-format on save with smart filtering (conform.nvim) - Add diagnostic float on hover (CursorHold) - Add safe buffer close with unsaved changes confirmation - Add quickfix/location list navigation keymaps - Add startup config validation (nvim version, executables) - Enable plugin update notifications in lazy.nvim - Clean up: remove temporary files (kkk, cleanup script) - Clean up: remove commented code and fix double function loading - Update README.md with comprehensive documentation - Add CHANGELOG.md tracking all changes
6.1 KiB
6.1 KiB
Changelog
All notable changes to this Neovim configuration will be documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Added
- Which-Key Group Names: Added organized group names for better keymap discoverability
- Groups: Buffer, Code/Copilot, Debug, Explorer, Find/Files, Git, LSP, Format, Quickfix, Session, Tab/Terminal, Trouble, Copilot Chat
- Auto-Format on Save: Enabled smart auto-formatting with conform.nvim
- Skips certain filetypes (sql, markdown)
- Skips files in node_modules
- Added
:FormatTogglecommand to enable/disable
- Diagnostic Float on Hover: Diagnostics now appear automatically when cursor holds
- Safe Buffer Close:
<leader>bdnow prompts for unsaved changes- Options: Save & Close, Discard & Close, Cancel
<leader>bDfor force close without confirmation
- Quickfix Navigation Keymaps:
<leader>qn- Next quickfix item<leader>qp- Previous quickfix item<leader>qo- Open quickfix list<leader>qq- Close quickfix list<leader>qf- First quickfix item<leader>ql- Last quickfix item
- Location List Navigation Keymaps:
<leader>ln- Next location item<leader>lp- Previous location item<leader>lo- Open location list<leader>lq- Close location list
- Configuration Validation: Startup checks for:
- Neovim version (0.9+ recommended)
- Required executables (git, rg, node)
- Plugin Update Notifications: Lazy.nvim now notifies about available updates (daily check)
- CheckConfig Command: Quick access to health checks
Changed
- Session Keymaps: Renamed to avoid conflicts with substitute
<leader>ss→<leader>sS(Session Save)<leader>sr→<leader>sR(Session Restore)
- Substitute Keymaps: Reorganized to avoid conflicts
<leader>ss→<leader>sl(Substitute Line)<leader>subremains for substitute with motion<leader>Sremains for substitute to end of line
- Keymap Descriptions: Standardized format (e.g., "Session: Save", "Substitute: Line")
Fixed
- Duplicate Window Management Keymaps: Removed duplicates from
personal.lua, centralized inwindow.lua - Duplicate Resize Keymaps: Removed duplicates, centralized in
window.lua - Redundant Filetype Detection: Now only runs if filetype is not already detected
- Double Function Loading: Functions now load once on VimEnter with flag protection
- Duplicate synmaxcol Setting: Removed duplicate (was 240 then 200), kept 200
- Duplicate foldmethod Setting: Removed duplicate, kept
indent(faster thansyntax) - Duplicate foldlevel Setting: Removed duplicate setting
- Environment Variable Validation:
IDEA_DIRnow validated before Obsidian link setup
Removed
- Temporary Files:
kkk- Unknown purpose temporary filecleanup_deprecated_adapters.lua- Cleanup script no longer needed
- IMPROVEMENTS.md: All issues resolved, file removed
- Commented Code:
- Tmux navigation keymaps from
personal.lua - Commented
xkeymap explanation fromgeneral.lua - Commented
project_configbootstrap frominit.lua
- Tmux navigation keymaps from
Performance
- Optimized filetype detection (conditional execution)
- Reduced redundant option settings
- Single function loading instead of double
[Previous] - Pre-Changelog
Features Present
- Lazy.nvim plugin management
- Full LSP support with Mason
- nvim-cmp completion
- Snacks.nvim + Telescope file navigation
- nvim-tree file explorer
- LazyGit integration
- GitHub Copilot + Copilot Chat
- DAP debugging with UI
- Conform.nvim formatting
- Trouble.nvim diagnostics
- Native auto-wrapping configuration
- Custom lualine theme with word count
Migration History
- Migrated from Telescope to Snacks for primary navigation
- Kept Telescope for git-specific features
- See TELESCOPE_TO_SNACKS_MIGRATION.md for details
File Changes Summary
Modified Files
| File | Changes |
|---|---|
lua/cargdev/core/keymaps/personal.lua |
Removed duplicates, added quickfix/location keymaps, safe buffer close |
lua/cargdev/core/keymaps/plugins.lua |
Fixed session/substitute keymap conflicts |
lua/cargdev/core/keymaps/general.lua |
Added vault_path validation, removed commented code |
lua/cargdev/core/keymaps/window.lua |
Centralized window management keymaps |
lua/cargdev/core/init.lua |
Fixed double loading, added diagnostic hover, config validation |
lua/cargdev/core/options.lua |
Removed duplicate settings (synmaxcol, foldmethod, foldlevel) |
lua/cargdev/plugins/which-key.lua |
Added group names configuration |
lua/cargdev/plugins/formatting.lua |
Enabled auto-format on save with smart filtering |
lua/cargdev/lazy.lua |
Enabled plugin update notifications |
README.md |
Complete rewrite with proper documentation |
Deleted Files
| File | Reason |
|---|---|
kkk |
Temporary file, unknown purpose |
cleanup_deprecated_adapters.lua |
One-time cleanup script, no longer needed |
IMPROVEMENTS.md |
All issues resolved |
New Files
| File | Purpose |
|---|---|
CHANGELOG.md |
Track configuration changes |
Keymap Reference
New/Changed Keymaps
| Keymap | Action | File |
|---|---|---|
<leader>sS |
Session: Save | plugins.lua |
<leader>sR |
Session: Restore | plugins.lua |
<leader>sl |
Substitute: Line | plugins.lua |
<leader>bd |
Buffer: Close (safe) | personal.lua |
<leader>bD |
Buffer: Force close | personal.lua |
<leader>qn |
Quickfix: Next | personal.lua |
<leader>qp |
Quickfix: Previous | personal.lua |
<leader>qo |
Quickfix: Open | personal.lua |
<leader>qq |
Quickfix: Close | personal.lua |
<leader>qf |
Quickfix: First | personal.lua |
<leader>ql |
Quickfix: Last | personal.lua |
<leader>ln |
Location: Next | personal.lua |
<leader>lp |
Location: Previous | personal.lua |
<leader>lo |
Location: Open | personal.lua |
<leader>lq |
Location: Close | personal.lua |
Last Updated: January 2026