aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorLuiz Correia <luiz@luizcorreia.eti.br>2021-11-19 22:09:40 -0300
committerGitHub <noreply@github.com>2021-11-19 20:09:40 -0500
commit6ea652ba5e0d066cb1abdadeb66e0a8c638a4816 (patch)
tree89970d12a437cc93b430dae7dea50885ba6c62d8 /lua
parentchore: internally switch to sending workspaceFolders (#1453) (diff)
downloadnvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar.gz
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar.bz2
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar.lz
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar.xz
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.tar.zst
nvim-lspconfig-6ea652ba5e0d066cb1abdadeb66e0a8c638a4816.zip
feat: add spectral-language-server support (#1455)
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/spectral.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/lua/lspconfig/spectral.lua b/lua/lspconfig/spectral.lua
new file mode 100644
index 00000000..661cb9b1
--- /dev/null
+++ b/lua/lspconfig/spectral.lua
@@ -0,0 +1,32 @@
+local configs = require 'lspconfig/configs'
+local util = require 'lspconfig/util'
+
+local server_name = 'spectral_ls'
+local bin_name = 'spectral-language-server'
+
+configs[server_name] = {
+ default_config = {
+ cmd = { bin_name, '--stdio' },
+ filetypes = { 'yaml', 'json', 'yml' },
+ root_dir = util.root_pattern('.spectral.yaml', '.spectral.yml'),
+ single_file_support = true,
+ settings = {
+ enable = true,
+ run = 'onType',
+ validateLanguages = { 'yaml', 'json', 'yml' },
+ },
+ },
+ docs = {
+ package_json = 'https://raw.githubusercontent.com/stoplightio/vscode-spectral/master/package.json',
+ description = [[
+https://github.com/luizcorreia/spectral-language-server
+ `A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.`
+
+`spectral-language-server` can be installed via `npm`:
+```sh
+npm i -g spectral-language-server
+```
+See [vscode-spectral](https://github.com/stoplightio/vscode-spectral#extension-settings) for configuration options.
+]],
+ },
+}