Tree-sitter
Tree-sitter is an incremental parsing system that can build and maintain a syntax tree for source code files as they are edited, enabling fast and accurate syntax highlighting, code navigation, structural editing, and more. It generates fast parsers that can be used from multiple programming languages.