calculat0r 0.1.0

Cli calculator app
Documentation
use core::fmt;

use crate::lexer::span::Span;

#[derive(Clone, Copy, Debug, PartialEq)]
pub enum TokenKind {
    Slash,
    Mul,
    Mod,
    Minus,
    Plus,
    Number,
    LParen,
    RParen
}

#[derive(Debug,Clone,Copy)]
pub struct Token {
    pub kind: TokenKind,
    pub span: Span,
}

impl fmt::Display for TokenKind {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{self:?}")
    }
}

impl Token {
    pub fn new(kind: TokenKind, span: Span) -> Self {
        Self { kind, span }
    }
}