-
Notifications
You must be signed in to change notification settings - Fork 176
Add support for puppet DSL #877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This is using Puppet's own DAP server in the puppet-editor-services project. Debugging puppet is a tiny bit weird.. it mostly means debugging the catalog building that the puppet server would be operating. It gets weirder in that to debug in a real situation you need to supply variables and facts that would be in place for the host in question. But it can nonetheless be done, and the DAP server permits stepping through the catalog building steps through the code while examining variables and resources as they are evaluated.
|
hopefully I haven't missed any details for documentation. this is a tiny improvement on the documentation for extra languages in that the something that I saw was that the tar archive was downloaded and then extracted but never removed. but if I'm reading the code right, the same would supposedly happen with .zip files (although I don't see this happening with debugpy or vscode-bash-debug... so I'm still left scratching my head on that detail) |
|
note: if this gets merged in, we should clear out the Puppet section from the wiki page https://github.com/puremourning/vimspector/wiki/Additional-Language-Support#puppet |
|
Thanks for the PR! I guess my main question is, given that I don't personally use puppet.. what's the advantage of this vs the wiki page? Is there something that's not possible with the "limited" configuration provided by the gadget installer extension vs the builtin models? Normally, these days at least, I figure that we only should include gadgets built-in if:
There's no hard-and-fast rule about it though, so interested in your thoughts. Finally, comparing the additional-laguage-support page vs this implementation:
|
vimspector connects explicitly to the ipv4 localhost address. This is meant to avoid irregularities caused by using "localhost" which may end up being ::1 for some hosts instead. Both vimspector and all the LSP servers need to agree on the address family being used. IPv6 has gained some more traction in the recent years but it's still not reached enough people so that we could instead default to ::1 for all.
a4684f5 to
4c4da62
Compare
|
thanks for your feedback! Creating custom gadgets sure is possible, but it's rather non-trivial. The choice of options that are needed to make vimspector install the right thing in the right place and with the symlinks pointing to the right directory are rather hard to get right. I unfortunately did get things wrong when I suggested the puppet section of the wiki, so in its current state the gadget is not getting installed correctly (the symlink is created as dangling). So in that sense, adding more gadgets ready for users to install for local usage is a plus in terms of UX. It means that ppl can add this new gadget to With regards to the other considerations:
awaiting for your feedback before I do any more changes regarding the last points Cheers! |
This is using Puppet's own DAP server in the puppet-editor-services project.
Debugging puppet is a tiny bit weird.. it mostly means debugging the catalog building that the puppet server would be operating.
It gets weirder in that to debug in a real situation you need to supply variables and facts that would be in place for the host in question.
But it can nonetheless be done, and the DAP server permits stepping through the catalog building steps through the code while examining variables and resources as they are evaluated.