11 KiB
11 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
- Python Debugger (debugpy): Full Python debugging support with multiple configurations
- Launch File - Debug current Python file
- Launch with Arguments - Debug with custom arguments
- Attach Remote - Attach to debugpy server (port 5678)
- Django - Debug Django with
manage.py runserver - FastAPI - Debug FastAPI with uvicorn
- Flask - Debug Flask application
- Node.js/NestJS Debug Configurations: Extended TypeScript/JavaScript debugging
- Launch NestJS (
dist/main.js) with source maps - Launch Current File
- Launch with ts-node (debug TypeScript directly)
- Attach to NestJS (port 9229)
- Attach to Process (pick from running processes)
- Launch NestJS (
- Mason Debug Adapters: Added
debugpyandjs-debug-adapterto auto-install list - README Documentation: Added comprehensive "Debugging Setup" section with all configurations
- 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
- Java Debug Adapter Paths: Fixed incorrect paths in
ftplugin/java.lua- Changed
java-debug→java-debug-adapter/extension/server/ - Changed
vscode-java-test→java-test/extension/server/
- Changed
- Node.js DAP Adapter: Fixed js-debug-adapter configuration in
dap.lua- Changed adapter type from
executabletoserver(required by js-debug-adapter) - Renamed adapter from
nodetopwa-node(standard DAP name) - Added proper source map resolution and skipFiles patterns
- Changed adapter type from
- 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/plugins/dap.lua |
Fixed Node.js adapter, added Python debugpy config |
ftplugin/java.lua |
Fixed java-debug-adapter and java-test paths |
lua/cargdev/plugins/lsp/mason.lua |
Added debugpy and js-debug-adapter to ensure_installed |
README.md |
Added Debugging Setup section with keymaps and configurations |
lua/cargdev/core/keymaps/README.md |
Added dap.lua and other keymap files to structure |
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 13, 2026