Skip to content

Commit

Permalink
languages/python: add basedpyright & python-lsp-server (#372)
Browse files Browse the repository at this point in the history
* languages/python: add basedpyright LSP

* languages/python: make basedpyright the default language server

* languages/python: add python-lsp-server

* docs: update 0.7 release notes
  • Loading branch information
NotAShelf authored Sep 16, 2024
1 parent eb037b7 commit cb7ff87
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 3 deletions.
8 changes: 7 additions & 1 deletion docs/release-notes/rl-0.7.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ configuration formats.
plugin's options can now be found under `indentBlankline.setupOpts`, the
previous iteration of the module also included out of place/broken options,
which have been removed for the time being. These are:

- `listChar` - this was already unused
- `fillChar` - this had nothing to do with the plugin, please configure it
yourself by adding `vim.opt.listchars:append({ space = '<char>' })` to your
Expand Down Expand Up @@ -157,13 +156,20 @@ configuration formats.
- Add `vim.ui.breadcrumbs.lualine` to allow fine-tuning breadcrumbs behaviour on
Lualine. Only `vim.ui.breadcrumbs.lualine.winbar` is supported for the time
being.

- [](#opt-vim.ui.breadcrumbs.lualine.winbar.enable) has been added to allow
controlling the default behaviour of the `nvim-navic` component on Lualine,
which used to occupy `winbar.lualine_c` as long as breadcrumbs are enabled.
- `vim.ui.breadcrumbs.alwaysRender` has been renamed to
[](#opt-vim.ui.breadcrumbs.lualine.winbar.alwaysRender) to be conform to the
new format.

- Add [basedpyright](https://github.com/detachhead/basedpyright) as a Python LSP
server and make it default.

- Add [python-lsp-server](https://github.com/python-lsp/python-lsp-server) as an
additional Python LSP server.

[ppenguin](https://github.com/ppenguin):

- Telescope:
Expand Down
35 changes: 33 additions & 2 deletions modules/plugins/languages/python.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

cfg = config.vim.languages.python;

defaultServer = "pyright";
defaultServer = "basedpyright";
servers = {
pyright = {
package = pkgs.pyright;
Expand All @@ -30,6 +30,36 @@
}
'';
};

basedpyright = {
package = pkgs.basedpyright;
lspConfig = ''
lspconfig.basedpyright.setup{
capabilities = capabilities;
on_attach = default_on_attach;
cmd = ${
if isList cfg.lsp.package
then expToLua cfg.lsp.package
else ''{"${cfg.lsp.package}/bin/basedpyright-langserver", "--stdio"}''
}
}
'';
};

python-lsp-server = {
package = pkgs.python-lsp-server;
lspConfig = ''
lspconfig.pylsp.setup{
capabilities = capabilities;
on_attach = default_on_attach;
cmd = ${
if isList cfg.lsp.package
then expToLua cfg.lsp.package
else ''{"${cfg.lsp.package}/bin/pylsp"}''
}
}
'';
};
};

defaultFormat = "black";
Expand Down Expand Up @@ -61,11 +91,12 @@
black-and-isort = {
package = pkgs.writeShellApplication {
name = "black";
runtimeInputs = [pkgs.black pkgs.isort];
text = ''
black --quiet - "$@" | isort --profile black -
'';
runtimeInputs = [pkgs.black pkgs.isort];
};

nullConfig = ''
table.insert(
ls_sources,
Expand Down

0 comments on commit cb7ff87

Please sign in to comment.