diff options
| author | treatybreaker <price@orion-technologies.io> | 2023-03-05 06:12:06 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-05 20:12:06 +0800 |
| commit | d2758bf44d2a5553c5385d21392c49b9758ea507 (patch) | |
| tree | c21ea37e4e5c9248034a4f018e4bcfc4b13dba00 /lua | |
| parent | fix(util): update `is_windows` detection (#2492) (diff) | |
| download | nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar.gz nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar.bz2 nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar.lz nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar.xz nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.tar.zst nvim-lspconfig-d2758bf44d2a5553c5385d21392c49b9758ea507.zip | |
feat: add azure pipelines lsp (#2493)
* feat: add azure pipelines language server
* refactor: rename azure_pipelines_language_server to azure_pipelines_ls
* refactor: set azure_pipelines_ls root to search azure-pipelines.yml
* docs: correct mistake in azure pipelines ls server.js path
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig/server_configurations/azure_pipelines_ls.lua | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/azure_pipelines_ls.lua b/lua/lspconfig/server_configurations/azure_pipelines_ls.lua new file mode 100644 index 00000000..38d2c6a4 --- /dev/null +++ b/lua/lspconfig/server_configurations/azure_pipelines_ls.lua @@ -0,0 +1,53 @@ +local util = require 'lspconfig.util' + +return { + default_config = { + cmd = {}, + filetypes = { 'yaml' }, + root_dir = util.root_pattern 'azure-pipelines.yml', + single_file_support = true, + settings = {}, + }, + docs = { + description = [[ +https://github.com/microsoft/azure-pipelines-language-server + +An Azure Pipelines language server + +**By default, `azure-pipelines-ls` doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. +You have to install the language server manually. + +`azure-pipelines-ls` can be installed via `npm`: + +```sh +npm install -g azure-pipelines-language-server +``` + +Once installed, point `cmd` to `server.js` inside the `out` directory: + +```lua +cmd = {'node', '<path_to_azure_pipelines_install>/out/server.js', '--stdio'} +``` + +By default `azure-pipelines-ls` will only work in files named `azure-pipelines.yml`, this can be changed by providing additional settings like so: +```lua +require("lspconfig").azure_pipelines_ls.setup { + ... -- other configuration for setup {} + settings = { + yaml = { + schemas = { + ["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = { + "/azure-pipeline*.y*l", + "/*.azure*", + "Azure-Pipelines/**/*.y*l", + "Pipelines/*.y*l", + }, + }, + }, + }, +} +``` +The Azure Pipelines LSP is a fork of `yaml-language-server` and as such the same settings can be passed to it as `yaml-language-server`. +]], + }, +} |
