diff --git a/doc/nvim-java-core.txt b/doc/nvim-java-core.txt new file mode 100644 index 0000000..2207d09 --- /dev/null +++ b/doc/nvim-java-core.txt @@ -0,0 +1,74 @@ +*nvim-java-core.txt* For Neovim >= 0.9.4 Last change: 2023 November 15 + +============================================================================== +Table of Contents *nvim-java-core-table-of-contents* + +1. nvim-java-core |nvim-java-core-nvim-java-core| + - Features |nvim-java-core-features| + - Why |nvim-java-core-why| + - How to Use |nvim-java-core-how-to-use| + +============================================================================== +1. nvim-java-core *nvim-java-core-nvim-java-core* + + + +No need to put up with jdtls +nonsense anymore. Just install and start writing `public static void +main(String[] args)`. + + +FEATURES *nvim-java-core-features* + +are supported features. are pending features. + +- Diagnostics & Auto Completion +- Automatic DAP debug configuration +- Running tests + + +WHY *nvim-java-core-why* + +- Uses nvim-lspconfig <> to setup `jdtls` +- Uses `jdtls` and auto loads `jdtls` plugins from mason.nvim (If they are installed) + - Supported plugins are, + - `lombok` (mason `jdtls` package contains the lombok jar. So no need to installed it separately) + - `java-test` + - `java-debug-adapter` +- Typed & documented APIs +- No callback hells I promise + + +HOW TO USE *nvim-java-core-how-to-use* + +>lua + local java = require('java-core') + local dap = require("java.dap") + + -- update dap config on attach event + dap.setup_dap_on_attach() + + require('lspconfig').jdtls.setup(java.get_config()) + + vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + local buffer = args.buf + + -- add your language server keymaps here + end, + group = vim.api.nvim_create_augroup('LSP Keymaps', {}), + }) +< + +============================================================================== +2. Links *nvim-java-core-links* + +1. *Neovim*: https://img.shields.io/badge/NeoVim-%2357A143.svg?&style=for-the-badge&logo=neovim&logoColor=white +2. *Lua*: https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge&logo=lua&logoColor=white +3. *Java*: https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white +4. *Gradle*: https://img.shields.io/badge/Gradle-02303A.svg?style=for-the-badge&logo=Gradle&logoColor=white +5. *Apache Maven*: https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge&logo=Apache%20Maven&logoColor=white + +Generated by panvimdoc + +vim:tw=78:ts=8:noet:ft=help:norl: