ling-lang 2030.0.1

Ling - The Omniglot Systems Language
// src/lexer/cursor.rs
#[derive(Clone)]
pub struct Cursor<'a> {
    source: &'a str,
    offset: usize,
    line: usize,
    col: usize,
}

impl<'a> Cursor<'a> {
    pub fn new(source: &'a str) -> Self {
        Self { source, offset: 0, line: 0, col: 0 }
    }
    
    pub fn advance(&mut self, count: usize) {
        self.offset += count;
        self.col += count;
    }
    
    pub fn peek(&self) -> Option<char> {
        self.source[self.offset..].chars().next()
    }
}