File tree Expand file tree Collapse file tree 2 files changed +17
-5
lines changed Expand file tree Collapse file tree 2 files changed +17
-5
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,11 @@ type Indent = Int
18
18
data Package = Package Name [Component ]
19
19
deriving (Show , Eq , Ord )
20
20
21
- data Component = Lib Name Path | Exe Name Path | Test Name Path
21
+ data Component
22
+ = Lib Name Path
23
+ | Exe Name Path
24
+ | Test Name Path
25
+ | Bench Name Path
22
26
deriving (Show , Eq , Ord )
23
27
24
28
parsePackage' :: Text -> Either String Package
@@ -61,9 +65,15 @@ parseTestSuite :: Indent -> Parser Component
61
65
parseTestSuite i = parseSec i " test-suite" Test
62
66
63
67
parseExe :: Indent -> Parser Component
64
- parseExe i = do
65
- n <- componentHeader i " executable"
66
- Exe n <$> pathMain (i + 1 ) " ." " "
68
+ parseExe = parseSecMain Exe " executable"
69
+
70
+ parseBench :: Indent -> Parser Component
71
+ parseBench = parseSecMain Bench " benchmark"
72
+
73
+ parseSecMain :: (Name -> Path -> Component ) -> Text -> Indent -> Parser Component
74
+ parseSecMain c s i = do
75
+ n <- componentHeader i s
76
+ c n <$> pathMain (i + 1 ) " ." " "
67
77
68
78
parseQuoted :: Parser Text
69
79
parseQuoted = do
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ module Hie.Yaml
4
4
( cabalHieYaml ,
5
5
stackHieYaml ,
6
6
cabalComponent ,
7
- stackComponent
7
+ stackComponent ,
8
8
)
9
9
where
10
10
@@ -32,12 +32,14 @@ cabalComponent :: Name -> Component -> (FilePath, String)
32
32
cabalComponent n (Lib " " p) = (T. unpack p, T. unpack $ " lib:" <> n)
33
33
cabalComponent n (Lib cn p) = (T. unpack p, T. unpack $ " lib:" <> n <> " :" <> cn)
34
34
cabalComponent n (Exe cn p) = (T. unpack p, T. unpack $ n <> " :exe:" <> cn)
35
+ cabalComponent n (Bench cn p) = (T. unpack p, T. unpack $ n <> " :exe:" <> cn)
35
36
cabalComponent n (Test cn p) = (T. unpack p, T. unpack $ n <> " :test:" <> cn)
36
37
37
38
stackComponent :: Name -> Component -> (FilePath , String )
38
39
stackComponent n (Lib " " p) = (T. unpack p, T. unpack $ n <> " :lib" )
39
40
stackComponent n (Lib cn p) = (T. unpack p, T. unpack $ n <> " :lib:" <> cn)
40
41
stackComponent n (Exe cn p) = (T. unpack p, T. unpack $ n <> " :exe:" <> cn)
42
+ stackComponent n (Bench cn p) = (T. unpack p, T. unpack $ n <> " :exe:" <> cn)
41
43
stackComponent n (Test cn p) = (T. unpack p, T. unpack $ n <> " :test:" <> cn)
42
44
43
45
fmtComponent :: (FilePath , String ) -> String
You can’t perform that action at this time.
0 commit comments