@@ -18,6 +18,7 @@ import qualified Elm.Details as Details
1818import qualified Elm.Package as Pkg
1919import qualified Elm.Outline as Outline
2020import qualified Elm.Version as V
21+import qualified Lynx.Patches as Patches
2122import qualified Reporting
2223import Reporting.Doc ((<+>))
2324import qualified Reporting.Doc as D
@@ -50,17 +51,22 @@ run args () =
5051 return (Left (Exit.InstallNoArgs elmHome))
5152
5253 Install pkg ->
53− Task.run $
54− do env <- Task.eio Exit.InstallBadRegistry $ Solver.initEnv
55− oldOutline <- Task.eio Exit.InstallBadOutline $ Outline.read root
56− case oldOutline of
57− Outline.App outline ->
58− do changes <- makeAppPlan env pkg outline
59− attemptChanges root env oldOutline V.toChars changes
60−
61− Outline.Pkg outline ->
62− do changes <- makePkgPlan env pkg outline
63− attemptChanges root env oldOutline C.toChars changes
54+ case Patches.forkSuggestion pkg of
55+ Just forkPkg ->
56+ return (Left (Exit.InstallForkSuggestion pkg forkPkg))
57+
58+ Nothing ->
59+ Task.run $
60+ do env <- Task.eio Exit.InstallBadRegistry $ Solver.initEnv
61+ oldOutline <- Task.eio Exit.InstallBadOutline $ Outline.read root
62+ case oldOutline of
63+ Outline.App outline ->
64+ do changes <- makeAppPlan env pkg outline
65+ attemptChanges root env oldOutline V.toChars changes
66+
67+ Outline.Pkg outline ->
68+ do changes <- makePkgPlan env pkg outline
69+ attemptChanges root env oldOutline C.toChars changes
6470
6571
6672