jc/utils.jai
2025-05-11 02:29:36 -06:00

42 lines
787 B
Text

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);
}
}