Markdown-aware spell check?

I searched a lot and could not find a syntax-aware spell check for Markdown. This means it would ignore things within backticks, code blocks, URLs.

The most serious discussion is at Atom, specifically this Atom spell-check issue. It references several other issues that were consolidated into that one.

This is a major deficiency of the Markdown ecosystem.

I’m wanting to recommend coworkers write most things in Markdown, but only if it has spell checking.

When you use regular spell check on a Markdown file, there is too much noise. You have to ignore or add every single variable name or part of a file path or language keyword. It’s unusable. It needs to be syntax aware.

And one more general request to the universe: that people write their general tools like spell checkers as libraries/programs that could be used within the most other tools. Too much Markdown syntax aware tooling is locked behind specific editor plugin code. Way too much repetition of such a common need.

1 Like

What OS are you looking for the editor on?

macOS and Linux would be nice

Here’s a lua filter for pandoc that can do the job.

If you wanted something lighter than pandoc you could write a similar filter for

Or you could write something in C that uses libcmark and its iterator interface. (Or in commonmark-js if JavaScript fits the project.) With this approach you could create a library that could be used anywhere.

1 Like

I use BBEdit (which can do this), but I’d assume any of the Markdown-focused text editors would likely be able to handle that.

most don’t

I’m glad to hear BBEdit does

It’s surprisingly hard to find out if any given editor has language-aware spell check

There is a plugin for VSCode called SpellRight which does this correctly.
It’s a bit limited regarding user-provided dictionary additions, though.

It also works with the LaTeX Workshop-plugin which allows you to write latex documents directly in VSCode.

1 Like