diff options
author | ThunderMikey <mikecyj25@gmail.com> | 2018-03-23 11:52:02 +0000 |
---|---|---|
committer | ThunderMikey <mikecyj25@gmail.com> | 2018-03-23 11:52:02 +0000 |
commit | addfc4ba4f1b3f2832dac467c4e8174519871bf8 (patch) | |
tree | a4d7bc153221085142f02984784afa7f329ce46e /FMark | |
parent | 84e61c2dd04e12b6a016bcfb7f90e6411a5b3258 (diff) | |
download | FMark-addfc4ba4f1b3f2832dac467c4e8174519871bf8.tar.gz FMark-addfc4ba4f1b3f2832dac467c4e8174519871bf8.zip |
fix parser issues
Diffstat (limited to 'FMark')
-rw-r--r-- | FMark/src/Common/Parser/Parser.fs | 4 | ||||
-rw-r--r-- | FMark/src/Common/Parser/ParserTest.fs | 16 |
2 files changed, 10 insertions, 10 deletions
diff --git a/FMark/src/Common/Parser/Parser.fs b/FMark/src/Common/Parser/Parser.fs index 2e10969..02f7b0c 100644 --- a/FMark/src/Common/Parser/Parser.fs +++ b/FMark/src/Common/Parser/Parser.fs @@ -151,7 +151,7 @@ let (|MatchTOC|_|) hdList toks = let createLinks (hdList:THeader list) = let makeRelLink i (h:THeader) = let linkText = Line(h.HeaderName) - let linkID = headerIDGen i hdList.[i] + let linkID = hdList.[i].RefID {h with HeaderName = [Link (linkText, sprintf "#%s" linkID)]} //{h with HeaderName = Link((h.HeaderName), sprintf "#HEADER%i" i)} // Link of HyperText: TFrmtedString * URL: string let linksLst = List.mapi makeRelLink hdList @@ -274,7 +274,7 @@ let rec parseItem (hdLst: THeader list) (ftLst: ParsedObj list) (rawToks: Token | MatchQuote (content, rtks) -> (parseInLineElements2 ftLst content |> Quote , rtks) |> Ok - | HEADER i :: rtks -> (Header (hdLst.[i],(headerIDGen i hdLst.[i])), rtks) |> Ok + | HEADER i :: rtks -> (Header (hdLst.[i]), rtks) |> Ok | PickoutList (list, retoks) -> (parseList list |> List, retoks) |> Ok | PickoutParagraph (par, retoks) -> (parseParagraph ftLst par, retoks) |> Ok diff --git a/FMark/src/Common/Parser/ParserTest.fs b/FMark/src/Common/Parser/ParserTest.fs index 3ab30e8..7e9f329 100644 --- a/FMark/src/Common/Parser/ParserTest.fs +++ b/FMark/src/Common/Parser/ParserTest.fs @@ -271,7 +271,7 @@ let testGlobal = ); ( [ENDLINE;ENDLINE; HASH; HASH; WHITESPACE 2; LITERAL "h2"], - [Header({HeaderName=[FrmtedString(Literal "h2")]; Level=2},"h20")] |>Ok, "h2 header" + [Header({HeaderName=[FrmtedString(Literal "h2")]; Level=2; RefID="h20"})] |>Ok, "h2 header" ); ( [HASH; HASH; LITERAL "h2"], @@ -525,9 +525,9 @@ let ``TOC tests`` = let h3Tok = [HASH;HASH;HASH;WHITESPACE 1;LITERAL "h3"] let twoEndlines = endline@endline let parsedToc = ContentTable ({HeaderLst=[]}) - let h1THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h10")]; Level = 1} - let h1THeader2 = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h11")]; Level = 1} - let h2THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h2")],"#h21")]; Level = 2} + let h1THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h10")]; Level = 1; RefID="h10"} + let h1THeader2 = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h11")]; Level = 1; RefID="h11"} + let h2THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h2")],"#h21")]; Level = 2; RefID="h21"} let h1ContentTable = ContentTable @@ -550,10 +550,10 @@ let ``TOC tests`` = h1THeader;h2THeader ] } - let h1ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1},"h10") - let h1ParsedObj2 = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1},"h11") - let h2ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h2")];Level = 2},"h21") - let h3ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h3")];Level = 3},"h32") + let h1ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1; RefID="h10"}) + let h1ParsedObj2 = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1; RefID="h11"}) + let h2ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h2")];Level = 2; RefID="h21"}) + let h3ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h3")];Level = 3; RefID="h32"}) makeExpectoTestList id makeOk parse "TOC tests"[ ( |