Skip to content

Commit 5936a3f

Browse files
committed
python: use kernel attrs for language servers
1 parent 7c288dc commit 5936a3f

9 files changed

Lines changed: 55 additions & 64 deletions

File tree

modules/kernels/python/default.nix

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ let
5555

5656
languageServers =
5757
[]
58-
++ lib.optionals settings.lsp.jedi.enable [(callPackage ./language_servers/language_server_jedi/config.nix { inherit pythonWithPackages kernelName; })]
59-
++ lib.optionals settings.lsp.pyright.enable [(callPackage ./language_servers/language_server_pyright/config.nix { inherit pythonWithPackages kernelName; })]
60-
++ lib.optionals settings.lsp.pylint.enable [(callPackage ./language_servers/language_server_pylint/config.nix { inherit pythonWithPackages kernelName; })]
61-
++ lib.optionals settings.lsp.flake8.enable [(callPackage ./language_servers/language_server_flake8/config.nix { inherit pythonWithPackages kernelName; })]
62-
++ lib.optionals settings.lsp.pycodestyle.enable [(callPackage ./language_servers/language_server_pycodestyle/config.nix { inherit pythonWithPackages kernelName; })]
63-
++ lib.optionals settings.lsp.microsoft.enable [(callPackage ./language_servers/language_server_microsoft/config.nix { inherit pythonWithPackages kernelName; })]
64-
++ lib.optionals (settings.lsp.python-lsp-server.enable && (hasPythonLspServer (pythonWithPackages (ps: [])))) [(callPackage ./language_servers/language_server_pythonlsp/config.nix { inherit pythonWithPackages kernelName; })]
65-
++ lib.optionals (settings.lsp.python-language-server.enable && (hasPythonLanguageServer (pythonWithPackages (ps: [])))) [(callPackage ./language_servers/language_server_palantir/config.nix { inherit pythonWithPackages kernelName; })]
58+
++ lib.optionals settings.lsp.jedi.enable [(callPackage ./language_servers/language_server_jedi/config.nix { inherit pythonWithPackages kernelName attrs; })]
59+
++ lib.optionals settings.lsp.pyright.enable [(callPackage ./language_servers/language_server_pyright/config.nix { inherit pythonWithPackages kernelName attrs; })]
60+
++ lib.optionals settings.lsp.pylint.enable [(callPackage ./language_servers/language_server_pylint/config.nix { inherit pythonWithPackages kernelName attrs; })]
61+
++ lib.optionals settings.lsp.flake8.enable [(callPackage ./language_servers/language_server_flake8/config.nix { inherit pythonWithPackages kernelName attrs; })]
62+
++ lib.optionals settings.lsp.pycodestyle.enable [(callPackage ./language_servers/language_server_pycodestyle/config.nix { inherit pythonWithPackages kernelName attrs; })]
63+
++ lib.optionals settings.lsp.microsoft.enable [(callPackage ./language_servers/language_server_microsoft/config.nix { inherit pythonWithPackages kernelName attrs; })]
64+
++ lib.optionals (settings.lsp.python-lsp-server.enable && (hasPythonLspServer (pythonWithPackages (ps: [])))) [(callPackage ./language_servers/language_server_pythonlsp/config.nix { inherit pythonWithPackages kernelName attrs; })]
65+
++ lib.optionals (settings.lsp.python-language-server.enable && (hasPythonLanguageServer (pythonWithPackages (ps: [])))) [(callPackage ./language_servers/language_server_palantir/config.nix { inherit pythonWithPackages kernelName attrs; })]
6666
;
6767

6868
pythonToUse = python3.withPackages (_: allPackages);

modules/kernels/python/language_servers/language_server_flake8/config.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{ callPackage
22
, lib
3-
, stdenv
43
, pythonWithPackages
54

65
, kernelName
6+
, attrs
77
}:
88

99
let
@@ -33,7 +33,7 @@ common.writeTextDirWithMetaAndPassthru python.pkgs.flake8.meta passthru "lib/cod
3333
extensions = ["py"];
3434
notebook_suffix = ".py";
3535
kernel_name = kernelName;
36-
attrs = ["python"];
36+
inherit attrs;
3737
type = "stream";
3838
args = ["${diagnostic-languageserver}/bin/diagnostic-languageserver" "--stdio" "--log-level" "1"];
3939
# Not sure whether to do this using an environment variable or initialization option

