- Load local.lua at startup and expose via vim.g.cargdev_local - Update avante.lua to use local config for paths and settings - Update ideaMap.lua to use IDEA_DIR from local config - Remove all hardcoded user paths from plugin configs - Plugins gracefully skip if required local config is missing
9.1 KiB
9.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
- Avante.nvim AI Assistant: Added Avante.nvim with local LLM support to README documentation
- Bash Treesitter Parser: Installed bash parser for noice.nvim cmdline highlighting
- Local Configuration Support:
local.luais now loaded at startup and exposed viavim.g.cargdev_local- Enables machine-specific paths without hardcoding
- Safe loading with
pcall(won't error if file doesn't exist) - Plugins gracefully skip if required config is missing
Changed
- Avante Plugin: Now uses
local.luafor all paths and settingsavante_dev_pathfor plugin directoryavante_endpoint,avante_api_key_name,avante_modelfor provider config
- IdeaDrop Plugin: Now uses
IDEA_DIRfromlocal.luainstead of environment variable
Removed
- Hardcoded Paths: Removed all hardcoded user paths from plugin configs
avante.lua- useslocal.luavaluesideaMap.lua- useslocal.luavaluesleetcode.lua- removed commented hardcoded pathlazygit.lua- removed commented hardcoded path
Fixed
- Auto-session Lazy Loading: Changed from
event = "VeryLazy"tolazy = falseto enable session auto-restore on startup - Alpha Dashboard Config: Fixed
enabletoenabled(correct lazy.nvim spec key) - Snacks vs Alpha Conflict: Disabled
Snacks.dashboardin favor ofalpha-nvimfor CARGDEV branding
Added
- Java Debug & Run Keymaps: New keybindings for Java development
<leader>jd- Debug Class (DAP)<leader>jt- Test Class<leader>jn- Test Nearest Method<leader>jr- Run Java File<leader>jm- Run Maven Project<leader>jg- Run Gradle Project
- Java Debug Dependencies: Added
java-debug-adapterandjava-testto Mason ensure_installed
Changed
- Colorscheme Configuration: Enhanced
cargdev-cyberpunksetup- Enabled transparency
- Enabled italic comments
- Enabled bold keywords, functions, and types
- Enabled terminal colors
Fixed
- Java DAP Configuration: Fixed debug adapter not loading
- Changed
bundles = {}tobundles = bundlesto properly load debug JARs - Added
on_attachcallback to setup DAP after JDTLS attaches - Enables hot code replacement during debugging
- Changed
- Broken Java DAP Adapter: Removed manual Java adapter with undefined
portvariable- Now handled automatically by nvim-jdtls via
jdtls.setup_dap()
- Now handled automatically by nvim-jdtls via
[2026-01-10]
Added
- Custom Colorscheme: Using
cargdev-cyberpunktheme- Vibrant, high-contrast cyberpunk aesthetic with neon colors
- Hot pink keywords, electric purple types, cyan strings, green functions
- Full TypeScript/LSP/Treesitter support
- Deep blue backgrounds with neon accents
- Loaded with high priority for consistent UI
- 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, loads local.lua |
lua/cargdev/plugins/avante.lua |
Uses local.lua for paths and settings, removed hardcoded values |
lua/cargdev/plugins/ideaMap.lua |
Uses local.lua for IDEA_DIR, removed env var fallback |
lua/cargdev/plugins/leetcode.lua |
Removed commented hardcoded path |
lua/cargdev/plugins/lazygit.lua |
Removed commented hardcoded path |
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 10, 2026