1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
5 , getRootWithReplFallback
13import qualified Data.ByteString as BS
15import System.FilePath ((</>))
17import qualified Elm.Compiler as Compiler
18import qualified Elm.Docs as Docs
19import qualified Elm.Name as N
20import qualified Elm.Project.Json as Project
21import qualified Elm.Project.Root as Root
22import qualified Elm.Project.Summary as Summary
23import Elm.Project.Summary (Summary)
24import qualified File.Args as Args
25import qualified File.Artifacts as Artifacts
26import qualified File.Compile as Compile
27import qualified File.Crawl as Crawl
28import qualified File.Plan as Plan
29import qualified Generate.Output as Output
30import qualified Reporting.Render.Type.Localizer as L
31import qualified Reporting.Task as Task
32import qualified Stuff.Paths as Path
39getRoot :: Task.Task Summary
44getRootWithReplFallback :: IO FilePath
45getRootWithReplFallback =
46 Root.getWithReplFallback
56 -> Maybe Output.Output
61compile mode target maybeOutput docs summary@(Summary.Summary root project _ _ _) paths =
62 do Project.check project
63 args <- Args.fromPaths summary paths
64 graph <- Crawl.crawl summary args
65 (dirty, ifaces) <- Plan.plan docs summary graph
66 answers <- Compile.compile project docs ifaces dirty
67 results <- Artifacts.write root answers
68 _ <- traverse (Artifacts.writeDocs results) docs
69 Output.generate mode target maybeOutput summary graph results
76compileForRepl :: Bool -> L.Localizer -> BS.ByteString -> Maybe N.Name -> Task.Task (Maybe FilePath)
77compileForRepl noColors localizer source maybeName =
78 do summary@(Summary.Summary root project _ _ _) <- getRoot
80 graph <- Crawl.crawlFromSource summary source
81 (dirty, ifaces) <- Plan.plan Nothing summary graph
82 answers <- Compile.compile project Nothing ifaces dirty
83 results <- Artifacts.write root answers
84 let (Compiler.Artifacts elmi _ _) = results ! N.replModule
85 traverse (Output.generateReplFile noColors localizer summary graph elmi) maybeName
92generateDocs :: Summary.Summary -> Task.Task Docs.Documentation
93generateDocs summary@(Summary.Summary root project _ _ _) =
94 do let docsPath = root </> Path.docs
95 args <- Args.fromSummary summary
96 graph <- Crawl.crawl summary args
97 (dirty, ifaces) <- Plan.plan (Just docsPath) summary graph
98 answers <- Compile.compile project (Just docsPath) ifaces dirty
99 results <- Artifacts.write root answers
100 Output.noDebugUsesInPackage summary graph
101 Artifacts.writeDocs results docsPath
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list