puppetlabs / puppetlabs/puppet-editor-services
Intellisense features not working
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 52
- Forks
- 21
- Avg merge
- 15h
- Merged PRs (30d)
- 3
Description
What Versions are you running?
OS Version: Mac OS 12.5.1 (21G83)
VSCode Version: 1.71.2
Puppet Extension Version: v1.4.0
PDK Version: 2.5.0
What You Are Seeing?
No Intellisense is working in my control repository.
What is Expected?
I'd like to have intellisense features working.
How Did You Get This To Happen? (Steps to Reproduce)
Attempt to use the VSCode PDK extension in my organization's puppet control repo.
Output Log
Found this in the logs (removed directory names):
ANY -- : SidecarQueue Thread: Calling sidecar with --action workspace_aggregate --local-workspace {control repo dir} --puppet-version=6.27.0 returned exitcode 1, ruby: warning: shebang line ending with \r may cause problems
{homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:147:in `block (3 levels) in populate_classes_from_yard_registry!': undefined method `join' for nil:NilClass (NoMethodError)
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:143:in `each'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:143:in `block (2 levels) in populate_classes_from_yard_registry!'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:128:in `each'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:128:in `block in populate_classes_from_yard_registry!'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:127:in `each'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:127:in `populate_classes_from_yard_registry!'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:102:in `populate_from_yard_registry!'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:74:in `file_documentation'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:10:in `file_documentation'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:93:in `block in retrieve_via_puppet_strings'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:92:in `each'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:92:in `retrieve_via_puppet_strings'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet_languageserver_sidecar.rb:303:in `execute'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet_languageserver_sidecar.rb:360:in `execute_and_output'
from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/puppet-languageserver-sidecar:14:in `<main>'
Edit: I also see many of these types of ERRORs:
ERROR -- : (textDocument/hover) apache::vhost is not a valid puppet type
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the workspace_aggregate failure from the control repository and read puppet_strings_helper.rb around populate_classes_from_yard_registry!, especially lines 128-147. Trace how file_documentation and retrieve_via_puppet_strings reach the failing call. Done means the sidecar no longer exits with NoMethodError and IntelliSense, including hover for apache::vhost, works in the reported setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, vscode
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100