diff options
| author | kylo252 <59826753+kylo252@users.noreply.github.com> | 2022-03-08 01:26:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-07 16:26:21 -0800 |
| commit | 837e273c808d52da7f37438fe983e97cd5e987e5 (patch) | |
| tree | 0b7a9c15f173bf2ae799692e82e1509e8bc406cd /lua | |
| parent | docs: update server_configurations.md (diff) | |
| download | nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar.gz nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar.bz2 nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar.lz nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar.xz nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.tar.zst nvim-lspconfig-837e273c808d52da7f37438fe983e97cd5e987e5.zip | |
feat: add support for sourcery (#1495)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig/server_configurations/sourcery.lua | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/sourcery.lua b/lua/lspconfig/server_configurations/sourcery.lua new file mode 100644 index 00000000..9100c5a5 --- /dev/null +++ b/lua/lspconfig/server_configurations/sourcery.lua @@ -0,0 +1,55 @@ +local util = require 'lspconfig/util' + +local root_files = { + 'pyproject.toml', + 'setup.py', + 'setup.cfg', + 'requirements.txt', + 'Pipfile', + 'pyrightconfig.json', +} + +return { + default_config = { + cmd = { 'sourcery', 'lsp' }, + filetypes = { 'python' }, + init_options = { + editor_version = 'vim', + extension_version = 'vim.lsp', + token = nil, + }, + root_dir = function(fname) + return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname) + end, + single_file_support = true, + }, + on_new_config = function(new_config, _) + if not new_config.init_options.token then + local notify = vim.notify_once or vim.notify + notify('[lspconfig] The authentication token must be provided in config.init_options', vim.log.levels.ERROR) + end + end, + docs = { + description = [[ +https://github.com/sourcery-ai/sourcery + +Refactor Python instantly using the power of AI. + +It requires the initializationOptions param to be populated as shown below and will respond with the list of ServerCapabilities that it supports. + +init_options = { + --- The Sourcery token for authenticating the user. + --- This is retrieved from the Sourcery website and must be + --- provided by each user. The extension must provide a + --- configuration option for the user to provide this value. + token = <YOUR_TOKEN> + + --- The extension's name and version as defined by the extension. + extension_version = 'vim.lsp' + + --- The editor's name and version as defined by the editor. + editor_version = 'vim' +} +]], + }, +} |
