darcs-beta- a distributed, interactive, smart revision control system



FileName is an abstract type intended to facilitate the input and output of unicode filenames.



data FileName Source


Eq FileName 
Ord FileName 
Show FileName 
FilePathLike FileName 
FilePathOrURL FileName 
MonadProgress RestrictedApply 
MonadProgress FilePathMonad 
ApplyMonad RestrictedApply 
ApplyMonad FilePathMonad 

encodeWhite :: FilePath -> StringSource

encodeWhite translates whitespace in filenames to a darcs-specific format (numerical representation according to ord surrounded by backslashes). Note that backslashes are also escaped since they are used in the encoding.

 encodeWhite "hello there" == "hello\32\there"
 encodeWhite "hello\there" == "hello\92\there"

decodeWhite :: String -> FilePathSource

decodeWhite interprets the Darcs-specific "encoded" filenames produced by encodeWhite

 decodeWhite "hello\32\there"  == "hello there"
 decodeWhite "hello\92\there"  == "hello\there"
 decodeWhite "hello\there"   == error "malformed filename"

breakup :: String -> [String]Source

Split a file path at the slashes