open-browser-0.2.1.0: lib/Web/Browser.hs
{-# LANGUAGE CPP #-}
module Web.Browser
( openBrowser
) where
#if defined(mingw32_HOST_OS)
import Web.Browser.Windows (openBrowserWindows)
#else
import Data.List (isInfixOf)
import System.Info (os)
import Web.Browser.Linux (openBrowserLinux)
import Web.Browser.OSX (openBrowserOSX)
#endif
-- |'openBrowser' opens a URL in the user's preferred web browser. Returns
-- whether or not the operation succeeded.
openBrowser :: String -> IO Bool
#if defined(mingw32_HOST_OS)
openBrowser = openBrowserWindows
#else
openBrowser
| any (`isInfixOf` os) ["linux", "bsd"] = openBrowserLinux
| "darwin" `isInfixOf` os = openBrowserOSX
| otherwise = error "unsupported platform"
#endif