Patch Changes
-
#358
c7e2d7a- Addshelloutput format tovarlock loadcommand.--format shelloutputsexport KEY=VALUElines suitable forevalor sourcing into the current shell session, enabling easy integration with tools like direnv. -
#371
1b9797e- Fix dynamic@requiredbeing incorrectly resolved after type generation runs.When
generateTypesIfNeeded()ran beforeresolveEnvValues()(as it does in the CLI),getTypeGenInfo()would callresolve()on dynamic decorators like@required=eq($OTHER, foo)before their dependencies were resolved. This cached a stale result on the decorator, causingprocessRequired()to return the wrong value when env values were later resolved.The fix skips calling
resolve()for dynamic decorators ingetTypeGenInfo()— their runtime value is irrelevant for type generation anyway (dynamic required items are always typed as optional). -
#364
78307f9- fix:varlock printenv MY_VARwas failing withVariable "printenv" not found in schemabecause gunshi includes the subcommand name inctx.positionals. Now correctly slices past the subcommand path to extract the variable name. -
#356
61e2094- Addenabledoption to@setValuesBulkdecorator, allowing conditional bulk value injection based on boolean expressions (including dynamic expressions referencing other config items). -
#352
0e4d39a- Support XDG Base Directory Specification for user config directory. Varlock now respects$XDG_CONFIG_HOMEand defaults to~/.config/varlockinstead of~/.varlockfor new installations, while maintaining backwards compatibility with existing~/.varlockdirectories.