diff options
| author | Hirokazu Hata <h.hata.ai.t@gmail.com> | 2020-09-06 17:49:21 +0900 |
|---|---|---|
| committer | Hirokazu Hata <h.hata.ai.t@gmail.com> | 2020-09-06 17:49:21 +0900 |
| commit | ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de (patch) | |
| tree | c301c7a765535dcb5387d76cc71e28d845dcce23 /lua/nvim_lsp/pyls_ms.lua | |
| parent | Merge pull request #238 from steelsojka/angular-ls (diff) | |
| download | nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.gz nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.bz2 nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.lz nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.xz nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.zst nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.zip | |
Rename nvim_lsp to lspconfig
Diffstat (limited to 'lua/nvim_lsp/pyls_ms.lua')
| -rw-r--r-- | lua/nvim_lsp/pyls_ms.lua | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/lua/nvim_lsp/pyls_ms.lua b/lua/nvim_lsp/pyls_ms.lua deleted file mode 100644 index 6b66a600..00000000 --- a/lua/nvim_lsp/pyls_ms.lua +++ /dev/null @@ -1,153 +0,0 @@ -local configs = require 'nvim_lsp/configs' -local util = require 'nvim_lsp/util' - -local name = "pyls_ms" - -local function get_latest_pyls() - local f = io.popen("curl -k --silent 'https://pvsc.blob.core.windows.net/python-language-server-stable?restype=container&comp=list&prefix=Python-Language-Server-osx-x64'") - local l = f:read("*a") - f:close() - local version - for w in string.gmatch (l, "x64%.(.-).nupkg") do - version = w - end - return version -end - -local function make_installer() - local P = util.path.join - local install_dir = P{util.base_install_dir, name} - - local bin = P{install_dir, "Microsoft.Python.LanguageServer.dll"} - local cmd = {"dotnet", "exec", bin} - - local X = {} - function X.install() - local install_info = X.info() - if install_info.is_installed then - print(name, "is already installed") - return - end - if not (util.has_bins("curl")) then - error('Need "curl" to install this.') - return - end - if not (util.has_bins("dotnet")) then - error('Need ".NET Core" to install this.') - return - end - - local system - if vim.fn.has('mac') == 1 then - system = 'osx' - elseif vim.fn.has('unix') == 1 then - system = 'linux' - elseif vim.fn.has('win32') == 1 then - system = 'win' - else - error('Unable to identify host operating system') - end - - local version = get_latest_pyls() - local url = string.format("https://pvsc.azureedge.net/python-language-server-stable/Python-Language-Server-%s-x64.%s.nupkg", string.lower(system), version) - local download_cmd = string.format('curl -fLo %s --create-dirs %s', install_info.install_dir .. "/pyls.nupkg", url) - local install_cmd = '' - - if vim.fn.has('mac') == 1 or vim.fn.has('unix') == 1 then - install_cmd = "unzip " .. install_info.install_dir .. "/pyls.nupkg -d " .. install_info.install_dir - elseif vim.fn.has('win32') == 1 then - install_cmd = "Expand-Archive -Force " .. install_info.install_dir .. "/pyls.nupkg -d " .. install_info.install_dir - end - - vim.fn.system(download_cmd) - vim.fn.system(install_cmd) - end - function X.info() - return { - is_installed = util.path.exists(bin); - install_dir = install_dir; - cmd = cmd; - } - end - function X.configure(config) - local install_info = X.info() - if install_info.is_installed then - config.cmd = cmd - end - end - return X -end - -local installer = make_installer() - -configs[name] = { - - default_config = { - filetypes = {"python"}; - root_dir = function(fname) - return util.find_git_ancestor(fname) or vim.loop.os_homedir() - end; - settings = { - python = { - analysis = { - errors = {}; - info = {}; - disabled = {}; - }; - }; - }; - on_new_config = function(config) - installer.configure(config) - end; - init_options = { - interpreter = { - properties = - { - InterpreterPath = ""; - Version = ""; - }; - }; - displayOptions = {}; - analysisUpdates = true; - asyncStartup = true; - }; - }; - docs = { - description = [[ -https://github.com/Microsoft/python-language-server - -`python-language-server`, a language server for Python. - -Requires [.NET Core](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script) to run. On Linux or macOS: - -```bash -curl -L https://dot.net/v1/dotnet-install.sh | sh -``` - -`python-language-server` can be installed via `:LspInstall pyls_ms` or you can [build](https://github.com/microsoft/python-language-server/blob/master/CONTRIBUTING.md#setup) your own. - -If you want to use your own build, set cmd to point to `Microsoft.Python.languageServer.dll`. - -```lua -cmd = { "dotnet", "exec", "path/to/Microsoft.Python.languageServer.dll" }; -``` - -If the `python` interpreter is not in your PATH environment variable, set the `InterpreterPath` and `Version` properties accordingly. - -```lua -InterpreterPath = "path/to/python", -Version = "3.8" -``` - -This server accepts configuration via the `settings` key. - - ]]; - default_config = { - root_dir = "vim's starting directory"; - }; - }; -}; - -configs[name].install = installer.install -configs[name].install_info = installer.info --- vim:et ts=2 sw=2 |
