Puppet
Extension for Puppet language support
How to install
With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.
You can also open the Extensions panel in the app and search for Puppet. The extension's id is puppet.
Don't have Forge Super yet? Download it here.
README
From the extension's repository, written by its authors and not by Mentenaz. See the source.
zed-puppet
Puppet language extension for the Zed editor that provides support for:
- Syntax highlighting
- Puppet icon for .pp files (Needs to be enabled via "Icon theme selector")
- LSP support with puppet-editor-services lsp. Check below for more info.
How to install?
Current stable version can be installed through the Zed Editor -> Extensions.
Using Puppet LSP (Puppet Editor Services)
The Puppet LSP integration is done via Puppet Editor Services.
NOTE: This extension does not install the LSP server!
For Zed to detect the puppet-languageserver executable, it needs to be in your PATH.
To confirm it's there, run puppet-languageserver -v and you should see something similar:
$ puppet-languageserver -v
2.0.4
To unlock the full potential of the LSP you need to meet the requierements of puppet-editor-service :
- Puppet 8 or above
- Ruby 3.1 or above
It is possible to pass puppet config settings to the server. To do that, open Zed Settings and under the lsp config
section add the following:
"puppet-languageserver": {
"binary": {
"arguments": [
"--stdio",
"--puppet-settings=--environment,production"
]
}
}
"lsp": {
"puppet-languageserver": {
"binary": {
"path": "/opt/puppet-editor-services/puppet-languageserver",
"arguments": [
"--stdio",
"--no-cache",
"--puppet-settings=--environment,production"
]
},
"settings": {
"puppet": {
"modulePath": "./modules:./site-modules",
"environment": "development"
}
}
},
}
The puppet-settings expects comma separated list of cli flags. Full list of config options can be found here.
Additional info
The tree sitter parser is based on tree-sitter-puppet, licensed under the MIT license.
Development
To setup a local dev environment, you will need to have installed.