2022-03-20 10:22:32 +08:00
|
|
|
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)
|
2024-06-13 08:44:55 +08:00
|
|
|
new_config.cmd_env = {
|
|
|
|
JSONNET_PATH = jsonnet_path(root_dir),
|
|
|
|
}
|
2022-03-20 10:22:32 +08:00
|
|
|
end,
|
|
|
|
},
|
|
|
|
docs = {
|
|
|
|
description = [[
|
2024-06-13 08:44:55 +08:00
|
|
|
https://github.com/jdbaldry/jsonnet-language-server
|
2022-03-20 10:22:32 +08:00
|
|
|
|
|
|
|
A Language Server Protocol (LSP) server for Jsonnet.
|
|
|
|
]],
|
|
|
|
default_config = {
|
|
|
|
root_dir = [[root_pattern("jsonnetfile.json")]],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|