|
| 1 | +*nvim-java-core.txt* For Neovim >= 0.9.4 Last change: 2023 November 15 |
| 2 | + |
| 3 | +============================================================================== |
| 4 | +Table of Contents *nvim-java-core-table-of-contents* |
| 5 | + |
| 6 | +1. nvim-java-core |nvim-java-core-nvim-java-core| |
| 7 | + - Features |nvim-java-core-features| |
| 8 | + - Why |nvim-java-core-why| |
| 9 | + - How to Use |nvim-java-core-how-to-use| |
| 10 | + |
| 11 | +============================================================================== |
| 12 | +1. nvim-java-core *nvim-java-core-nvim-java-core* |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +No need to put up with jdtls <https://github.com/eclipse-jdtls/eclipse.jdt.ls> |
| 17 | +nonsense anymore. Just install and start writing `public static void |
| 18 | +main(String[] args)`. |
| 19 | + |
| 20 | + |
| 21 | +FEATURES *nvim-java-core-features* |
| 22 | + |
| 23 | +are supported features. are pending features. |
| 24 | + |
| 25 | +- Diagnostics & Auto Completion |
| 26 | +- Automatic DAP <https://github.com/mfussenegger/nvim-dap> debug configuration |
| 27 | +- Running tests |
| 28 | + |
| 29 | + |
| 30 | +WHY *nvim-java-core-why* |
| 31 | + |
| 32 | +- Uses nvim-lspconfig <> to setup `jdtls` |
| 33 | +- Uses `jdtls` and auto loads `jdtls` plugins from mason.nvim <https://github.com/williamboman/mason.nvim> (If they are installed) |
| 34 | + - Supported plugins are, |
| 35 | + - `lombok` (mason `jdtls` package contains the lombok jar. So no need to installed it separately) |
| 36 | + - `java-test` |
| 37 | + - `java-debug-adapter` |
| 38 | +- Typed & documented APIs |
| 39 | +- No callback hells I promise <https://github.com/pyericz/promise-lua> |
| 40 | + |
| 41 | + |
| 42 | +HOW TO USE *nvim-java-core-how-to-use* |
| 43 | + |
| 44 | +>lua |
| 45 | + local java = require('java-core') |
| 46 | + local dap = require("java.dap") |
| 47 | + |
| 48 | + -- update dap config on attach event |
| 49 | + dap.setup_dap_on_attach() |
| 50 | + |
| 51 | + require('lspconfig').jdtls.setup(java.get_config()) |
| 52 | + |
| 53 | + vim.api.nvim_create_autocmd('LspAttach', { |
| 54 | + callback = function(args) |
| 55 | + local buffer = args.buf |
| 56 | + |
| 57 | + -- add your language server keymaps here |
| 58 | + end, |
| 59 | + group = vim.api.nvim_create_augroup('LSP Keymaps', {}), |
| 60 | + }) |
| 61 | +< |
| 62 | + |
| 63 | +============================================================================== |
| 64 | +2. Links *nvim-java-core-links* |
| 65 | + |
| 66 | +1. *Neovim*: https://img.shields.io/badge/NeoVim-%2357A143.svg?&style=for-the-badge&logo=neovim&logoColor=white |
| 67 | +2. *Lua*: https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge&logo=lua&logoColor=white |
| 68 | +3. *Java*: https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white |
| 69 | +4. *Gradle*: https://img.shields.io/badge/Gradle-02303A.svg?style=for-the-badge&logo=Gradle&logoColor=white |
| 70 | +5. *Apache Maven*: https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge&logo=Apache%20Maven&logoColor=white |
| 71 | + |
| 72 | +Generated by panvimdoc <https://github.com/kdheepak/panvimdoc> |
| 73 | + |
| 74 | +vim:tw=78:ts=8:noet:ft=help:norl: |
0 commit comments