Strict unmarshal for plugin files #3046
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to improve the behaviour introduced in #2770.
The regular
Unmarshal
function does not result in anerr
when trying to unmarshal a yaml file that contains aplugins
key into aPlugin
var. TheUnmarshalStrict
function will, since it finds the undefinedplugins
key, causing the next loop to actually trigger.I have also taken the liberty to make it look for plugins in the
XDG_DATA_HOME
andXDG_CONFIG_HOME
folders. This is especially useful sinceXDG_DATA_HOME
is not included in theXDG_DATA_DIRS
by default (as per https://specifications.freedesktop.org/basedir-spec/latest/#variables). This allows users to define per-user plugins in addition to the ones in/usr/local/share/:/usr/share/
.