Commit Graph

53 Commits

Author SHA1 Message Date
83dd0024c4 Space doesn't have to be a reserved character anymore. 2025-05-20 12:17:59 -05:00
70761649ad Derive Eq for defined types 2025-05-20 12:17:43 -05:00
b9c6cc4470 Implemented strikethrough parser 2025-05-16 19:29:39 -05:00
23691f9cfe Add strikethrough parser to line parser list 2025-05-16 19:28:41 -05:00
8c220cc800 A document can consist of unordered lists as well 2025-05-14 21:40:03 -05:00
ee453c0259 Fixed blockquote parser; implemented unordered list parser and relevant
sub-parsers
2025-05-14 21:39:27 -05:00
c90d23617a A blockquote must have a list of tokens 2025-05-14 21:38:50 -05:00
c574699a8a Added an import 2025-05-14 21:38:38 -05:00
f55e160e25 Added tests for unordered lists 2025-05-14 21:37:58 -05:00
dddcca0185 Wrote a lot of helper functions - most importantly greedyParse 2025-05-13 21:40:42 -05:00
e7d94f225a Updated show definitions for some tokens; add HTML syntax 2025-05-09 23:14:09 -05:00
e8eb22f3ae Added pragmas to suppress LSP warnings; removed a random line that was
added by the LSP
2025-05-09 23:13:31 -05:00
ef1809970b Greatly shortened parseQuotedLine, because I can just use greedyParse
instead of using manyTill
2025-05-09 23:12:53 -05:00
549504d650 Consume whitespace between greater-than sign and text in a blockquote
line
2025-05-09 23:12:12 -05:00
4f23592aeb Add relevant modules to other-modules section, to get rid of cabal's
warnings
2025-05-09 23:10:34 -05:00
b00d79b9aa Renamed Test.hs to MdToHtmlTest.hs so that the filename matches the
module name; updated blockquote tests; started working on ordered list
tests
2025-05-09 23:10:04 -05:00
3cd9f24935 Wrote helper functions for parseBlockquote, to parse a quoted line and
multiple quoted lines.
2025-05-09 16:12:09 -05:00
a60b3754e4 Rewrite leftmostLongest and leftmostLongestParse so that they don't rely
on 'head' which is a partial function
2025-05-09 12:17:53 -05:00
3330185393 Make MdToken a Semigroup and a Monoid, so that I can use 'mempty' for
it.
2025-05-09 12:17:22 -05:00
1df7f64aec Started working on blockquote parser 2025-05-08 17:54:00 -05:00
bfd627c763 Added blockquote tests 2025-05-08 17:53:37 -05:00
81671727b2 Added more parsers for escaped characters and links. 2025-05-07 14:21:13 -05:00
1b821c4315 Declare separate variable for escaped characters. 2025-05-07 14:20:51 -05:00
51728dd3a1 Added double-quotes to link URL when printing link. 2025-05-07 14:20:29 -05:00
56e1514213 Added more tests 2025-05-07 14:19:50 -05:00
e7ea7b6ba6 Removed unecessary case statement 2025-05-06 17:10:54 -05:00
ef132791a1 Applied lots of hints, mostly redundant brackets 2025-05-06 17:09:54 -05:00
ca0d09dfab Added another test 2025-05-06 17:07:46 -05:00
d1b0ce6b10 Move parseHeader up in the chain - parseDocument can either parse
headers or a paragraph
2025-05-06 17:06:22 -05:00
b6f51c33c7 Parse until EOF instead of adding a manual check. 2025-05-06 17:05:19 -05:00
9ffbb7365c Removed commented line 2025-05-06 17:05:02 -05:00
71aacdd26a Removed unecessary parentheses 2025-05-06 17:04:24 -05:00
873795e267 Removed unecessary function 2025-05-06 17:03:45 -05:00
9a128407cc Fixed newline bug; working on fixing the last failing test 2025-05-05 11:31:24 -04:00
a18d03e4ac Working on parsing single newlines 2025-05-05 09:42:53 -05:00
f916267d29 Changed parsing of header to consume optional newline; removed debug statements 2025-05-04 16:22:53 -05:00
9555f55575 Fixed typo in test 2025-05-04 16:22:35 -05:00
7fdc1bcbf1 Trying to fix a bug where a header with a newline isn't recognized as a header 2025-05-04 01:34:24 -04:00
d771460bb1 Skip spaces at beginning of line; parse a line and header separately; add a Document data constructor for MdToken (consists of the entire document 2025-05-03 13:50:36 -04:00
26adcbbc69 Added more tests; fixed some existing tests by adding convenience functions 2025-05-03 13:50:00 -04:00
2b771256a1 Only get the first parse result, makes things easier to see 2025-05-03 13:49:34 -04:00
231673b6d6 Rename file name to match module name 2025-05-02 20:53:53 -04:00
e51d16a39b Added more tests 2025-05-02 10:59:20 -04:00
2273448208 Updated .gitignore 2025-05-02 10:35:52 -04:00
eb40ee430f Removed 'dist-newstyle' from being tracked; updated .gitignore 2025-05-02 10:31:52 -04:00
66718845d8 Updated cabal file with instructions on split modules 2025-05-02 10:30:20 -04:00
d63cd98288 Split package into library module 'src' and executable 'app' 2025-05-02 10:30:08 -04:00
626eb71097 Implement LeftmostLongest, renamed functions, failed parsing works now (see main function for example) 2025-04-30 16:01:34 -04:00
cbdcfcfea7 More work, I guess 2025-04-29 22:03:06 -04:00
ade48bd64e Proof of concept for leftmostLongest function 2025-04-29 22:02:49 -04:00