Skip to content
Elliot Shank edited this page Apr 12, 2017 · 11 revisions

Querying

Repository information

Local

The --list-local option emits a list of all versions of all packages that are in the local repository ($FIG_HOME).

Remote

The --list-remote option produces a list of all versions of all packages that are in the remote repository ($FIG_REMOTE_URL).

Configurations for a package

List all of the configs in a package with --list-configs.

The configs specified in package.fig in the current directory:

fig --list-configs

The configs for a package in the repository:

fig --list-configs antlr/3.2

Figuring out package dependencies

Use --list-dependencies.

Net effects on the environment

Use --list-variables.

Figuring out where a file came from

If you've had retrieves pull files into your current directory, you can ask which package they came from with the --source-package option.

You can look at the raw text for a package using --dump-package-definition-text.

If the package definition comes from a package.fig, application.fig, or other file specified by the --file option, then this will be identical to that. In a directory with a application.fig file,

fig --dump-package-definition-text

is almost equivalent to cat application.fig. (If there's whitespace at the front or end of the file, that won't be emitted.)

If the package comes from a descriptor, then the output will be the version of the text as it exists in the repository; note that Fig does significant manipulation of the input to --publish, so it will not be identical to that.

You can see the digested form of a package by using --dump-package-definition-parsed.

fig --dump-package-definition-parsed foo/1.3.4

When you use things like --set and --override on the command line, Fig synthesizes an in-memory package to contain them. You can see the result of this using --dump-package-definition-for-command-line.

fig --dump-package-definition-for-command-line --add foo=bar --include package/version