mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-13 10:44:34 +02:00
plugins/nvim-jdtls: use jdtLanguageServerPackage option
This commit is contained in:
parent
b42d4588ae
commit
61be7a6eed
2 changed files with 23 additions and 15 deletions
|
@ -20,6 +20,10 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
jdtLanguageServerPackage = lib.mkPackageOption pkgs "jdt-language-server" {
|
||||
nullable = true;
|
||||
};
|
||||
|
||||
cmd = helpers.mkNullOrOption (types.listOf types.str) ''
|
||||
The command that starts the language server.
|
||||
|
||||
|
@ -94,21 +98,11 @@ in
|
|||
config =
|
||||
let
|
||||
cmd =
|
||||
if (cfg.cmd == null) then
|
||||
let
|
||||
data =
|
||||
if (cfg.data == null) then
|
||||
throw ''
|
||||
You have to either set the 'plugins.nvim-jdtls.data' or the 'plugins.nvim-jdtls.cmd'
|
||||
option.
|
||||
''
|
||||
else
|
||||
cfg.data;
|
||||
in
|
||||
[ (lib.getExe pkgs.jdt-language-server) ]
|
||||
if (cfg.cmd == null && cfg.jdtLanguageServerPackage != null) then
|
||||
[ (lib.getExe cfg.jdtLanguageServerPackage) ]
|
||||
++ [
|
||||
"-data"
|
||||
data
|
||||
cfg.data
|
||||
]
|
||||
++ (optionals (cfg.configuration != null) [
|
||||
"-configuration"
|
||||
|
@ -125,9 +119,23 @@ in
|
|||
} // cfg.extraOptions;
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.cmd != null || cfg.data != null;
|
||||
message = "You have to either set the `plugins.nvim-jdtls.data` or the `plugins.nvim-jdtls.cmd` option.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.cmd == null -> cfg.jdtLanguageServerPackage != null;
|
||||
message = ''
|
||||
Nixvim (plugins.nvim-jdtls) You haven't defined a `cmd` or `jdtLanguageServerPackage`.
|
||||
|
||||
The default `cmd` requires `plugins.nvim-jdtls.jdtLanguageServerPackage` to be set.
|
||||
'';
|
||||
}
|
||||
];
|
||||
extraPlugins = [ cfg.package ];
|
||||
|
||||
extraPackages = [ pkgs.jdt-language-server ];
|
||||
extraPackages = [ cfg.jdtLanguageServerPackage ];
|
||||
|
||||
autoCmd = [
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
example = {
|
||||
plugins.nvim-jdtls = {
|
||||
enable = true;
|
||||
|
||||
jdtLanguageServerPackage = null;
|
||||
cmd = [
|
||||
"${pkgs.jdt-language-server}/bin/jdt-language-server"
|
||||
"-data"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue