aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authortreatybreaker <price@orion-technologies.io>2023-03-05 06:12:06 -0600
committerGitHub <noreply@github.com>2023-03-05 20:12:06 +0800
commitd2758bf44d2a5553c5385d21392c49b9758ea507 (patch)
treec21ea37e4e5c9248034a4f018e4bcfc4b13dba00 /lua
parentfix(util): update `is_windows` detection (#2492) (diff)
downloadnvim-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.lua53
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`.
+]],
+ },
+}