modules/kernels/python/language_servers/language_server_jedi/config.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
, lib
33

44
, pythonWithPackages
5-
, writeTextDir
65
, kernelName
6+
, attrs
77
}:
88

99
let
@@ -31,7 +31,7 @@ common.writeTextDirWithMetaAndPassthru jls.meta passthru "lib/codedown/language-
3131
extensions = ["py"];
3232
notebook_suffix = ".py";
3333
kernel_name = kernelName;
34-
attrs = ["python"];
34+
inherit attrs;
3535
type = "stream";
3636
args = ["${pythonEnv}/bin/jedi-language-server"];
3737

modules/kernels/python/language_servers/language_server_microsoft/config.nix

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
{ stdenv
2-
, coreutils
3-
, pythonWithPackages
1+
{ pythonWithPackages
42
, python-language-server
53
, callPackage
64
, lib
75
, kernelName
6+
, attrs
87
}:
98

109
with lib;
@@ -28,41 +27,41 @@ let
2827
cacheFolderPath = "FILLED_IN";
2928
};
3029

31-
configuration_settings = cacheFolderPath: {
32-
python = {
33-
linting = {
34-
enabled = true;
35-
};
36-
analysis = {
37-
enabled = true;
38-
cachingLevel = "System";
39-
cacheFolderPath = cacheFolderPath;
40-
};
41-
};
42-
};
30+
# configuration_settings = cacheFolderPath: {
31+
# python = {
32+
# linting = {
33+
# enabled = true;
34+
# };
35+
# analysis = {
36+
# enabled = true;
37+
# cachingLevel = "System";
38+
# cacheFolderPath = cacheFolderPath;
39+
# };
40+
# };
41+
# };
4342

44-
generate_cache = ./generate_cache.py;
43+
# generate_cache = ./generate_cache.py;
4544

46-
cache = stdenv.mkDerivation {
47-
name = "microsoft-python-language-server-cache";
45+
# cache = stdenv.mkDerivation {
46+
# name = "microsoft-python-language-server-cache";
4847

49-
dontUnpack = true;
48+
# dontUnpack = true;
5049

51-
buildInputs = [coreutils python];
50+
# buildInputs = [coreutils python];
5251

53-
buildPhase = ''
54-
mkdir -p $out/cache
52+
# buildPhase = ''
53+
# mkdir -p $out/cache
5554

56-
echo '${generators.toJSON {} initialization_options}' > initialization_options.json
57-
echo '${generators.toJSON {} (configuration_settings "FILLED_IN")}' > configuration_settings.json
55+
# echo '${generators.toJSON {} initialization_options}' > initialization_options.json
56+
# echo '${generators.toJSON {} (configuration_settings "FILLED_IN")}' > configuration_settings.json
5857

59-
python ${generate_cache} ${python-language-server}/bin/python-language-server $out/cache ./initialization_options.json ./configuration_settings.json
60-
'';
58+
# python ${generate_cache} ${python-language-server}/bin/python-language-server $out/cache ./initialization_options.json ./configuration_settings.json
59+
# '';
6160

62-
dontInstall = true;
61+
# dontInstall = true;
6362

64-
dontFixup = true;
65-
};
63+
# dontFixup = true;
64+
# };
6665

6766
languageServerName = "python-language-server";
6867

@@ -83,7 +82,7 @@ common.writeTextDirWithMetaAndPassthru python-language-server.meta passthru "lib
8382
extensions = ["py"];
8483
notebook_suffix = ".py";
8584
kernel_name = kernelName;
86-
attrs = ["python"];
85+
inherit attrs;
8786
type = "stream";
8887
args = ["${python-language-server}/bin/python-language-server"];
8988
# configuration_settings = configuration_settings "${cache}/cache";

modules/kernels/python/language_servers/language_server_palantir/config.nix

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
{ stdenv
2-
, lib
3-
, pkgs
1+
{ lib
42
, callPackage
53
, pythonWithPackages
6-
, bash
74
, kernelName
5+
, attrs
86
}:
97

10-
with lib;
11-
128
let
139
# This is slightly different than how the kernel is configured. For the language server,
1410
# we put the user site-packages directory *after* everything else, so that they can't confuse
@@ -59,7 +55,7 @@ common.writeTextDirWithMetaAndPassthru python.pkgs.python-language-server.meta p
5955
extensions = ["py"];
6056
notebook_suffix = ".py";
6157
kernel_name = kernelName;
62-
attrs = ["python"];
58+
inherit attrs;
6359
type = "stream";
6460
args = ["${python}/bin/python" "-m" "pyls"];
6561
initialization_options = import ../pylsp_initialization_options.nix "pyls";

modules/kernels/python/language_servers/language_server_pycodestyle/config.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{ callPackage
22
, lib
3-
, stdenv
43

54
, pythonWithPackages
65
, kernelName
7-
, packages ? []
6+
, attrs
7+
# , packages ? []
88
}:
99

1010
let
@@ -34,7 +34,7 @@ common.writeTextDirWithMetaAndPassthru python.pkgs.pycodestyle.meta passthru "li
3434
extensions = ["py"];
3535
notebook_suffix = ".py";
3636
kernel_name = kernelName;
37-
attrs = ["python"];
37+
inherit attrs;
3838
type = "stream";
3939
args = ["${diagnostic-languageserver}/bin/diagnostic-languageserver" "--stdio" "--log-level" "1"];
4040
# Not sure whether to do this using an environment variable or initialization option

modules/kernels/python/language_servers/language_server_pylint/config.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
{ stdenv
2-
, pkgs
1+
{ pkgs
32
, pythonWithPackages
43
, kernelName
4+
, attrs
55
}:
66

77
with pkgs;
@@ -34,7 +34,7 @@ common.writeTextDirWithMetaAndPassthru python.pkgs.pylint.meta passthru "lib/cod
3434
extensions = ["py"];
3535
notebook_suffix = ".py";
3636
kernel_name = kernelName;
37-
attrs = ["python"];
37+
inherit attrs;
3838
type = "stream";
3939
args = ["${diagnostic-languageserver}/bin/diagnostic-languageserver" "--stdio" "--log-level" "1"];
4040
# Not sure whether to do this using an environment variable or initialization option

modules/kernels/python/language_servers/language_server_pyright/config.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
, callPackage
33
, makeWrapper
44
, runCommand
5-
, writeTextDir
65

76
, pythonWithPackages
87
, pyright
98

109
, kernelName
10+
, attrs
1111
}:
1212

1313

@@ -44,7 +44,7 @@ common.writeTextDirWithMetaAndPassthru pyright.meta passthru "lib/codedown/langu
4444
extensions = ["py"];
4545
notebook_suffix = ".py";
4646
kernel_name = kernelName;
47-
attrs = ["python"];
47+
inherit attrs;
4848
type = "stream";
4949
args = ["${pyright}/bin/pyright-langserver" "--stdio"];
5050

modules/kernels/python/language_servers/language_server_pythonlsp/config.nix

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
{ stdenv
2-
, lib
3-
, pkgs
1+
{ lib
42
, callPackage
53
, pythonWithPackages
6-
, bash
74
, kernelName
5+
, attrs
86
}:
97

10-
with lib;
11-
128
let
139
# This is slightly different than how the kernel is configured. For the language server,
1410
# we put the user site-packages directory *after* everything else, so that they can't confuse
@@ -60,7 +56,7 @@ common.writeTextDirWithMetaAndPassthru python.pkgs.python-lsp-server.meta passth
6056
extensions = ["py"];
6157
notebook_suffix = ".py";
6258
kernel_name = kernelName;
63-
attrs = ["python"];
59+
inherit attrs;
6460
type = "stream";
6561
args = ["${python}/bin/python" "-m" "pylsp"];
6662
initialization_options = import ../pylsp_initialization_options.nix "pylsp";

0 commit comments

Comments
 (0)