///|
fn to_comment_trivia(raw : RawToken, kind : CommentKind) -> Trivia {
Trivia::Comment(Comment::{ kind, text: raw.lexeme, span: raw.span, })
}
///|
pub fn raw_to_trivia(raw : RawToken) -> Trivia? {
match raw.kind {
RawTokenKind::Whitespace => Some(Trivia::Whitespace(raw.lexeme, raw.span))
RawTokenKind::Newline => Some(Trivia::Newline(raw.lexeme, raw.span))
RawTokenKind::LineComment => Some(to_comment_trivia(raw, CommentKind::Line))
RawTokenKind::BlockComment =>
Some(to_comment_trivia(raw, CommentKind::Block))
RawTokenKind::DocComment => Some(to_comment_trivia(raw, CommentKind::Doc))
_ => None
}
}