diff options
Diffstat (limited to 'lua/lspconfig/server_configurations/puppet.lua')
| -rw-r--r-- | lua/lspconfig/server_configurations/puppet.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/puppet.lua b/lua/lspconfig/server_configurations/puppet.lua new file mode 100644 index 00000000..50c510fd --- /dev/null +++ b/lua/lspconfig/server_configurations/puppet.lua @@ -0,0 +1,39 @@ +local util = require 'lspconfig/util' + +local root_files = { + 'manifests', + '.puppet-lint.rc', + 'hiera.yaml', + '.git', +} + +return { + default_config = { + cmd = { 'puppet-languageserver', '--stdio' }, + filetypes = { 'puppet' }, + root_dir = util.root_pattern(unpack(root_files)), + single_file_support = true, + }, + docs = { + package_json = 'https://raw.githubusercontent.com/puppetlabs/puppet-vscode/main/package.json', + description = [[ +LSP server for Puppet. + +Installation: + +- Clone the editor-services repository: + https://github.com/puppetlabs/puppet-editor-services + +- Navigate into that directory and run: `bundle install` + +- Install the 'puppet-lint' gem: `gem install puppet-lint` + +- Add that repository to $PATH. + +- Ensure you can run `puppet-languageserver` from outside the editor-services directory. +]], + default_config = { + root_dir = [[root_pattern("manifests", ".puppet-lint.rc", "hiera.yaml", ".git")]], + }, + }, +} |
