diff --git a/app/ghcup/BrickMain.hs b/app/ghcup/BrickMain.hs index 307f353..20d01c4 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 0d5a3af..5ddef19 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