Files
lua-nvim/CHANGELOG.md
Carlos Gutierrez 3940c92b48 fix(java): repair Java debugger configuration and add run keymaps
- Fix debug bundles not being passed to JDTLS init_options
- Add on_attach callback to setup DAP after LSP attaches
- Remove broken manual Java DAP adapter (now handled by nvim-jdtls)
- Add java-debug-adapter and java-test to Mason ensure_installed
- Add new Java keymaps: debug, test, run (file/maven/gradle)
2026-01-10 22:27:02 -05:00

7.2 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

  • 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

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/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