Commit Graph

2 Commits

Author SHA1 Message Date
HuNtErJ1324 4f0c0471cd Finish wiring up nvim-java (jdtls bootstrap)
nvim-java was installed but never initialized, so jdtls ran vanilla and the
plugin's value-add (tests, DAP, refactors, Spring Boot) was inert. Wire it up
following the current nvim-java README (Neovim 0.11.5+ / vim.pack install):

- lua/custom/plugins/nvim-java.lua now installs the full stack (spring-boot.nvim
  pinned, nui.nvim, nvim-dap, nvim-java), calls `require('java').setup()` and
  then `vim.lsp.enable('jdtls')`, in that required order.
- init.lua: the LSP config/enable loop now SKIPS jdtls, so nvim-java is the
  single owner of jdtls configuration and enablement. This avoids a second,
  competing vanilla jdtls setup while jdtls stays in the `servers` table purely
  so mason-tool-installer keeps it installed.
- java-debug-adapter + java-test remain provided via mason-nvim-dap (debug.lua),
  giving nvim-java the bundles it launches jdtls with for DAP and tests.

Verified headless: opening a .java buffer attaches exactly one jdtls client
(plus spring-boot), with no duplicate/competing jdtls setup and no Lua errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 15:17:23 -07:00
HuNtErJ1324 348560c779 Replay personal customizations onto the new vim.pack kickstart base
Re-apply the user's customizations (previously living as an uncommitted
diff on the OLD lazy.nvim kickstart base) onto the new single-file
vim.pack-based kickstart, adapting them to the new architecture:

- Enable Nerd Font (have_nerd_font = true).
- VimTeX: lua/custom/plugins/vimtex.lua (ported from the lazy `lazy=false`
  spec to vim.pack; globals set before load, zathura viewer, latexmk) plus
  the three <leader>l keymaps.
- nvim-java: lua/custom/plugins/nvim-java.lua installs the plugin only
  (mirrors the user's original `return { 'nvim-java/nvim-java' }`; wiring
  is finished in a later commit).
- LSP servers: add jdtls, plus ty (Astral's Python type checker) and ruff.
  ty is not in nvim-lspconfig, so it's defined via the new vim.lsp.config
  API (cmd/filetypes/root_markers) instead of the old lspconfig.configs path.
- Mason: exclude ty and ruff from auto-install (installed separately via uv).
- conform: re-apply the user's formatter entries.
- treesitter: add `latex` to the installed parsers.
- Enable the optional kickstart modules the user had on (debug, indent_line,
  lint, autopairs, neo-tree, gitsigns) and the custom.plugins loader, via the
  new base's `require` mechanism (not lazy `import`).
- lint.lua: guard markdownlint behind `vim.fn.executable`.
- debug.lua: add java-debug-adapter and java-test to mason-nvim-dap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 15:15:34 -07:00