diff --git a/app/ghcup/BrickMain.hs b/app/ghcup/BrickMain.hs index 307f353f785ae517750a6fffa84d8d0318d1b0ec..20d01c4f8e08bf400071bba6061c351fed9fcbbc 100644 --- a/app/ghcup/BrickMain.hs +++ b/app/ghcup/BrickMain.hs @@ -283,7 +283,11 @@ changelog' AppState {..} (_, ListResult {..}) = do Nothing -> pure $ Left [i|Could not find ChangeLog for #{lTool}, version #{prettyVer lVer}|] Just uri -> do - exec "xdg-open" True [serializeURIRef' uri] Nothing Nothing >>= \case + let cmd = case _rPlatform pfreq of + Darwin -> "open" + Linux _ -> "xdg-open" + FreeBSD -> "xdg-open" + exec cmd True [serializeURIRef' uri] Nothing Nothing >>= \case Right _ -> pure $ Right () Left e -> pure $ Left [i|#{e}|] diff --git a/app/ghcup/Main.hs b/app/ghcup/Main.hs index 0d5a3af99b20d20163d811dfc588d3a95b729d07..5ddef19296e9c788561de0d08e5c2fe3e869095b 100644 --- a/app/ghcup/Main.hs +++ b/app/ghcup/Main.hs @@ -1308,9 +1308,14 @@ Make sure to clean up #{tmpdir} afterwards.|]) pure ExitSuccess Just uri -> do let uri' = T.unpack . decUTF8Safe . serializeURIRef' $ uri + cmd = case _rPlatform pfreq of + Darwin -> "open" + Linux _ -> "xdg-open" + FreeBSD -> "xdg-open" + if clOpen then - exec "xdg-open" + exec cmd True [serializeURIRef' uri] Nothing