11module Main where
22
33import MyLib (someFunc )
4+ import MatlabMark qualified
45import Options.Applicative
56
6- data BuildAssetArgs = BuildAssetArgs
7+ data GenerateArgs = GenerateArgs
78 { prefix :: String ,
89 src :: String ,
910 dst :: String
1011 }
1112
12- buildAssetParser :: Parser BuildAssetArgs
13- buildAssetParser =
14- BuildAssetArgs
13+ generateParser :: Parser GenerateArgs
14+ generateParser =
15+ GenerateArgs
1516 <$> strOption
1617 ( long " prefix"
1718 <> value " "
@@ -26,55 +27,55 @@ buildAssetParser =
2627 <> help " path to static directory"
2728 )
2829
29- buildAssetCommand :: ParserInfo BuildAssetArgs
30- buildAssetCommand =
30+ generateCommand :: ParserInfo GenerateArgs
31+ generateCommand =
3132 info
32- (buildAssetParser <**> helper)
33+ (generateParser <**> helper)
3334 ( fullDesc
3435 <> progDesc " Import answers-db into answers static asset"
3536 <> header " Import answers-db into answers static asset"
3637 )
3738
38- data SplitMatlabMarkdownArgs = SplitMatlabMarkdownArgs FilePath FilePath
39+ data MatlabMarkdownArgs = MatlabMarkdownArgs FilePath FilePath
3940
40- splitMatlabMarkdownParser :: Parser SplitMatlabMarkdownArgs
41- splitMatlabMarkdownParser =
42- SplitMatlabMarkdownArgs
41+ matlabMarkdownParser :: Parser MatlabMarkdownArgs
42+ matlabMarkdownParser =
43+ MatlabMarkdownArgs
4344 <$> strOption
4445 ( long " src"
4546 <> help " path to the markdown file that is exported from MATLAB"
4647 )
4748 <*> strOption
4849 ( long " dst"
49- <> help " path to a directory"
50+ <> help " path to a directory in answers-db "
5051 )
5152
52- splitMatlabMarkdownCommand :: ParserInfo SplitMatlabMarkdownArgs
53- splitMatlabMarkdownCommand =
53+ matlabMarkdownCommand :: ParserInfo MatlabMarkdownArgs
54+ matlabMarkdownCommand =
5455 info
55- (splitMatlabMarkdownParser <**> helper)
56+ (matlabMarkdownParser <**> helper)
5657 ( fullDesc
5758 <> progDesc " Build assets from a markdown file exported from MATLAB"
5859 <> header " Build assets from a markdown file exported from MATLAB"
5960 )
6061
61- data Args = BuildAssets BuildAssetArgs | SplitMatlabMarkdown SplitMatlabMarkdownArgs
62+ data Args = Generate GenerateArgs | MatlabMarkdown MatlabMarkdownArgs
6263
6364-- data Args = Args { commandArgs :: CommandArgs }
6465
6566argsParser :: Parser Args
6667argsParser =
6768 hsubparser
68- ( command " build-assets " (BuildAssets <$> buildAssetCommand )
69- <> command " split- matlab-markdown" (SplitMatlabMarkdown <$> splitMatlabMarkdownCommand )
69+ ( command " generate " (Generate <$> generateCommand )
70+ <> command " matlab-markdown" (MatlabMarkdown <$> matlabMarkdownCommand )
7071 )
7172
7273greet :: Args -> IO ()
73- greet (BuildAssets ( BuildAssetArgs prefix src dst)) = do
74+ greet (Generate ( GenerateArgs prefix src dst)) = do
7475 _ <- someFunc prefix src dst
7576 return ()
76- greet (SplitMatlabMarkdown ( SplitMatlabMarkdownArgs src dst)) = do
77- return ()
77+ greet (MatlabMarkdown ( MatlabMarkdownArgs src dst)) = do
78+ MatlabMark. generateMatlabAnswersDB dst =<< MatlabMark. readMatlabMD src
7879
7980main :: IO ()
8081main =
0 commit comments