module Agda.Utils.Unicode ( isUnicodeId , convertLineEndings ) where import Data.Char -- Unicode ---------------------------------------------------------------- isUnicodeId :: Char -> Bool isUnicodeId c = isPrint c && not (isAscii c) -- | Converts many character sequences which may be interpreted as -- line or paragraph separators into '\n'. convertLineEndings :: String -> String convertLineEndings ('\x000D' : '\x000A' : s) = '\n' : convertLineEndings s convertLineEndings ('\x000A' : s) = '\n' : convertLineEndings s convertLineEndings ('\x000D' : s) = '\n' : convertLineEndings s convertLineEndings ('\x0085' : s) = '\n' : convertLineEndings s convertLineEndings ('\x000C' : s) = '\n' : convertLineEndings s convertLineEndings ('\x2028' : s) = '\n' : convertLineEndings s convertLineEndings ('\x2029' : s) = '\n' : convertLineEndings s convertLineEndings (c : s) = c : convertLineEndings s convertLineEndings "" = ""