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
The Puppet language introduced Puppet Tasks and Plans as part of
Puppet 5.4.0 [1]. A special parsing switch `--tasks` was
introduced which changes the behaviour of the Puppet parser, that
is switching it into "tasks" mode. Unfortunately this switch is
global to all Puppet parsing therefore to dynamically switch it
like we do in Editor Services, this required a global mutex to be
used.
Note that this commit does not add Puppet Tasks/Plans intellisense
but merely allows the standard manifest providers (completion,
validation etc.) to actually function instead of silently failing
This commit;
* Modifies the Puppet parser, via monkey patching, to implement a
"singleton" parsing method that dynamically, and safely, switch
the parsing mode on a per request basis
* Modifies the Document Store to detect whether a File URI is a
Puppet Task/Plan based on the relative path of the file versus
the module root.
* Modifies the various providers to call the parsing helper in the
correct mode
* Modifies the Message Router to detect whether a file is a Puppet
Task/Plan and then sets the appropriate mode when calling the
manifest providers (completion, validation etc.)
[1] https://puppet.com/docs/bolt/1.x/writing_plans.html#concept-4485
0 commit comments