//! Load and configure parsers written with tree-sitter. use std::collections::HashSet; use line_numbers::LinePositions; use streaming_iterator::StreamingIterator as _; use tree_sitter as ts; use typed_arena::Arena; use super::syntax::MatchedPos; use super::syntax::{self, StringKind}; use crate::hash::DftHashMap; use crate::options::DiffOptions; use crate::parse::guess_language as guess; use crate::parse::syntax::{AtomKind, Syntax}; /// A language may contain certain nodes that are in other languages /// and should be parsed as such (e.g. HTML `