use leo_errors::Formatted;
use leo_span::Span;
use std::fmt::Display;
const CODE_PREFIX: &str = "NV";
const CODE_MASK: i32 = 11000;
pub(crate) fn illegal_name(
item_name: impl Display,
item_type: impl Display,
keyword: impl Display,
span: Span,
) -> Formatted {
Formatted::error(
CODE_PREFIX,
CODE_MASK,
format!("`{item_name}` is not a valid {item_type} name: `{keyword}` is a reserved keyword"),
span,
)
.with_help(format!("Rename the {item_type} to something other than `{keyword}`."))
}
pub(crate) fn illegal_name_content(
item_name: impl Display,
item_type: impl Display,
keyword: impl Display,
span: Span,
) -> Formatted {
Formatted::error(
CODE_PREFIX,
CODE_MASK + 1,
format!("`{item_name}` is not a valid {item_type} name: it contains the reserved keyword `{keyword}`"),
span,
)
.with_help(format!("Rename the {item_type} so it does not contain `{keyword}` as a substring."))
}