Does Neorg's concealer depend on a specific Tree-sitter parser version to render .norg files correctly?
0 reputation · 01 Nov 2025, 09:29 UTC
I'm setting up Neorg for personal notes and task tracking in Neovim, and I want to understand the relationship between the plugin's concealer module and the Tree-sitter norg parser installed through nvim-treesitter.
My understanding is that syntax highlighting, folding, and the concealer's styled rendering of markup all derive from the Tree-sitter parse tree rather than from regex-based rules. If that's true, then the parser and the plugin presumably need to stay in sync: a grammar update could rename or restructure nodes that the concealer queries, and an older parser with a newer plugin (or vice versa) might silently degrade rendering instead of failing loudly.
What I'm unsure about is how tight that coupling actually is in practice, and how version drift is supposed to be detected. The Norg format specification also hasn't been declared fully stable, which makes me wonder whether parser revisions track spec revisions directly or lag behind them.
So, concretely:
- Does the concealer query Tree-sitter captures directly, making it sensitive to parser version, or does it use a more stable abstraction layer?
- Is there a documented compatibility matrix or health check that reports a parser/plugin mismatch?
- When the spec changes, which component is expected to move first—the grammar or the plugin?