add ingested file category for error messages

This commit is contained in:
Brendan Hansknecht 2023-04-03 18:04:43 -07:00
parent d42aa43b41
commit 7079361841
No known key found for this signature in database
GPG key ID: 0EA784685083E75B
3 changed files with 8 additions and 13 deletions

View file

@ -302,19 +302,7 @@ impl Expr {
Self::Int(..) => Category::Int,
Self::Float(..) => Category::Frac,
Self::Str(..) => Category::Str,
Self::IngestedFile(_, anno) => {
dbg!(&anno);
todo!()
// if let Type::Apply(0, 1, 2) = anno.typ {
// Category::Str
// } else if let Type::Apply(_, _, _) = anno.typ {
// Category::List
// } else {
// todo!(
// "Not sure how we should handle other types here that are probably invalid"
// )
// }
}
Self::IngestedFile(..) => Category::IngestedFile,
Self::SingleQuote(..) => Category::Character,
Self::List { .. } => Category::List,
&Self::Var(sym, _) => Category::Lookup(sym),

View file

@ -3781,6 +3781,7 @@ pub enum Category {
List,
Str,
Character,
IngestedFile,
// records
Record,

View file

@ -1655,6 +1655,12 @@ fn format_category<'b>(
alloc.concat([this_is, alloc.text(" a Unicode scalar value")]),
alloc.text(" of type:"),
),
IngestedFile => (
// TODO: is this what we actually want for the error message here.
// Should we somehow get the file name piped to here or type annotation?
alloc.concat([this_is, alloc.text(" an ingested file")]),
alloc.text(" of type:"),
),
Lambda => (
alloc.concat([this_is, alloc.text(" an anonymous function")]),
alloc.text(" of type:"),