nvim-neorg / rust-norg

A robust parser for Norg for tools that don't use tree-sitter.
11 stars 3 forks source link

In the link, the `` is not being parsed correctly, or there is a problem with my understanding. #7

Open evpeople opened 1 week ago

evpeople commented 1 week ago
    {alink}[`description in the symbol`]

the content in tree-sitter now be parsed as

   content: (paragraph ; [16, 4] - [17, 0]
      (paragraph_segment ; [16, 4] - [16, 40]
        (link ; [16, 4] - [16, 40]
          (link_location ; [16, 4] - [16, 11]
            type: (link_target_url) ; [16, 5] - [16, 5]
            text: (paragraph)) ; [16, 5] - [16, 10]
          (link_description ; [16, 11] - [16, 40]
            text: (paragraph ; [16, 12] - [16, 39]
              (verbatim)))))) ; [16, 12] - [16, 39]

but in rust-norg , it was parsed as

Paragraph([Link { filepath: None, targets: [Url("alink")], description: Some([Token(Text("`description")), Token(Whitespace), Token(Text("in")), Token(Whitespace), Token(Text("the")), Token(Whitespace), Token(Text("sympol`"))]) }])

if I remove the ``

    {alink}[description in the symbol]

then in tree-sitter it is

  content: (paragraph ; [16, 4] - [17, 0]
      (paragraph_segment ; [16, 4] - [16, 38]
        (link ; [16, 4] - [16, 38]
          (link_location ; [16, 4] - [16, 11]
            type: (link_target_url) ; [16, 5] - [16, 5]
            text: (paragraph)) ; [16, 5] - [16, 10]
          (link_description ; [16, 11] - [16, 38]
            text: (paragraph))))) ; [16, 12] - [16, 37]

the different is (verbatim)

I am not sure if this behavior is within expectations.

sorry for my poor English, but Neorg is really a amazing project