aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorChristian Haudum <christian.haudum@gmail.com>2021-11-18 22:45:51 +0100
committerGitHub <noreply@github.com>2021-11-18 16:45:51 -0500
commit2007459a6a3395e788a523d5d9ba2eeead961293 (patch)
tree6f96edbb0d17905644566d13e22e40442a516301 /lua
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar.gz
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar.bz2
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar.lz
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar.xz
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.tar.zst
nvim-lspconfig-2007459a6a3395e788a523d5d9ba2eeead961293.zip
feat(jsonnet): add JSONNET_PATH environmental variable to cmd_env (#1437)
* root_dir/lib and root_dir /vendor are common jsonnet library paths. * the jsonnet language server can use the JSONNET_PATH env variable to resolve referenced files within these folders
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/jsonnet_ls.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/lua/lspconfig/jsonnet_ls.lua b/lua/lspconfig/jsonnet_ls.lua
index d467429b..34bc3910 100644
--- a/lua/lspconfig/jsonnet_ls.lua
+++ b/lua/lspconfig/jsonnet_ls.lua
@@ -1,6 +1,15 @@
local configs = require 'lspconfig/configs'
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
+
configs.jsonnet_ls = {
default_config = {
cmd = { 'jsonnet-language-server' },
@@ -8,6 +17,11 @@ configs.jsonnet_ls = {
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 = [[