enum name and variant names more readable

This commit is contained in:
Janis 2023-04-21 18:18:05 +02:00
parent 8d2f0ab142
commit fad2175aa2

View file

@ -433,8 +433,13 @@ pub mod sdk {
.enumerate()
// canonicalize the names into valid rust
.map(|(value, name)| {
let name = name.get_name().unwrap_or("AnonymousVariant".to_string());
let name = canonicalize_name(&name).to_string();
let name = &name.get_name().unwrap_or("AnonymousVariant".to_string());
// ignore everything preceeding the last double colon
let name = canonicalize_name(
name.rsplit_once("::").map(|(_, name)| name).unwrap_or(name),
)
.to_string();
(value, name)
})
// store conflicts next to each other
@ -456,7 +461,7 @@ pub mod sdk {
// sort by value
let mut variants = BTreeMap::new();
values.into_iter().for_each(|(name, values)| {
if values.len() > 0 {
if values.len() > 1 {
for (i, value) in values.into_iter().enumerate() {
variants.insert(value, format!("{name}{i}"));
}
@ -467,7 +472,7 @@ pub mod sdk {
let name = enm
.as_uobject()
.get_full_name()
.get_name()
.context("enum name could not be found")?;
let name = canonicalize_name(&name).to_string();
@ -504,6 +509,7 @@ pub mod sdk {
impl<T> FoldIntoPackages for T where T: Iterator<Item = UObject> {}
#[derive(Debug)]
pub struct Sdk {
pub packages: HashMap<UObject, ProcessedPackage>,
}