darcs-2.8.4: a distributed, interactive, smart revision control system

Safe HaskellNone
LanguageHaskell98

Darcs.Patch.FileName

Description

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

Synopsis

Documentation

encodeWhite :: FilePath -> String

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 -> FilePath

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]

Split a file path at the slashes