rune_width :: (r: rune) -> int { if r < 0 return -1; if r <= 0x7F return 1; if r <= 0x7FF return 2; if r >= 0xD800 && r <= 0xDFFF return -1; if r <= 0xFFFF return 3; if r <= 0x10FFFF return 4; return -1; } use_pascal_names :: (names: []string) { for name: names { b: basic.String_Builder; upper := false; for i: 0..name.count - 1 { c := name[i]; if c == #char "_" { upper = true; continue; } if i == 0 { upper = true; } if upper { basic.append(*b, basic.to_upper(c)); upper = false; } else { basic.append(*b, c); } } names[it_index] = basic.builder_to_string(*b); } }