mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 20:40:04 +08:00
41 lines
994 B
Lua
41 lines
994 B
Lua
|
local util = require 'lspconfig.util'
|
||
|
|
||
|
-- common jsonnet library paths
|
||
|
local function jsonnet_path(root_dir)
|
||
|
local paths = {
|
||
|
util.path.join(root_dir, 'lib'),
|
||
|
util.path.join(root_dir, 'vendor'),
|
||
|
}
|
||
|
return table.concat(paths, ':')
|
||
|
end
|
||
|
|
||
|
return {
|
||
|
default_config = {
|
||
|
cmd = { 'jsonnet-language-server' },
|
||
|
filetypes = { 'jsonnet', 'libsonnet' },
|
||
|
root_dir = function(fname)
|
||
|
return util.root_pattern 'jsonnetfile.json'(fname) or util.find_git_ancestor(fname)
|
||
|
end,
|
||
|
on_new_config = function(new_config, root_dir)
|
||
|
new_config.cmd_env = {
|
||
|
JSONNET_PATH = jsonnet_path(root_dir),
|
||
|
}
|
||
|
end,
|
||
|
},
|
||
|
docs = {
|
||
|
description = [[
|
||
|
https://github.com/grafana/jsonnet-language-server
|
||
|
|
||
|
A Language Server Protocol (LSP) server for Jsonnet.
|
||
|
|
||
|
The language server can be installed with `go`:
|
||
|
```sh
|
||
|
go install github.com/grafana/jsonnet-language-server@latest
|
||
|
```
|
||
|
]],
|
||
|
default_config = {
|
||
|
root_dir = [[root_pattern("jsonnetfile.json")]],
|
||
|
},
|
||
|
},
|
||
|
}
|