fresh icon indicating copy to clipboard operation
fresh copied to clipboard

Make globbing with --bin possible

Open ajsalminen opened this issue 8 years ago • 1 comments

Currently this seems to work for linking a bunch of files into a directory:

fresh mutt/\* --file=.mutt/

It would be nice to be able to do the same with bin and avoid naming each individual script in freshrc. fresh bin/\* --bin=bin/

ajsalminen avatar Sep 13 '17 16:09 ajsalminen

Globbing to directory targets are currently not supported features for either --file or --bin. This is something I would like fresh to support at some point so thanks for feature request. You can work around this limitation right now by writing a loop in your freshrc:

for FILE in "$FRESH_LOCAL/mutt/"*; do
  fresh "mutt/$(basename "$FILE")" --file=".mutt/$(basename "$FILE")"
done

I noticed you are using relative target paths in both your examples. A relative path on --file writes into ~/.fresh/build without linking the built files out to your home directory. Is this what you are intending to do? I want to confirm whether you expect the above examples to write to ~/.mutt/ and ~/bin or not. If this is what you are expecting, ~/ will need to be prepending to the target paths.

Also, --bin with a relative path should currently be failing with an “--bin file paths cannot be relative” error message whether or not you have a glob in the source path. This is something we can look into supporting if this would be a valuable feature to you. Right now though you could work around this using a fresh_after_build callback to chmod +x the appropriate files in ~/.fresh/build.

jasoncodes avatar Sep 28 '17 05:09 jasoncodes