nvim-jdtls
nvim-lspconfig
nvim-jdtls | nvim-lspconfig | |
---|---|---|
75 | 524 | |
1,049 | 10,282 | |
- | 2.0% | |
6.5 | 9.7 | |
about 1 month ago | 4 days ago | |
Lua | Lua | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nvim-jdtls
-
Having the worst time trying to use JDTLS
I recommend that you do not configure jdtls like the other language servers, it is better to use the nvim-jdtls plugin.
-
Noob here, would neovim work for my usecase
Java is actually pretty good with Neovim, jdtls and this plugin. One of the best language servers and I'm using it on a regular base with medium to large projects, mostly spring-based. No Android though.
-
Client 2 quit with exit code 1 and signal 0 when opening a .java files
-- See `:help vim.lsp.start_client` for an overview of the supported `config` options. local config = { -- The command that starts the language server -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line cmd = { -- π 'java', -- or '/path/to/java17_or_newer/bin/java' -- depends on if `java` is in your $PATH env variable and if it points to the right version. '-Declipse.application=org.eclipse.jdt.ls.core.id1', '-Dosgi.bundles.defaultStartLevel=4', '-Declipse.product=org.eclipse.jdt.ls.core.product', '-Dlog.protocol=true', '-Dlog.level=ALL', '-Xmx1g', '--add-modules=ALL-SYSTEM', '--add-opens', 'java.base/java.util=ALL-UNNAMED', '--add-opens', 'java.base/java.lang=ALL-UNNAMED', -- π '-jar', '~/.local/share/nvim/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ -- Must point to the Change this to -- eclipse.jdt.ls installation the actual version -- π '-configuration', '~/.local/share/nvim/mason/packages/jdtls/config_linux', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ -- Must point to the Change to one of `linux`, `win` or `mac` -- eclipse.jdt.ls installation Depending on your system. -- π -- See `data directory configuration` section in the README '-data', '/path/to/unique/per/project/workspace/folder' }, -- π -- This is the default if not provided, you can remove it. Or adjust as needed. -- One dedicated LSP server & client will be started per unique root_dir root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), -- Here you can configure eclipse.jdt.ls specific settings -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request -- for a list of options settings = { java = { } }, -- Language server `initializationOptions` -- You need to extend the `bundles` with paths to jar files -- if you want to use additional eclipse.jdt.ls plugins. -- -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation -- -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this init_options = { bundles = {} }, } -- This starts a new client & server, -- or attaches to an existing client & server depending on the `root_dir`. require('jdtls').start_or_attach(config)
-
Foot β A fast, lightweight and minimalistic Wayland terminal emulator
I can get by with https://github.com/mfussenegger/nvim-jdtls
-
[HELP] ftplugin and lazy loading in NvChad
This and this provided no viable solutions for me
- Anyone using nvim for Kotlin development?
-
Help for configure jdtls
I tried to configure jdtls for my NeoVim I followed https://github.com/mfussenegger/nvim-jdtls install instruction. and I faced this error does anyone successfully configured jdtls ? help T ^ T
-
Adding JAR files to nvim-jdtls
Am I adding it to the wrong configuration option? Some places I see it added as a referencedLibary - https://github.com/mfussenegger/nvim-jdtls
-
Does anyone config java for neovim?
Sure. Any server that lspconfig supports will work. But for java development is better if you use nvim-jdtls. The documentation in lsp-zero has a guide on how to setup nvim-jdtls.
-
I can't seem to figure it out
Here' my java.lua for nvim-jdtls which solves the nil issue and add more features.
nvim-lspconfig
-
Ultimate Neovim Setup Guide: lazy.nvim Plugin Manager
neovim/nvim-lspconfig: Quickstart configs for Nvim LSP
-
JetBrains' unremovable AI assistant meets irresistible outcry
I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager and it gives you commands to manage the rest of your plugins.
These two plugins are the bare minimum in my view.
https://github.com/nvim-treesitter/nvim-treesitter
Treesitter gives you much better syntax highlighting based on a parser for a given language.
https://github.com/neovim/nvim-lspconfig
This plugin helps you connect to a given language LSP quickly with sensible defaults. You more or less pick your language from here and copy paste a snippet, and then install the relevant LSP:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
For Python you'll want pylsp. For JavaScript it will depend on what frontend framework you're using, I probably can't help you there.
pylsp itself takes some plugins and you'll probably want them. https://github.com/python-lsp/python-lsp-server
Best of luck! Happy hacking.
-
Neovide β a simple, no-nonsense, cross-platform GUI for Neovim
Adding language support it neovim isn't very difficult once you're setup. I use nvim-lspconfig[1] and just about any language you could need is documented[2]. But like others have mentioned there are batteries included distributions of neovim if that's your cup of tea.
[1]: https://github.com/neovim/nvim-lspconfig/
[2]: https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
-
A guide on Neovim's LSP client
If we can't find the basic usage in the documentation we can go to nvim-lspconfig's github repository. In there we look for a folder called server_configurations, this contains configuration files for a bunch of language servers.
-
Do I need NeoVIM?
https://github.com/hrsh7th/nvim-cmp This is an autocompletion engine https://github.com/nvim-treesitter/nvim-treesitter This allows NeoVim to install parsing scripts so NeoVim can do things like code highlighting. https://github.com/williamboman/mason.nvim Not strictly necessary, but allows you to access a repo of LSP, install them, and configure them for without you actively messing about in config files. https://github.com/neovim/nvim-lspconfig Also not strictly necessary, but vastly simplifies LSP setup. https://github.com/williamboman/mason-lspconfig.nvim This lets the above two plugins talk to each other more easily.
-
cpp setting problem
This specific issue talks about fixing clangd for that error: https://github.com/neovim/nvim-lspconfig/issues/2184. The issue is ongoing for ccls AFAIK but for clangd, this has been discussed and fixed in the past already.
-
Need help to set up the pbkit language server
I am trying to set up the pbkit language server for protobuf files. Since it is not part of the nvim-lspconfig repo's server configurations, I have to figure the way out myself. It doesn't seem to be too difficult, as I can start from the bufls configuration there. The following is what I have at the moment:
-
Option omnifunc is not set
I have configured neovim with lspconfig and mason. Added the suggested configuration of the lsp config(https://github.com/neovim/nvim-lspconfig) to ~/.config/nvim/after/plugin/lsp.lua Then I installed via mason the following language servers:
-
Using nvim-lint as a null-ls alternative for linters
Personally, i think nvim-lint is the best alternative currently, specially so because it has no dependencies on external binaries. This guide assumes you already have your LSP set up with nvim-lspconfig (or an alternative like lsp-zero). You should also have an way to install the linters you are gonna need, i highly recommend Mason with mason-lspconfig.
-
The Future of the Vim Project
Basically neovim can act as a client to a variety of different language servers (https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...) which give neovim IDE capabilities. This can be done in original Vim also but requires external plugins which can be a pain to compile and install. Neovim has it built in.
What are some alternatives?
eclipse.jdt.ls - Java language server
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!
null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
coc-java - Java extension for coc.nvim
java-debug - The debug server implementation for Java. It conforms to the debug protocol of Visual Studio Code (DAP, Debugger Adapter Protocol).
coc - Chroniques OubliΓ©es Contemporain
mason.nvim - Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
clangd - clangd language server