Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > db7a4a658d190b3e658423135710c498 > files > 722

ghc-darcs-devel-2.8.3-1.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Darcs.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Darcs-Utils.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Darcs-Utils.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">darcs-2.8.3: a distributed, interactive, smart revision control system</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>darcs-devel@darcs.net</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Darcs.Utils</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Monads
</a></li><li><a href="#g:2">User prompts
</a></li><li><a href="#g:3">Text
</a></li><li><a href="#g:4">Help
</a></li><li><a href="#g:5">Errors and exceptions
</a></li><li><a href="#g:6">Files and directories
</a></li><li><a href="#g:7">Tree filtering.
</a></li><li><a href="#g:8">Tree lookup.
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Various utility functions that do not belong anywhere else.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:ortryrunning">ortryrunning</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a></li><li class="src short"><a href="#v:nubsort">nubsort</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; [a]</li><li class="src short"><a href="#v:breakCommand">breakCommand</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:showHexLen">showHexLen</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Integral">Integral</a> a, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:maybeGetEnv">maybeGetEnv</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)</li><li class="src short"><a href="#v:formatPath">formatPath</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:firstJustIO">firstJustIO</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:askEnter">askEnter</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:askUser">askUser</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:askUserListItem">askUserListItem</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:PromptConfig">PromptConfig</a>  = <a href="#v:PromptConfig">PromptConfig</a> {<ul class="subs"><li><a href="#v:pPrompt">pPrompt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:pBasicCharacters">pBasicCharacters</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</li><li><a href="#v:pAdvancedCharacters">pAdvancedCharacters</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</li><li><a href="#v:pDefault">pDefault</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a></li><li><a href="#v:pHelp">pHelp</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</li></ul>}</li><li class="src short"><a href="#v:promptYorn">promptYorn</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:promptChar">promptChar</a> :: <a href="Darcs-Utils.html#t:PromptConfig">PromptConfig</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:getViewer">getViewer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:editFile">editFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p =&gt; p -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:runEditor">runEditor</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a></li><li class="src short"><a href="#v:stripCr">stripCr</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:environmentHelpEditor">environmentHelpEditor</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:environmentHelpPager">environmentHelpPager</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:catchall">catchall</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:clarifyErrors">clarifyErrors</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:prettyException">prettyException</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:prettyError">prettyError</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO-Error.html#t:IOError">IOError</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:addToErrorLoc">addToErrorLoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:IOException">IOException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:IOException">IOException</a></li><li class="src short"><a href="#v:getFileStatus">getFileStatus</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/unix-2.5.1.0/System-Posix-Files-ByteString.html#t:FileStatus">FileStatus</a>)</li><li class="src short"><a href="#v:withCurrentDirectory">withCurrentDirectory</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p =&gt; p -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withUMask">withUMask</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:setDarcsEncodings">setDarcsEncodings</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:getSystemEncoding">getSystemEncoding</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:isUTF8Locale">isUTF8Locale</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:filterFilePaths">filterFilePaths</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a> -&gt; t -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:filterPaths">filterPaths</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a> -&gt; t -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:treeHas">treeHas</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:treeHasDir">treeHasDir</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:treeHasFile">treeHasFile</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:treeHasAnycase">treeHasAnycase</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:ortryrunning" class="def">ortryrunning</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a><a href="src/Darcs-Utils.html#ortryrunning" class="link">Source</a></p><div class="doc"><p>Given two shell commands as arguments, execute the former.  The
 latter is then executed if the former failed because the executable
 wasn't found (code 127), wasn't executable (code 126) or some other
 exception occurred.  Other failures (such as the user holding ^C)
 do not cause the second command to be tried.
</p></div></div><div class="top"><p class="src"><a name="v:nubsort" class="def">nubsort</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; [a]<a href="src/Darcs-Utils.html#nubsort" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:breakCommand" class="def">breakCommand</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])<a href="src/Darcs-Utils.html#breakCommand" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:showHexLen" class="def">showHexLen</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Integral">Integral</a> a, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#showHexLen" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:maybeGetEnv" class="def">maybeGetEnv</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)<a href="src/Darcs-Utils.html#maybeGetEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:formatPath" class="def">formatPath</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#formatPath" class="link">Source</a></p><div class="doc"><p>Format a path for screen output, so that the user sees where the path
 begins and ends. Could (should?) also warn about unprintable characters here.
</p></div></div><h1 id="g:1">Monads
</h1><div class="top"><p class="src"><a name="v:firstJustIO" class="def">firstJustIO</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Darcs-Utils.html#firstJustIO" class="link">Source</a></p><div class="doc"><p>The firstJustIO is a slight modification to firstJustM: the entries in the
 list must be IO monad operations and the firstJustIO will silently turn any
 monad call that throws an exception into Nothing, basically causing it to be
 ignored.
