microsoft / monaco-editor

A browser based code editor
https://microsoft.github.io/monaco-editor/
MIT License
39.07k stars 3.51k forks source link

[Bug] Wrong syntax highlighting for reStructuredText #3113

Open gurov81 opened 2 years ago

gurov81 commented 2 years ago

Reproducible in vscode.dev or in VS Code Desktop?

Reproducible in the monaco editor playground?

Monaco Editor Playground Code

.. math::

.. hello:: asd

.. line-block::

.. line-block:: aaa

.. lineQ-block:: aa
.. lineQQ-block:: aa
.. lineQQQ-block:: aa
.. lineQQQQ-block:: aa

.. lineblock:: aaa

    .. line-block::

Actual Behavior

Half of directives in the example code are treated as comments:

Выделение_159

Expected Behavior

All rst directives in the example code should be successfully determined by tokenizer.

Выделение_157

According to https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#directives:

Directive types are case-insensitive single words (alphanumerics plus isolated internal hyphens, underscores, plus signs, colons, and periods; no whitespace)

Also note that directive arguments are optional, thus a whitespace after "::" is optional too.

Additional Context

No response

hediet commented 1 year ago

Unfortunately, VS Code and the standalone monaco editor use different tokenizers. We would more than welcome a PR for the standalone monaco editor tokenizer (monarch) that fixes this issue!