dev: parseIncludedFile: doc cleanup
This commit is contained in:
parent
b7c4dc3b53
commit
b1f416dee7
@ -344,28 +344,30 @@ includedirectivep = do
|
|||||||
when (filepath `elem` parentfilestack) $
|
when (filepath `elem` parentfilestack) $
|
||||||
customFailure $ parseErrorAt off $ "Cyclic include: " ++ filepath
|
customFailure $ parseErrorAt off $ "Cyclic include: " ++ filepath
|
||||||
|
|
||||||
|
-- Read this file's content, or throw an error
|
||||||
childInput <-
|
childInput <-
|
||||||
dbg6Msg ("parseChild: "++takeFileName filepath) $
|
dbg6Msg ("parseChild: "++takeFileName filepath) $
|
||||||
lift $ readFilePortably filepath
|
lift $ readFilePortably filepath
|
||||||
`orRethrowIOError` (show pos ++ " reading " ++ filepath)
|
`orRethrowIOError` (show pos ++ " reading " ++ filepath)
|
||||||
let initChildj = newJournalWithParseStateFrom filepath parentj
|
let initChildj = newJournalWithParseStateFrom filepath parentj
|
||||||
|
|
||||||
-- Choose a reader/parser based on the file path prefix or file extension,
|
-- Choose a reader based on the file path prefix or file extension,
|
||||||
-- defaulting to JournalReader. Duplicating readJournal a bit here.
|
-- defaulting to JournalReader. Duplicating readJournal a bit here.
|
||||||
let r = fromMaybe reader $ findReader Nothing (Just prefixedpath)
|
let r = fromMaybe reader $ findReader Nothing (Just prefixedpath)
|
||||||
parser = rParser r
|
parser = rParser r
|
||||||
dbg6IO "parseChild: trying reader" (rFormat r)
|
dbg6IO "parseChild: trying reader" (rFormat r)
|
||||||
|
|
||||||
-- Parse the file (of whichever format) to a Journal, with file path and source text attached.
|
-- Parse the file (and its own includes, if any) to a Journal
|
||||||
|
-- with file path and source text attached. Or throw an error.
|
||||||
updatedChildj <- journalAddFile (filepath, childInput) <$>
|
updatedChildj <- journalAddFile (filepath, childInput) <$>
|
||||||
parseIncludeFile parser initChildj filepath childInput
|
parseIncludeFile parser initChildj filepath childInput
|
||||||
|
|
||||||
-- Merge this child journal into the parent journal
|
-- Child journal was parsed successfully; now merge it into the parent journal.
|
||||||
-- (with debug logging for troubleshooting account display order).
|
-- Debug logging is provided for troubleshooting account display order (eg).
|
||||||
-- The parent journal is the second argument to journalConcat; this means
|
-- The parent journal is the second argument to journalConcat; this means
|
||||||
-- its parse state is kept, and its lists are appended to child's (which
|
-- its parse state is kept, and its lists are appended to child's (which
|
||||||
-- ultimately produces the right list order, because parent's and child's
|
-- ultimately produces the right list order, because parent's and child's
|
||||||
-- lists are in reverse order at this stage. Cf #1909).
|
-- lists are in reverse order at this stage. Cf #1909)
|
||||||
let
|
let
|
||||||
parentj' =
|
parentj' =
|
||||||
dbgJournalAcctDeclOrder ("parseChild: child " <> childfilename <> " acct decls: ") updatedChildj
|
dbgJournalAcctDeclOrder ("parseChild: child " <> childfilename <> " acct decls: ") updatedChildj
|
||||||
@ -376,7 +378,7 @@ includedirectivep = do
|
|||||||
childfilename = takeFileName filepath
|
childfilename = takeFileName filepath
|
||||||
parentfilename = maybe "(unknown)" takeFileName $ headMay $ jincludefilestack parentj -- XXX more accurate than journalFilePath for some reason
|
parentfilename = maybe "(unknown)" takeFileName $ headMay $ jincludefilestack parentj -- XXX more accurate than journalFilePath for some reason
|
||||||
|
|
||||||
-- Update the parse state.
|
-- And update the current parse state.
|
||||||
put parentj'
|
put parentj'
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user