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>
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>
This could help beginners to get autocompletion, catch mistakes earlier,
and allow them to skip the docs for simple configs.
This is not perfect because a lot of the plugins type all of their keys
as required, even though they have defaults, but this is good enough.
* Replace vim.opt with vim.o
Because it offers a nicer interface and info on hover.
For now leave vim.opt when using the table interface (until vim.o
with tables is implemented)
* Add type hint for vim.opt.rtp
* Add a comment about using vim.opt instead of vim.o
* Fix nvim-dap not lazy loading
The keys property had local variables 'dap' and 'dap-ui' that used `require` and prevented all DAP related plugins from lazy-loading.
Fixed this by changing keys to a table and substituting the local variables with a lamba function
* Make debug keybind descriptions more consistent
* feat: Set breakpoint icons and their highlight colors
* docs: Delete reference URL (written in PR)
feat: "Break" and "Stop" arguments of vim.api.nvim_set_hl are changed because they are too common nouns
feat: Comment out changes regarding diagnostic symbols so that only those who want to change them can do so
---------
Co-authored-by: name <email>
* Disable linting autocmd for readonly buffers
This should avoid linting in buffers outside of the user's control,
having in mind especially the handy LSP pop-ups that describe your
hovered symbol using markdown.
Co-authored-by: Robin Gruyters <2082795+rgruyters@users.noreply.github.com>
* Justify guarding try_lint in readonly buffers
Co-authored-by: Robin Gruyters <2082795+rgruyters@users.noreply.github.com>
---------
Co-authored-by: Robin Gruyters <2082795+rgruyters@users.noreply.github.com>
* Neovim 0.10 updates
Provide the buffer for which to enable inlay hints
Co-authored-by: Matt Mirus <matt@mattmirus.com>
* refactor: replace vim.loop with vim.uv
* Upgrade folke/neodev (sunsetting) to folke/lazydev
* Update checkhealth for 0.10 release
---------
Co-authored-by: Matt Mirus <matt@mattmirus.com>
Co-authored-by: mrr11k <me+github@mrr11k.dev>
Co-authored-by: Seb Tomasini <sebt@qgates.com>
The lazy.nvim keys parameter does not need the `desc` to
be inside a table in the way that vim.keymap.set() does.
With this fix the keymap description will be properly
shown for example in telescope keymap search
We've removed over 1/3 of the code that was in kickstart previously,
and more than doubled the amount of comments explaining every line
of code (to the best of my ability).
kickstart now properly uses many of the lazy.nvim config and loading
idioms, which should be really helpful for people moving both to
modular configs, as well as extending the kickstart config in one file.
Additional features:
- Beautiful ascii art
- Added some documentation that explains what is an LSP, what is telescope, etc
- There is now a `:checkhealth` for kickstart, which checks some basic information
and adds useful information for maintainers (for people cloning the repo).
- Improved LSP configuration and tool installation, for easier first time startup
- Changed init.lua ordering, so that it moves from simple options to complicated config
```
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Lua 1 108 404 298
-------------------------------------------------------------------------------
```
Add descriptions for debugging key bindings.
Improve formatting by changing double quotes to single quotes in order
to keep compatibility with the rest of the kickstart.nvim project.