module Development.NSIS
(
nsis, nsisNoOptimise, Action, Exp, Value,
share, scope, constant, constant_, mutable, mutable_, (@=),
mutableInt, constantInt, mutableInt_, constantInt_, mutableStr, constantStr, mutableStr_, constantStr_,
iff, iff_, while, loop, onError,
(?), (%&&), (%||),
Label, newLabel, label, goto,
(%==), (%/=), (%<=), (%<), (%>=), (%>),
true, false, not_,
strRead, strShow,
(&), strConcat, strLength, strTake, strDrop, strReplace, strIsPrefixOf, strUnlines,
FileHandle, fileOpen, fileWrite, fileClose, withFile', writeFile', writeFileLines,
rmdir, delete,
getFileTime, fileExists, findEach, findOnce,
createDirectory, createShortcut,
readRegStr, deleteRegKey, writeRegStr, writeRegDWORD,
exec,
name, outFile, installDir, setCompressor,
installIcon, uninstallIcon, headerImage,
installDirRegKey, allowRootDirInstall, caption, showInstDetails, showUninstDetails,
SectionId, section, sectionGroup, newSectionId, sectionSetText, sectionGetText, uninstall, page, unpage,
file, alwaysNonFatal, writeUninstaller, alert, setOutPath, messageBox, requestExecutionLevel,
hideProgress, detailPrint,
Compressor(..), HKEY(..), MessageBoxType(..), Attrib(..), Page(..), Level(..), Visibility(..),
FileMode(..)
) where
import Development.NSIS.Sugar
import Development.NSIS.Show
import Development.NSIS.Optimise
import Development.NSIS.Library
nsis :: Action () -> String
nsis = unlines . showNSIS . optimise . runAction
nsisNoOptimise :: Action () -> String
nsisNoOptimise = unlines . showNSIS . runAction