1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
5 , getRootWithReplFallback
13import qualified Data.ByteString as BS
14import System.FilePath ((</>))
16import qualified Elm.Docs as Docs
17import qualified Elm.Name as N
18import qualified Elm.Project.Flags as Flags
19import qualified Elm.Project.Root as Root
20import qualified Elm.Project.Summary as Summary
21import Elm.Project.Summary (Summary)
22import qualified File.Args as Args
23import qualified File.Artifacts as Artifacts
24import qualified File.Compile as Compile
25import qualified File.Crawl as Crawl
26import qualified File.Plan as Plan
27import qualified Generate.Output as Output
28import qualified Reporting.Task as Task
29import qualified Stuff.Paths as Path
36getRoot :: Task.Task Summary
41getRootWithReplFallback :: IO FilePath
42getRootWithReplFallback =
43 Root.getWithReplFallback
50compile :: Flags.Options -> Summary -> [FilePath] -> Task.Task ()
51compile options summary@(Summary.Summary root project _ _ _) paths =
52 do args <- Args.fromPaths summary paths
53 graph <- Crawl.crawl summary args
54 (dirty, ifaces) <- Plan.plan summary graph
55 answers <- Compile.compile project ifaces dirty
56 results <- Artifacts.write root answers
57 Output.generate options summary graph
64compileForRepl :: BS.ByteString -> Maybe N.Name -> Task.Task (Maybe FilePath)
65compileForRepl source maybeName =
66 do summary@(Summary.Summary root project _ _ _) <- getRoot
67 graph <- Crawl.crawlFromSource summary source
68 (dirty, ifaces) <- Plan.plan summary graph
69 answers <- Compile.compile project ifaces dirty
70 results <- Artifacts.write root answers
71 traverse (Output.generateReplFile summary graph) maybeName
78generateDocs :: Summary.Summary -> Task.Task Docs.Documentation
79generateDocs summary@(Summary.Summary root project _ _ _) =
80 do args <- Args.fromSummary summary
81 graph <- Crawl.crawl summary args
82 (dirty, ifaces) <- Plan.plan summary graph
83 answers <- Compile.compile project ifaces dirty
84 results <- Artifacts.ignore answers
85 Artifacts.writeDocs (root </> Path.docs) results
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