You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Debug Server - The debug server requires compilation which HAS to have a ruby runtime.
In Scope
As far as I know there are only two languages which support a lexer/parser for the Puppet Language: Ruby (of course!) and Golang via Lyra
Golang does have a Language Server Protocol module so there wouldn't be a need to create our own server and protocol.
Golang compiles to a small binary on many platforms
Therefore Golang would be considered an alternate language for the Puppet Editor Services
Feature
All in Go
Needs information from Ruby
Hosted entirely in Ruby
Notes
Code Folding
✅
Just needs the Puppet Lexer
Diagnostics
✅
Needs puppet-lint. There's nothing comparable in Go
Diagnostics
❓
✅
The puppetfile-resolver is in Ruby. But it could be done in Go. Except the puppetfile is actually ruby code
Hover
✅
The parser is needed to locate the cursor in the document (which could be Go) however the actual information comes from the Sidecar, which requires YARD and Puppet Strings, which requires Ruby. But it is out-of-process/async-able
Autocomplete
✅
See Hover comments
Definition
✅
See Hover comments
Document Symbol
✅
Requires parser
Format on Type
✅
⚠
Currently it uses the Puppet Lint lexer which is Ruby only. But it could be changed to use the Puppet lexer based on the code folding
Signature Provider
✅
See Hover comments
Puppet - Resource
✅
Requires Puppet providers (Ruby) therefore can't be in Go
Puppet - Get Facts
✅
Facter (2/4) is in Ruby
Puppet - Node Graph
✅
Requires compilation therefore can't be in Go
Workspace Symbol
✅
See Hover comments
'
The text was updated successfully, but these errors were encountered:
Out of Scope
Debug Server - The debug server requires compilation which HAS to have a ruby runtime.
In Scope
Therefore Golang would be considered an alternate language for the Puppet Editor Services
'
The text was updated successfully, but these errors were encountered: