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) ''
|
cmd = helpers.mkNullOrOption (types.listOf types.str) ''
|
||||||
The command that starts the language server.
|
The command that starts the language server.
|
||||||
|
|
||||||
|
@ -94,21 +98,11 @@ in
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
cmd =
|
cmd =
|
||||||
if (cfg.cmd == null) then
|
if (cfg.cmd == null && cfg.jdtLanguageServerPackage != null) then
|
||||||
let
|
[ (lib.getExe cfg.jdtLanguageServerPackage) ]
|
||||||
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) ]
|
|
||||||
++ [
|
++ [
|
||||||
"-data"
|
"-data"
|
||||||
data
|
cfg.data
|
||||||
]
|
]
|
||||||
++ (optionals (cfg.configuration != null) [
|
++ (optionals (cfg.configuration != null) [
|
||||||
"-configuration"
|
"-configuration"
|
||||||
|
@ -125,9 +119,23 @@ in
|
||||||
} // cfg.extraOptions;
|
} // cfg.extraOptions;
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
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 ];
|
extraPlugins = [ cfg.package ];
|
||||||
|
|
||||||
extraPackages = [ pkgs.jdt-language-server ];
|
extraPackages = [ cfg.jdtLanguageServerPackage ];
|
||||||
|
|
||||||
autoCmd = [
|
autoCmd = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
example = {
|
example = {
|
||||||
plugins.nvim-jdtls = {
|
plugins.nvim-jdtls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
jdtLanguageServerPackage = null;
|
||||||
cmd = [
|
cmd = [
|
||||||
"${pkgs.jdt-language-server}/bin/jdt-language-server"
|
"${pkgs.jdt-language-server}/bin/jdt-language-server"
|
||||||
"-data"
|
"-data"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue