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

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)
  • 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-debugjava-debug-adapter/extension/server/
    • Changed vscode-java-testjava-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


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