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

Darcs.Patch.FileName

Description

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

Synopsis

Documentation

data FileName Source

Instances

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