allow `import <variable-name> `
For example:
import? join(config_directory(), "mpm/root.just")
The same need for all set variables, like:
set dotenv-path := "" + MPM_CONFIG_DIR + "/config"
I want to create an application mainly using just. Currently I can only do things like import? '~/.mpm.root.just', which is awkward.
The inability to do variable (or environment variable) substitution for import paths ended up preventing me from a desired DRYing out of Justfile content as well, rather than having to duplicate a Justfile name that I want to include as part of replicating a subset of local contents.
It appears that just's GRAMMAR (currently) accepts only strings for imports as well as modules; so not sure if there is any easy way to implement this without big impacts.
I can see why this is desirable, but it's tough at the implementation level. Justfiles are statically analyzed before anything runs, including any expression evaluation. I would like to support this, but not at the cost of making the implementation much more complicated.
#1849 partially fixes this, since it allows for expanding environment variables inside of import paths, although it doesn't support arbitrary expressions, and environment variables are loaded without taking into account things like export statements and .env files.