Skip to content

Feat/config improvements#2104

Closed
HuNtErJ1324 wants to merge 4 commits into
nvim-lua:masterfrom
HuNtErJ1324:feat/config-improvements
Closed

Feat/config improvements#2104
HuNtErJ1324 wants to merge 4 commits into
nvim-lua:masterfrom
HuNtErJ1324:feat/config-improvements

Conversation

@HuNtErJ1324

Copy link
Copy Markdown

NOTE
Please verify that the base repository above has the intended destination!
Github by default opens Pull Requests against the parent of a forked repository.
If this is your personal fork and you didn't intend to open a PR for contribution
to the original project then adjust the base repository accordingly.


HuNtErJ1324 and others added 4 commits June 21, 2026 15:15
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>
Audit-identified corrections, applied on top of the replayed config:

- conform: use the lowercase filetype key `sql` (not `SQL`) so sql-formatter
  actually fires.
- conform: switch Python formatting to `ruff_organize_imports` + `ruff_format`
  (black/isort are not installed; ruff is and does both jobs).
- Wire in installed-but-previously-dormant Mason tools: add `texlab` to the
  LSP servers (LaTeX LSP, which VimTeX does not provide), and add conform
  entries `java = { 'google-java-format' }` and tex/plaintex = { 'latexindent' }.
- which-key: add a `<leader>l` = [L]aTeX group label for the VimTeX maps.

Note: the deprecated `vim.highlight.on_yank` -> `vim.hl.on_yank` change from
the audit is already present in this newer base, so no change was needed there.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
`sql-formatter` is the Mason/executable name, not a conform formatter id, so
conform found no such formatter and SQL formatting silently failed. conform
ships `lua/conform/formatters/sql_formatter.lua` (id `sql_formatter`, whose
`command = 'sql-formatter'`). Use the underscore id.

Verified headless: `require('conform').list_formatters(0)` on an sql buffer
reports `name=sql_formatter available=true command=sql-formatter`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant