diff --git a/config/nvim/after/plugin/lsp.lua b/config/nvim/after/plugin/lsp.lua index bc6f14f..9746213 100644 --- a/config/nvim/after/plugin/lsp.lua +++ b/config/nvim/after/plugin/lsp.lua @@ -29,6 +29,7 @@ for _, server in ipairs({ 'mdx_analyzer', 'jsonls', 'vtsls', + 'pytest_lsp', 'lua_ls', 'ruff', 'tinymist', diff --git a/config/nvim/lua/lsp/pytest_lsp.lua b/config/nvim/lua/lsp/pytest_lsp.lua new file mode 100644 index 0000000..086029e --- /dev/null +++ b/config/nvim/lua/lsp/pytest_lsp.lua @@ -0,0 +1,11 @@ +return { + cmd = { 'pytest-language-server' }, + filetypes = { 'python' }, + root_markers = { + 'pyproject.toml', + 'setup.py', + 'setup.cfg', + 'pytest.ini', + '.git', + }, +} diff --git a/home/modules/editor.nix b/home/modules/editor.nix index 46cf9a6..e0001a7 100644 --- a/home/modules/editor.nix +++ b/home/modules/editor.nix @@ -7,6 +7,7 @@ let neovim = config.programs.neovim.enable; + pytest-language-server = pkgs.callPackage ../../pkgs/pytest-language-server.nix { }; in { home.packages = with pkgs; [ @@ -17,6 +18,7 @@ in emmet-language-server lua-language-server mdx-language-server + pytest-language-server ruff tinymist vtsls diff --git a/pkgs/pytest-language-server.nix b/pkgs/pytest-language-server.nix new file mode 100644 index 0000000..25a24b8 --- /dev/null +++ b/pkgs/pytest-language-server.nix @@ -0,0 +1,28 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: + +rustPlatform.buildRustPackage rec { + pname = "pytest-language-server"; + version = "0.21.0"; + + src = fetchFromGitHub { + owner = "bellini666"; + repo = "pytest-language-server"; + rev = "v${version}"; + hash = "sha256-Vvr4TGt5QZL1Ypw1zBSzkv+5JT4fxHayHpIbVTFwO9I="; + }; + + doCheck = false; + + cargoHash = "sha256-E4KcGqMRUvmSK93ALzqzlE+MJoxMQUZnJofW3eWVicU="; + + meta = { + description = "Language Server Protocol implementation for pytest"; + homepage = "https://github.com/bellini666/pytest-language-server"; + license = lib.licenses.mit; + mainProgram = "pytest-language-server"; + }; +}