1module TutorialD.Interpreter.Import.TutorialD where
3import TutorialD.Interpreter.Import.Base
4import TutorialD.Interpreter.Base hiding (try)
5import TutorialD.Interpreter.DatabaseContextExpr
7import qualified ProjectM36.Error as PM36E
8import qualified Data.Text as T
9import Control.Exception
10import qualified Data.Text.IO as TIO
11--import a file containing TutorialD database context expressions
13importTutorialD :: FilePath -> IO (Either RelationalError DatabaseContextExpr)
14importTutorialD pathIn = do
15 tutdData <- try (TIO.readFile pathIn) :: IO (Either IOError T.Text)
17 Left err -> return $ Left (ImportError $ T.pack (show err))
19 case parse multipleDatabaseContextExprP "import" tutdData' of
20 --parseErrorPretty is new in megaparsec 5
21 Left err -> pure (Left (PM36E.ParseError (T.pack (show err))))
22 Right expr -> pure (Right expr)
24tutdImportP :: Parser DatabaseContextDataImportOperator
26 reserved ":importtutd"
29 return $ DatabaseContextDataImportOperator (T.unpack path) importTutorialD
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