-
Notifications
You must be signed in to change notification settings - Fork 21
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
use system puppet-lint / how to install different puppet-lint plugins? #323
Comments
Related issues:
Looks like puppet-lint is loaded as a lib in a few places: puppet-editor-services/lib/puppet-languageserver/manifest/validation_provider.rb Lines 17 to 39 in 926c2e0
puppet-editor-services/lib/puppet-languageserver/manifest/format_on_type_provider.rb Line 25 in 926c2e0
which makes it real hard to switch to an external puppet-lint implementation. I didn't yet figure out in which Ruby context the language server is executed/how we could easily add more plugins to that. |
Given that puppet-lint is not vendored as gem and use siteloaded by modifying the Ruby LOAD path, it should be easy to deploy gems next to it and load them as well? |
@bastelfreak So.... it's tricky (tm) 😄 Yes, puppet-lint is vendored into the editor-service and loaded via manipulating the LOAD_PATH (https://github.com/puppetlabs/puppet-editor-services/blob/main/puppet-languageserver#L7) And adding other puppet-lint gems is possible! However, the tricky part is "unloading". Because we used puppet-lint as a library (for speed purposes) we can't "unload" puppet-lint gems when users disable/enable them in puppet-lint.rc (Yes I know puppet-lint.rc has issues still in that linked ticket) So we could:
But both of these will require, not an insignificant amount of work. As a workaround, I think you can set |
Looks like it doesn't 😭 |
Describe the Change You Would Like
I guess it's not a bug, just a missing piece in the docs / I'm too stupid to find it:
Hi!
I'm working on a windows 10 box with ruby 2.5 / puppet-lint installed as gem. In addition I've a dozen puppet-lint plugins and enable/disable them per module with an individual .puppet-lint.rc (sse puppetlabs/puppet-vscode#804 ). My understanding for the Rakefile in this module is, that puppet-lint is vendored. is that correct? How would I customize the plugins / is it possible to configure the path to puppet-lint?
The text was updated successfully, but these errors were encountered: