plugins.nvim-jdtls.enable

Whether to enable nvim-jdtls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-jdtls.package

Which package to use for the nvim-jdtls plugin.

Type: package

Default: <derivation vimplugin-nvim-jdtls-2024-05-16>

Declared by:

plugins.nvim-jdtls.cmd

The command that starts the language server.

You should either set a value for this option, or, you can instead set the data (and configuration) options.

plugins.nvim-jdtls = {
  enable = true;
  cmd = [
    (lib.getExe pkgs.jdt-language-server)
    "-data" "/path/to/your/workspace"
    "-configuration" "/path/to/your/configuration"
    "-foo" "bar"
  ];
};

Or,

plugins.nvim-jdtls = {
  enable = true;
  data =  "/path/to/your/workspace";
  configuration = "/path/to/your/configuration";
};

Type: null or (list of string)

Default: null

Declared by:

plugins.nvim-jdtls.configuration

Path to the configuration file.

Type: null or string

Default: null

Example: "/home/YOUR_USERNAME/.cache/jdtls/config"

Declared by:

plugins.nvim-jdtls.data

eclipse.jdt.ls stores project specific data within the folder set via the -data flag. If you’re using eclipse.jdt.ls with multiple different projects you must use a dedicated data directory per project.

Type: null or string

Default: null

Example: "/home/YOUR_USERNAME/.cache/jdtls/workspace"

Declared by:

plugins.nvim-jdtls.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.nvim-jdtls.initOptions

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, ignore this option

Type: null or (attribute set)

Default: null

Declared by:

plugins.nvim-jdtls.rootDir

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

Plugin default: { __raw = "require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'})"; }

Type: null or string or raw lua code

Default: null

Declared by:

plugins.nvim-jdtls.settings

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.

Type: null or (attribute set)

Default: null

Declared by: