scribe 0.10.0

Text editor toolkit.
Documentation
use crate::buffer::token::TokenIterator;
use crate::errors::*;
use syntect::parsing::{SyntaxReference, SyntaxSet};

pub struct TokenSet<'a> {
    data: String,
    syntax_definition: &'a SyntaxReference,
    syntaxes: &'a SyntaxSet,
}

impl<'a> TokenSet<'a> {
    pub fn new(data: String, def: &'a SyntaxReference, syntaxes: &'a SyntaxSet) -> TokenSet<'a> {
        TokenSet {
            data,
            syntax_definition: def,
            syntaxes,
        }
    }

    pub fn iter(&self) -> Result<TokenIterator<'_>> {
        TokenIterator::new(&self.data, self.syntax_definition, self.syntaxes)
    }
}