rust-lang/rust-clippy

Lint for likely-malformed reference style links

Open

#1952 opened on Aug 13, 2017

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Rust (10,406 stars) (1,391 forks)batch import
A-documentationA-lintL-correctnessT-ASTgood first issue

Description

I often come across the situation in markdown when I accidentally write the following:

[useful text][reference]

[reference](<example.com>)

This, though it might look like a reference style link, is not:

[useful text][reference]

reference

The correct syntax is as follows:

[useful text][reference]

[reference]: <example.com>

useful text

Clippy could lint against this likely-malformed reference link.

Notes:

  • This lint should only trigger if [reference](<link>) is on a line on its own (e.g. would be a valid reference target) and reference could be a valid reference key.
  • This lint should not trigger if there is any escaping of the in-text part of the reference which makes it not a valid reference link, even if it renders [like][so] in the output.
  • I don't think [bracketed][words] would ever be desired except in a code block about markdown, so this lint shouldn't have a lot of real-world false positives.

Contributor guide