Skip to content

Commit bacaa23

Browse files
committed
Add benchmark section
1 parent 706c15c commit bacaa23

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/Hie/Cabal/Parser.hs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ type Indent = Int
1818
data Package = Package Name [Component]
1919
deriving (Show, Eq, Ord)
2020

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
2226
deriving (Show, Eq, Ord)
2327

2428
parsePackage' :: Text -> Either String Package
@@ -61,9 +65,15 @@ parseTestSuite :: Indent -> Parser Component
6165
parseTestSuite i = parseSec i "test-suite" Test
6266

6367
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) "." ""
6777

6878
parseQuoted :: Parser Text
6979
parseQuoted = do

src/Hie/Yaml.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module Hie.Yaml
44
( cabalHieYaml,
55
stackHieYaml,
66
cabalComponent,
7-
stackComponent
7+
stackComponent,
88
)
99
where
1010

@@ -32,12 +32,14 @@ cabalComponent :: Name -> Component -> (FilePath, String)
3232
cabalComponent n (Lib "" p) = (T.unpack p, T.unpack $ "lib:" <> n)
3333
cabalComponent n (Lib cn p) = (T.unpack p, T.unpack $ "lib:" <> n <> ":" <> cn)
3434
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)
3536
cabalComponent n (Test cn p) = (T.unpack p, T.unpack $ n <> ":test:" <> cn)
3637

3738
stackComponent :: Name -> Component -> (FilePath, String)
3839
stackComponent n (Lib "" p) = (T.unpack p, T.unpack $ n <> ":lib")
3940
stackComponent n (Lib cn p) = (T.unpack p, T.unpack $ n <> ":lib:" <> cn)
4041
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)
4143
stackComponent n (Test cn p) = (T.unpack p, T.unpack $ n <> ":test:" <> cn)
4244

4345
fmtComponent :: (FilePath, String) -> String

0 commit comments

Comments
 (0)