ikatyang / tree-sitter-markdown

Markdown grammar for tree-sitter
https://ikatyang.github.io/tree-sitter-markdown
MIT License
183 stars 29 forks source link

fix: avoid crash #29

Closed ikatyang closed 3 years ago

ikatyang commented 3 years ago

Fixes #24

This PR mitigates the crash issue with the cost of the parsed tree being inaccurate in the previously crashed cases, but the parsed tree should be accurate again once the typing finished if the assumption of the crash caused by unfinished typing is correct.

Since tree-sitter-cli hardcoded the -fno-exceptions flag for the tree-sitter test command, the "avoid crash" build is not enabled in the source code by default, but it's enabled for the node/rust binding. To enable the "avoid crash" build for a custom binding, simply define the TREE_SITTER_MARKDOWN_AVOID_CRASH macro with -fexceptions flag enabled.