mirror of
https://github.com/nushell/nushell.git
synced 2025-04-13 07:48:19 +02:00
29 lines
1.3 KiB
Rust
29 lines
1.3 KiB
Rust
use crate::parser::{hir, RawToken, Token};
|
|
use crate::Text;
|
|
|
|
pub fn baseline_parse_single_token(token: &Token, source: &Text) -> hir::Expression {
|
|
match *token.item() {
|
|
RawToken::Integer(int) => hir::Expression::int(int, token.span),
|
|
RawToken::Size(int, unit) => hir::Expression::size(int, unit, token.span),
|
|
RawToken::String(span) => hir::Expression::string(span, token.span),
|
|
RawToken::Variable(span) if span.slice(source) == "it" => {
|
|
hir::Expression::it_variable(span, token.span)
|
|
}
|
|
RawToken::Variable(span) => hir::Expression::variable(span, token.span),
|
|
RawToken::Bare => hir::Expression::bare(token.span),
|
|
}
|
|
}
|
|
|
|
pub fn baseline_parse_token_as_string(token: &Token, source: &Text) -> hir::Expression {
|
|
match *token.item() {
|
|
RawToken::Variable(span) if span.slice(source) == "it" => {
|
|
hir::Expression::it_variable(span, token.span)
|
|
}
|
|
RawToken::Variable(span) => hir::Expression::variable(span, token.span),
|
|
RawToken::Integer(_) => hir::Expression::bare(token.span),
|
|
RawToken::Size(_, _) => hir::Expression::bare(token.span),
|
|
RawToken::Bare => hir::Expression::bare(token.span),
|
|
RawToken::String(span) => hir::Expression::string(span, token.span),
|
|
}
|
|
}
|