Files
lua-nvim/docs/CHANGELOG_OLD.md
Carlos Gutierrez 2bf56c05dc doc: Update documentation
- Moved docs to docs/ - All documentation files moved:
  - docs/KEYMAPS.md - Complete keybinding reference(rewritten)
  - docs/PLUGINS.md - Plugin list
  - docs/NATIVE_AUTO_WRAPPER_GUIDE.md - Text wrapping guide
  - docs/TELESCOPE_TO_SNACKS_MIGRATION.md - Migration notes
  - docs/keyboard_mappings.md - QMK keyboard layout
  - docs/CHANGELOG_OLD.md - Previous changelog archived
- Rewrote docs/KEYMAPS.md - Based on the actual current keymap files. Removed references to deleted plugins (flash, harpoon, dial, screenkey, persistence, LSPSaga). Updated LSP keymaps to reflect fzf-lua, DAP keymaps to reflect plugin-side registration, and added CopilotChat and g keymaps.
- Updated README.md - Fixed all doc links to docs/, removed harpoon/flash/dial/screenkey/persistence references, updated essential keymaps to current reality (fzf-lua for LSP, Snacks for navigation, <leader>dcr for debug, <leader>jd for dynamic attach), added Bun debug support mention.
- Created CHANGELOG.md at root with:
  - 2026-02-10: Documentation restructure
  - 2026-02-08: hlchunk, lspconfig, lualine, ufo fixes
  - 2026-02-05: Major cleanup - 15+ plugins removed, core refactors, keymap rework, DAP/Copilot reorganization, fzf-lua migration for LSP
  - 2026-01-13/15: Bug fixes and version bumps
  - 2026-01-10: Previous changelog entries preserved
2026-02-10 12:49:09 -05:00

247 lines
11 KiB
Markdown

# Changelog
All notable changes to this Neovim configuration will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
---
## [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)
- **Mason Debug Adapters**: Added `debugpy` and `js-debug-adapter` to 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.lua` is now loaded at startup and exposed via `vim.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.lua` for all paths and settings
- `avante_dev_path` for plugin directory
- `avante_endpoint`, `avante_api_key_name`, `avante_model` for provider config
- **IdeaDrop Plugin**: Now uses `IDEA_DIR` from `local.lua` instead of environment variable
### Removed
- **Hardcoded Paths**: Removed all hardcoded user paths from plugin configs
- `avante.lua` - uses `local.lua` values
- `ideaMap.lua` - uses `local.lua` values
- `leetcode.lua` - removed commented hardcoded path
- `lazygit.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/`
- **Node.js DAP Adapter**: Fixed js-debug-adapter configuration in `dap.lua`
- Changed adapter type from `executable` to `server` (required by js-debug-adapter)
- Renamed adapter from `node` to `pwa-node` (standard DAP name)
- Added proper source map resolution and skipFiles patterns
- **Auto-session Lazy Loading**: Changed from `event = "VeryLazy"` to `lazy = false` to enable session auto-restore on startup
- **Alpha Dashboard Config**: Fixed `enable` to `enabled` (correct lazy.nvim spec key)
- **Snacks vs Alpha Conflict**: Disabled `Snacks.dashboard` in favor of `alpha-nvim` for 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-adapter` and `java-test` to Mason ensure_installed
### Changed
- **Colorscheme Configuration**: Enhanced `cargdev-cyberpunk` setup
- 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 = {}` to `bundles = bundles` to properly load debug JARs
- Added `on_attach` callback to setup DAP after JDTLS attaches
- Enables hot code replacement during debugging
- **Broken Java DAP Adapter**: Removed manual Java adapter with undefined `port` variable
- Now handled automatically by nvim-jdtls via `jdtls.setup_dap()`
---
## [2026-01-10]
### Added
- **Custom Colorscheme**: Using `cargdev-cyberpunk` theme
- 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 `:FormatToggle` command to enable/disable
- **Diagnostic Float on Hover**: Diagnostics now appear automatically when cursor holds
- **Safe Buffer Close**: `<leader>bd` now prompts for unsaved changes
- Options: Save & Close, Discard & Close, Cancel
- `<leader>bD` for 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>sub` remains for substitute with motion
- `<leader>S` remains 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 in `window.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 than `syntax`)
- **Duplicate foldlevel Setting**: Removed duplicate setting
- **Environment Variable Validation**: `IDEA_DIR` now validated before Obsidian link setup
### Removed
- **Temporary Files**:
- `kkk` - Unknown purpose temporary file
- `cleanup_deprecated_adapters.lua` - Cleanup script no longer needed
- **IMPROVEMENTS.md**: All issues resolved, file removed
- **Commented Code**:
- Tmux navigation keymaps from `personal.lua`
- Commented `x` keymap explanation from `general.lua`
- Commented `project_config` bootstrap from `init.lua`
### 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](./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*