cabal-install-3.14.2.0: The command-line interface for Cabal and Hackage.
Copyright(c) David Himmelstrup 2005
LicenseBSD-like
Maintainer[email protected]
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.Main

Description

Entry point to the default cabal-install front-end.

Since: 3.10.0.0

Synopsis

Documentation

main :: [String] -> IO () Source #

Entry point

This does three things.

One, it initializes the program, providing support for termination signals, preparing console linebuffering, and relaxing encoding errors.

Two, it processes (via an IO action) response files, calling expandResponse in Cabal/Distribution.Compat.ResponseFile

Note that here, it splits the arguments on a strict match to "--", and won't parse response files after the split.

Three, it calls the mainWorker, which calls the argument parser, producing CommandParse data, which mainWorker pattern-matches into IO actions for execution.