You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Explore using tree sitter for syntax highlighting #210475
I've confirmed that this is the case; however, it appears to be broken in the latest version of web-tree-sitter. Going back to 0.22.2 works (latest is 0.22.5).
There does not appear to be any significant time penalty for setting a timeout.
Rémi Marche (@ecstrema) it's still On Deck, meaning under consideration for the upcoming milestones.
7 Months ago, there were less issues on deck than now, although their goal was to keep the issues there < 100 apparently. It is now sitting at ~800 open issues.
The priority for vscode (or any Microsoft product) seems to be better Copilot/AI integration right now.
The upside of tree sitter highlighting is that it's way more convenient to write them compared to textmate, as they tend to get quite large and tedious to write from hand.
Note that the regular expressions are matched against only a single line of the document at a time. That means it is not possible to use a pattern that matches multiple lines.
Defining actual scopes in Textmate is this nearly impossible, and a approximation at best. Inserting line breaks in some places will break some highlighting, but you tend to not notice them as the grammars are written in ways they expect you to write your code.
Tree sitter has actual syntax 'rules' and scopes where different rules apply, so this not an issue.
So you can expect better and more consistent support for languages.
You can look at the comments above or the related issues for performance insights, but this seems like a non-issue.
Reacted by Tsung-Han Yu, Eli, Tibor, Kevin Stephen, Tim Veestraeten, Agustín and SeniorMars
Reacted by Asuka Minato, Kevin Stephen, Michael, Frulfump, etchira, Nicolas HENRY, Aadi Desai, Tim Veestraeten, Randolf Scholz, Ethan Conneely and 16 more
Activity
alexr00 commentedon May 3, 2024
Some notes on incremental parsing:
parsetimes-out, with the parsing progress preserved for the next call toparse.web-tree-sitter. Going back to0.22.2works (latest is0.22.5).Henning Dieterichs (@hediet) FYI.
alexr00 commentedon May 6, 2024
Opened tree-sitter/tree-sitter#3341 for the above issue.
alexr00 commentedon May 28, 2024
After some discussion, we've decided to first understand the performance of using tree-sitter to parse files. #213565 contains that work.
alexr00 commentedon May 28, 2024
We also need new internal editor API to write a more optimal parse function, which Peng Lyu (@rebornix) may help with.
95 remaining items
pinkyo commentedon Jul 16, 2025
looking forward to tree-sitter for golang
heartacker commentedon Jul 16, 2025
going to ON DECK
Frulfump commentedon Jul 16, 2025
Nice,
github.com/microsoft/vscode/milestone/27
742 open issues 😬
ecstrema commentedon Feb 5, 2026
Hello,
I was looking for news about tree sitter support in vscode, and couldn't find anything newer than what's here and is from more than 6 months ago.
So, concretely, are there any performance improvements with tree sitter compared to TextMate? More/better supported languages?
Thanks!
Plixo2 commentedon Feb 5, 2026
Rémi Marche (@ecstrema) it's still
On Deck, meaning under consideration for the upcoming milestones.7 Months ago, there were less issues on deck than now, although their goal was to keep the issues there < 100 apparently. It is now sitting at ~800 open issues.
The priority for vscode (or any Microsoft product) seems to be better Copilot/AI integration right now.
The upside of tree sitter highlighting is that it's way more convenient to write them compared to textmate, as they tend to get quite large and tedious to write from hand.
Textmate is regex based has to have the ability to restart at any line.
(see 12.2 Language Rules)
Defining actual scopes in Textmate is this nearly impossible, and a approximation at best. Inserting line breaks in some places will break some highlighting, but you tend to not notice them as the grammars are written in ways they expect you to write your code.
Tree sitter has actual syntax 'rules' and scopes where different rules apply, so this not an issue.
So you can expect better and more consistent support for languages.
You can look at the comments above or the related issues for performance insights, but this seems like a non-issue.
MulverineX commentedon Jun 16, 2026
Moved to backlog 😭