on master help sign in
Make Layer::parse take &mut tree_sitter::Parser
9d41113Blaž Hrastnik
helix-core/src/syntax.rs+5−7
@@ -584,7 +584,7 @@ impl Syntax {
584 }
584 }
585
585
586 // Re-parse the tree.
586 // Re-parse the tree.
587− layer.parse(ts_parser, source)?;
587+ layer.parse(&mut ts_parser.parser, source)?;
588
588
589 // Switch to an immutable borrow.
589 // Switch to an immutable borrow.
590 let layer = &self.layers[layer_id];
590 let layer = &self.layers[layer_id];
@@ -822,17 +822,15 @@ impl LanguageLayer {
822 self.tree.as_ref().unwrap()
822 self.tree.as_ref().unwrap()
823 }
823 }
824
824
825− fn parse(&mut self, ts_parser: &mut TsParser, source: &Rope) -> Result<(), Error> {
825+ fn parse(&mut self, parser: &mut Parser, source: &Rope) -> Result<(), Error> {
826− ts_parser.parser.set_included_ranges(&self.ranges).unwrap();
826+ parser.set_included_ranges(&self.ranges).unwrap();
827
827
828− ts_parser
829− .parser
828+ parser
830 .set_language(self.config.language)
829 .set_language(self.config.language)
831 .map_err(|_| Error::InvalidLanguage)?;
830 .map_err(|_| Error::InvalidLanguage)?;
832
831
833 // unsafe { syntax.parser.set_cancellation_flag(cancellation_flag) };
832 // unsafe { syntax.parser.set_cancellation_flag(cancellation_flag) };
834− let tree = ts_parser
835− .parser
833+ let tree = parser
836 .parse_with(
834 .parse_with(
837 &mut |byte, _| {
835 &mut |byte, _| {
838 if byte <= source.len_bytes() {
836 if byte <= source.len_bytes() {