{
"name": "stack",
"description": "The Haskell Tool Stack",
"subcommands": [
{
"name": "build",
"description": "Build the package(s) in the current directory/configuration",
"options": [
{
"names": [
"--resolver"
],
"description": "Override resolver in project file",
"takes_arg": true,
"arg": {
"name": "RESOLVER"
}
},
{
"names": [
"--bench"
],
"description": "Override resolver in project file"
},
{
"names": [
"--test"
],
"description": "Run complete test suite"
},
{
"names": [
"--copy-bins"
],
"description": "Enable copying any generated executables to the local bin path (default: disabled)"
},
{
"names": [
"--no-copy-bins"
],
"description": "Disable copying any generated executables to the local bin path (default: disabled)"
},
{
"names": [
"--haddock"
],
"description": "Enable generating Haddocks the package(s) in this directory/configuration (default: disabled)"
},
{
"names": [
"--no-haddock"
],
"description": "Disable generating Haddocks the package(s) in this directory/configuration (default: disabled)"
},
{
"names": [
"--open"
],
"description": "Enable opening the local Haddock"
},
{
"names": [
"--no-open"
],
"description": "Disable opening the local Haddock"
},
{
"names": [
"--haddock-deps"
],
"description": "Enable building Haddocks for dependencies (default: true if building Haddocks, false otherwise)"
},
{
"names": [
"--no-haddock-deps"
],
"description": "Disable building Haddocks for dependencies (default: true if building Haddocks, false otherwise)"
},
{
"names": [
"--pedantic"
],
"description": "Turn on all warnings(-Wall) and errors(-Werror)"
},
{
"names": [
"--only-locals"
],
"description": "Only build packages in the local database, fail if the build plan includes the snapshot database"
},
{
"names": [
"--file-watch"
],
"description": "Watch for changes in the files used to build the project, and kick off a new build when new changes are saved"
},
{
"names": [
"--watch-all"
],
"description": "Watch all local files not taking targets into account"
},
{
"names": [
"-file-watch-poll"
],
"description": "Like --file-watch, but polling the filesystem instead of using events"
},
{
"names": [
"--only-snapshot"
],
"description": "Only build packages for the snapshot database, not the local database"
},
{
"names": [
"--only-configure"
],
"description": "Only perform the configure step, not any builds. Intended for tool usage, may break when used on multiple packages at once!"
},
{
"names": [
"--trace"
],
"description": "Enable profiling in libraries, executables, etc. for all expressions and generate a backtrace on exception"
},
{
"names": [
"--profile"
],
"description": "Runs profiling in libraries, executables, etc. for all expressions and generate a profiling report in tests or benchmarks"
},
{
"names": [
"--no-strip"
],
"description": "Disable DWARF debugging symbol stripping in libraries, executables, etc. for all expressions, producing larger executables but allowing the use of standard debuggers/profiling tools/other utilities th"
},
{
"names": [
"--library-profiling"
],
"description": "Enable library profiling for TARGETs and all its dependencies (default: disabled)"
},
{
"names": [
"--no-library-profiling"
],
"description": "Disable library profiling for TARGETs and all its dependencies (default: disabled)"
},
{
"names": [
"--executable-profiling"
],
"description": "Enable executable profiling for TARGETs and all its dependencies (default: disabled)"
},
{
"names": [
"--no-executable-profiling"
],
"description": "Disable executable profiling for TARGETs and all its dependencies (default: disabled)"
},
{
"names": [
"--library-stripping"
],
"description": "Enable library stripping for TARGETs and all its dependencies (default: enabled"
},
{
"names": [
"--no-library-stripping"
],
"description": "Disable library stripping for TARGETs and all its dependencies (default: enabled"
},
{
"names": [
"--executable-stripping"
],
"description": "Enable executable stripping for TARGETs and all its dependencies (default: enabled)"
},
{
"names": [
"--no-executable-stripping"
],
"description": "Disable executable stripping for TARGETs and all its dependencies (default: enabled)"
},
{
"names": [
"--ghc-options"
],
"description": "Specify additional options passed to GHC for all local targets. Does not affect extra-dep and snapshot packages at all",
"takes_arg": true
}
]
},
{
"name": "install",
"description": "Builds the package in current directory and copies it as an executable for system wide usage. Shortcut for 'build --copy-bins"
},
{
"name": "test",
"description": "Shortcut for 'build --test'"
},
{
"name": "bench",
"description": "Shortcut for 'build --bench'"
},
{
"name": "haddock",
"description": "Shortcut for 'build --haddock'"
},
{
"name": "new",
"description": "Create a new project from a template. Run `stack templates' to see available templates. Note: you can also specify a local file or a remote URL as a template"
},
{
"name": "templates",
"description": "Show how to find templates available for `stack new'. `stack new' can accept a template from a remote repository (default: github), local file or remote URL. Note: this downloads the help file"
},
{
"name": "init",
"description": "Create stack project config from cabal or hpack package specifications'"
},
{
"name": "setup",
"description": "Get the appropriate GHC for your project"
},
{
"name": "path",
"description": "Print out handy path information"
},
{
"name": "ls",
"description": "List command. Supports snapshots, dependencies and stack's styles"
},
{
"name": "unpack",
"description": "Unpack one or more packages locally"
},
{
"name": "update",
"description": "Update the package index"
},
{
"name": "upgrade",
"description": "Upgrade to the latest stack version"
},
{
"name": "upload",
"description": "Upload a package to Hackage"
},
{
"name": "sdist",
"description": "Create source distribution tarballs"
},
{
"name": "dot",
"description": "Visualize your project's dependency graph using Graphviz dot"
},
{
"name": "hoogle",
"description": "Run hoogle, the Haskell API search engine. Use the '-- ARGUMENT(S)' syntax to pass Hoogle arguments, e.g. stack hoogle -- --count=20, or stack hoogle --server --local"
},
{
"name": "exec",
"description": "Execute a command. If the command is absent, the first of any arguments is taken as the command",
"options": [
{
"names": [
"--snapshot-location-base"
],
"description": "The base location of LTS/Nightly snapshots",
"takes_arg": true,
"arg": {
"name": "URL"
}
},
{
"names": [
"--cwd"
],
"description": "Sets the working directory before executing the command",
"takes_arg": true,
"arg": {
"name": "DIR"
}
},
{
"names": [
"--setup-info-yaml"
],
"description": "Alternate URL or relative / absolute path for stack dependencies",
"takes_arg": true,
"arg": {
"name": "URL"
}
},
{
"names": [
"--ghc-package-path"
],
"description": "Enable setting the GHC_PACKAGE_PATH variable for the subprocess (default: enabled)"
},
{
"names": [
"--no-ghc-package-path"
],
"description": "Disable setting the GHC_PACKAGE_PATH variable for the subprocess (default: enabled)"
},
{
"names": [
"--package"
],
"description": "Additional package(s) that must be installed",
"takes_arg": true,
"arg": {
"name": "PACKAGE(S)"
}
},
{
"names": [
"--stack-exe"
],
"description": "Enable setting the STACK_EXE environment variable to the path for the stack executable (default: enabled)"
},
{
"names": [
"--no-stack-exe"
],
"description": "Disable setting the STACK_EXE environment variable to the path for the stack executable (default: enabled)"
}
]
},
{
"name": "run",
"description": "Build and run an executable. Defaults to the first available executable if none is provided as the first argument"
},
{
"name": "repl",
"description": "Load a REPL"
}
],
"options": [
{
"names": [
"--help",
"-h"
],
"description": "Show help for stack"
},
{
"names": [
"--version"
],
"description": "Show version for stack"
},
{
"names": [
"--numeric-version"
],
"description": "Show only the numeric version for stack"
},
{
"names": [
"--hpack-numeric-version"
],
"description": "Show only hpack's version number"
},
{
"names": [
"--verbosity"
],
"description": "Verbosity: silent, error, warn, info, debug"
},
{
"names": [
"--verbose",
"-v"
],
"description": "Enable verbose mode: verbosity level \"debug\""
},
{
"names": [
"--silent"
],
"description": "Enable silent mode: verbosity level \"silent\""
},
{
"names": [
"--stack-root"
],
"description": "Absolute path to the global stack root directory (Overrides any STACK_ROOT environment variable)"
},
{
"names": [
"--work-dir"
],
"description": "Relative path of work directory (Overrides any STACK_WORK environment variable, default is '.stack-work')"
},
{
"names": [
"--system-ghc"
],
"description": "Enable using the system installed GHC (on the PATH) if it is available and its version matches. Disabled by default"
},
{
"names": [
"--no-system-ghc"
],
"description": "Disable using the system installed GHC (on the PATH) if it is available and its version matches. Disabled by default"
},
{
"names": [
"--install-ghc"
],
"description": "Enable downloading and installing GHC if necessary (can be done manually with stack setup). Enabled by default)"
},
{
"names": [
"--no-install-ghc"
],
"description": "Disable downloading and installing GHC if necessary (can be done manually with stack setup). Enabled by default"
},
{
"names": [
"--ghc-variant"
],
"description": "Specialized GHC variant, e.g. integersimple (incompatible with --system-ghc)"
},
{
"names": [
"--ghc-build"
],
"description": "Specialized GHC build, e.g. 'gmp4' or 'standard' (usually auto-detected)"
},
{
"names": [
"--jobs",
"-j"
],
"description": "Number of concurrent jobs to run. Should be provied as ARGS"
},
{
"names": [
"--extra-include-dirs"
],
"description": "Extra directories to check for C header files"
},
{
"names": [
"--extra-lib-dir"
],
"description": "Extra directories to check for libraries"
},
{
"names": [
"--custom-preprocessor-extensions"
],
"description": "Extensions used for custom preprocessors"
},
{
"names": [
"--color",
"--colour"
],
"description": "Specify when to use color in output",
"takes_arg": true,
"arg": {
"name": "WHEN",
"description": "WHEN is 'always', 'never', or 'auto'. On Windows versions before Windows 10, for terminals that do not support color codes, the default is 'never'; color may work on terminals that support color codes",
"suggestions": [
"always",
"never",
"auto"
]
}
},
{
"names": [
"--compiler"
],
"description": "Use the specified compiler",
"takes_arg": true,
"arg": {
"name": "COMPILER"
}
},
{
"names": [
"--terminal"
],
"description": "Enable overriding terminal detection in the case of running in a false terminal"
},
{
"names": [
"--no-terminal"
],
"description": "Disable overriding terminal detection in the case of running in a false terminal"
},
{
"names": [
"--stack-colors",
"--stack-colours"
],
"description": "Specify stack's output styles",
"takes_arg": true,
"arg": {
"name": "STYLE",
"description": "It a colon-delimited sequence of key=value, where 'key' is a style name and 'value' is a semicolon-delimited list of 'ANSI' SGR (Select Graphic Rendition) control codes (in decimal). Use 'stack ls sta"
}
},
{
"names": [
"--terminal-width"
],
"description": "Specify the width of the terminal, used for pretty-print messages",
"takes_arg": true,
"arg": {
"name": "INT"
}
},
{
"names": [
"--stack-yaml"
],
"description": "Override project stack.yaml file (overrides any STACK_YAML environment variable)",
"takes_arg": true,
"arg": {
"name": "STACK-YAML"
}
},
{
"names": [
"--lock-file"
],
"description": "Specify how to interact with lock files",
"takes_arg": true,
"arg": {
"name": "ARG",
"description": "Default: read/write. If resolver is overridden: read-only"
}
}
]
}