scribe/buffer/token/
token_set.rs1use crate::buffer::token::TokenIterator;
2use crate::errors::*;
3use syntect::parsing::{SyntaxReference, SyntaxSet};
4
5pub struct TokenSet<'a> {
6 data: String,
7 syntax_definition: &'a SyntaxReference,
8 syntaxes: &'a SyntaxSet,
9}
10
11impl<'a> TokenSet<'a> {
12 pub fn new(data: String, def: &'a SyntaxReference, syntaxes: &'a SyntaxSet) -> TokenSet<'a> {
13 TokenSet {
14 data,
15 syntax_definition: def,
16 syntaxes,
17 }
18 }
19
20 pub fn iter(&self) -> Result<TokenIterator<'_>> {
21 TokenIterator::new(&self.data, self.syntax_definition, self.syntaxes)
22 }
23}