# NeoVim Configs This repository contains my NeoVim configs, including some of my snippets. It uses: - Lazy.nvim as the plugin manager - NeoVim's built-in LSP support, with lspconfig for the language server configuration - none-ls for formatters - Snacks.nvim for search, file explorer and more - blink.cmp for completions and snippets - Nightfox theme, with customized colours - TODO comment highlighting - Debugger support (through nvim-dap) - Neotest integrated for a few languages - tree-sitter for syntax highlighting Partially documented and fairly well organized ## Usage notes ### Linter configs You may find the linter configs and setup-scripts for some linters that require some extra setup [here](https://git.janishutz.com/janishutz/dotfiles/) ### Luarocks To get your `luarocks` packages to be picked up by the language server, it is currently configured to only look at the `cwd` that nvim is open in, unless you add a `.luarc.json` file with the following content: ```json { "workspace": { "library": [ "/path/to/library" ] }, "diagnostics": { "globals": ["any globals to add"] } } ``` ### Java #### jdtls Ensure you have jdk21-opnejdk or newer installed. On Arch (and derivatives) you can switch the preferred java version using `archlinux-java set ` #### Missing Deps The `pom.xml` file in this repo makes `maven` download `junit`. If you need that, copy the file to the root of your project, then run `mvn dependency:resolve` to download the dependencies