</p></div></div><h1 id="g:2">User prompts
</h1><div class="top"><p class="src"><a name="v:askEnter" class="def">askEnter</a><a href="src/Darcs-Utils.html#askEnter" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>The prompt to display
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Ask the user to press Enter
</p></div></div><div class="top"><p class="src"><a name="v:askUser" class="def">askUser</a><a href="src/Darcs-Utils.html#askUser" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>The prompt to display
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>The string the user entered.
</p></td></tr></table></div><div class="doc"><p>Ask the user for a line of input.
</p></div></div><div class="top"><p class="src"><a name="v:askUserListItem" class="def">askUserListItem</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#askUserListItem" class="link">Source</a></p><div class="doc"><p><code>askUserListItem prompt xs</code> enumerates <code>xs</code> on the screen, allowing
   the user to choose one of the items
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:PromptConfig" class="def">PromptConfig</a>  <a href="src/Darcs-Utils.html#PromptConfig" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PromptConfig" class="def">PromptConfig</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:pPrompt" class="def">pPrompt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:pBasicCharacters" class="def">pBasicCharacters</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:pAdvancedCharacters" class="def">pAdvancedCharacters</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</dt><dd class="doc"><p>only shown on help
</p></dd><dt class="src"><a name="v:pDefault" class="def">pDefault</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:pHelp" class="def">pHelp</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>]</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:promptYorn" class="def">promptYorn</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#promptYorn" class="link">Source</a></p><div class="doc"><p>Prompt the user for a yes or no
</p></div></div><div class="top"><p class="src"><a name="v:promptChar" class="def">promptChar</a> :: <a href="Darcs-Utils.html#t:PromptConfig">PromptConfig</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a><a href="src/Darcs-Utils.html#promptChar" class="link">Source</a></p></div><h1 id="g:3">Text
</h1><div class="top"><p class="src"><a name="v:getViewer" class="def">getViewer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#getViewer" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:editFile" class="def">editFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p =&gt; p -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>)<a href="src/Darcs-Utils.html#editFile" class="link">Source</a></p><div class="doc"><p><code>editFile f</code> lets the user edit a file which could but does not need to
 already exist. This function returns the exit code from the text editor and a
 flag indicating if the user made any changes.
</p></div></div><div class="top"><p class="src"><a name="v:runEditor" class="def">runEditor</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-Exit.html#t:ExitCode">ExitCode</a><a href="src/Darcs-Utils.html#runEditor" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:stripCr" class="def">stripCr</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#stripCr" class="link">Source</a></p></div><h1 id="g:4">Help
</h1><div class="top"><p class="src"><a name="v:environmentHelpEditor" class="def">environmentHelpEditor</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])<a href="src/Darcs-Utils.html#environmentHelpEditor" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:environmentHelpPager" class="def">environmentHelpPager</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])<a href="src/Darcs-Utils.html#environmentHelpPager" class="link">Source</a></p></div><h1 id="g:5">Errors and exceptions
</h1><div class="top"><p class="src"><a name="v:catchall" class="def">catchall</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Utils.html#catchall" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:clarifyErrors" class="def">clarifyErrors</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Utils.html#clarifyErrors" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:prettyException" class="def">prettyException</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#prettyException" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:prettyError" class="def">prettyError</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO-Error.html#t:IOError">IOError</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#prettyError" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:addToErrorLoc" class="def">addToErrorLoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:IOException">IOException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Exception-Base.html#t:IOException">IOException</a><a href="src/Darcs-Utils.html#addToErrorLoc" class="link">Source</a></p></div><h1 id="g:6">Files and directories
</h1><div class="top"><p class="src"><a name="v:getFileStatus" class="def">getFileStatus</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/unix-2.5.1.0/System-Posix-Files-ByteString.html#t:FileStatus">FileStatus</a>)<a href="src/Darcs-Utils.html#getFileStatus" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withCurrentDirectory" class="def">withCurrentDirectory</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p =&gt; p -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Utils.html#withCurrentDirectory" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withUMask" class="def">withUMask</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Utils.html#withUMask" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setDarcsEncodings" class="def">setDarcsEncodings</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Utils.html#setDarcsEncodings" class="link">Source</a></p><div class="doc"><p>In some environments, darcs requires that certain global GHC library variables that
 control the encoding used in internal translations are set to specific values.
</p><p><code>setDarcsEncoding</code> enforces those settings, and should be called before the
 first time any darcs operation is run, and again if anything else might have
 set those encodings to different values.
</p><p>Note that it isn't thread-safe and has a global effect on your program.
</p><p>The current behaviour of this function is as follows, though this may
 change in future:
</p><p>Encodings are only set on GHC 7.4 and up, on any non-Windows platform.
</p><p>Two encodings are set, both to <code>GHC.IO.Encoding.char8</code>:
 <code>GHC.IO.Encoding.setFileSystemEncoding</code> and <code>GHC.IO.Encoding.setForeignEncoding</code>.
</p></div></div><div class="top"><p class="src"><a name="v:getSystemEncoding" class="def">getSystemEncoding</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Utils.html#getSystemEncoding" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isUTF8Locale" class="def">isUTF8Locale</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#isUTF8Locale" class="link">Source</a></p><div class="doc"><p><code>isUTF8</code> checks if an encoding is UTF-8 (or ascii, since it is a
 subset of UTF-8).
</p></div></div><h1 id="g:7">Tree filtering.
</h1><div class="top"><p class="src"><a name="v:filterFilePaths" class="def">filterFilePaths</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a> -&gt; t -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#filterFilePaths" class="link">Source</a></p><div class="doc"><p>Same as <code>filterPath</code>, but for ordinary <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a></code>s (as opposed to
 AnchoredPath).
</p></div></div><div class="top"><p class="src"><a name="v:filterPaths" class="def">filterPaths</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-AnchoredPath.html#t:AnchoredPath">AnchoredPath</a> -&gt; t -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#filterPaths" class="link">Source</a></p><div class="doc"><p>Construct a filter from a list of AnchoredPaths, that will accept any path
 that is either a parent or a child of any of the listed paths, and discard
 everything else.
</p></div></div><h1 id="g:8">Tree lookup.
</h1><div class="top"><p class="src"><a name="v:treeHas" class="def">treeHas</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#treeHas" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:treeHasDir" class="def">treeHasDir</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#treeHasDir" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:treeHasFile" class="def">treeHasFile</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#treeHasFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:treeHasAnycase" class="def">treeHasAnycase</a> :: (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.1/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> e m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="/usr/share/doc/ghc/html/libraries/hashed-storage-0.5.9/Storage-Hashed-Tree.html#t:Tree">Tree</a> m -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Utils.html#treeHasAnycase" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>