diff --git a/doc/manual.md b/doc/manual.md index a7a863460..a897368e2 100644 --- a/doc/manual.md +++ b/doc/manual.md @@ -383,7 +383,9 @@ P 2010/1/1 € $1.40 #### Comments -- A semicolon (`;`) or hash (`#`) in column 0 starts a journal comment line, which hledger will ignore. +- A semicolon (`;`) or hash (`#`) or asterisk (`*`) in column 0 starts + a journal comment line, which hledger will ignore. (Asterisk allows you + to embed emacs org/outline-mode nodes and treat your journal like an outline.) - A semicolon after a transaction's description and/or indented on the following lines starts a transaction comment. diff --git a/hledger-lib/Hledger/Read/CsvReader.hs b/hledger-lib/Hledger/Read/CsvReader.hs index 18fc8d73a..ce086a7da 100644 --- a/hledger-lib/Hledger/Read/CsvReader.hs +++ b/hledger-lib/Hledger/Read/CsvReader.hs @@ -410,7 +410,7 @@ commentline :: Stream [Char] m t => ParsecT [Char] CsvRules m () commentline = many spacenonewline >> commentchar >> restofline >> return () "comment line" commentchar :: Stream [Char] m t => ParsecT [Char] CsvRules m Char -commentchar = oneOf ";#" +commentchar = oneOf ";#*" directive :: Stream [Char] m t => ParsecT [Char] CsvRules m (DirectiveName, String) directive = do diff --git a/hledger-lib/Hledger/Read/JournalReader.hs b/hledger-lib/Hledger/Read/JournalReader.hs index 88cbf4728..a102d035e 100644 --- a/hledger-lib/Hledger/Read/JournalReader.hs +++ b/hledger-lib/Hledger/Read/JournalReader.hs @@ -905,7 +905,10 @@ followingcommentp = return $ unlines $ samelinecomment:newlinecomments comment :: Stream [Char] m Char => ParsecT [Char] JournalContext m String -comment = commentStartingWith "#;" +comment = commentStartingWith commentchars + +commentchars :: [Char] +commentchars = "#;*" semicoloncomment :: Stream [Char] m Char => ParsecT [Char] JournalContext m String semicoloncomment = commentStartingWith ";"