mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-25 15:05:00 -07:00
Change spaces to tabs
This commit is contained in:
+175
-174
@@ -1,6 +1,7 @@
|
|||||||
package strings
|
package strings
|
||||||
|
|
||||||
import "core:mem"
|
import "core:mem"
|
||||||
|
import "core:unicode"
|
||||||
import "core:unicode/utf8"
|
import "core:unicode/utf8"
|
||||||
|
|
||||||
clone :: proc(s: string, allocator := context.allocator) -> string {
|
clone :: proc(s: string, allocator := context.allocator) -> string {
|
||||||
@@ -708,190 +709,190 @@ scrub :: proc(s: string, replacement: string, allocator := context.allocator) ->
|
|||||||
}
|
}
|
||||||
|
|
||||||
to_snake_case :: proc(str: string, allocator := context.allocator) -> string {
|
to_snake_case :: proc(str: string, allocator := context.allocator) -> string {
|
||||||
buf := make_builder(allocator);
|
buf := make_builder(allocator);
|
||||||
|
|
||||||
last_chars: [2]rune;
|
last_chars: [2]rune;
|
||||||
for char, _ in str {
|
for char, _ in str {
|
||||||
switch char {
|
switch char {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'a'..'z', '0'..'9':
|
case 'a'..'z', '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[0] {
|
switch last_chars[0] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
}
|
}
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '_':
|
case '_':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case:
|
case:
|
||||||
unimplemented();
|
unimplemented();
|
||||||
}
|
}
|
||||||
|
|
||||||
last_chars[0] = last_chars[1];
|
last_chars[0] = last_chars[1];
|
||||||
last_chars[1] = char;
|
last_chars[1] = char;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return to_string(buf);
|
return to_string(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
to_ada_case :: proc(str: string, allocator := context.allocator) -> string {
|
to_ada_case :: proc(str: string, allocator := context.allocator) -> string {
|
||||||
buf := make_builder(allocator);
|
buf := make_builder(allocator);
|
||||||
|
|
||||||
last_chars: [2]rune;
|
last_chars: [2]rune;
|
||||||
for char, _ in str {
|
for char, _ in str {
|
||||||
switch char {
|
switch char {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'a'..'z', '0'..'9':
|
case 'a'..'z', '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[0] {
|
switch last_chars[0] {
|
||||||
case '_', '\x00':
|
case '_', '\x00':
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
case:
|
case:
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[0] {
|
switch last_chars[0] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
case:
|
case:
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '_', '\x00':
|
case '_', '\x00':
|
||||||
write_rune(&buf, char - ('a'-'A'));
|
write_rune(&buf, char - ('a'-'A'));
|
||||||
}
|
}
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '_':
|
case '_':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case:
|
case:
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
}
|
}
|
||||||
|
|
||||||
last_chars[0] = last_chars[1];
|
last_chars[0] = last_chars[1];
|
||||||
last_chars[1] = char;
|
last_chars[1] = char;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
write_rune(&buf, last_chars[1] + ('a'-'A'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return to_string(buf);
|
return to_string(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
to_screaming_snake_case :: proc(str: string, allocator := context.allocator) -> string {
|
to_screaming_snake_case :: proc(str: string, allocator := context.allocator) -> string {
|
||||||
buf := make_builder(allocator);
|
buf := make_builder(allocator);
|
||||||
|
|
||||||
last_chars: [2]rune;
|
last_chars: [2]rune;
|
||||||
for char, _ in str {
|
for char, _ in str {
|
||||||
switch char {
|
switch char {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'a'..'z', '0'..'9':
|
case 'a'..'z', '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
}
|
}
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
switch last_chars[0] {
|
switch last_chars[0] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
case:
|
case:
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
}
|
}
|
||||||
write_rune(&buf, char - ('a'-'A'));
|
write_rune(&buf, char - ('a'-'A'));
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
write_rune(&buf, char - ('a'-'A'));
|
write_rune(&buf, char - ('a'-'A'));
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
write_rune(&buf, char - ('a'-'A'));
|
write_rune(&buf, char - ('a'-'A'));
|
||||||
case '_', '\x00':
|
case '_', '\x00':
|
||||||
write_rune(&buf, char - ('a'-'A'));
|
write_rune(&buf, char - ('a'-'A'));
|
||||||
}
|
}
|
||||||
case '0'..'9':
|
case '0'..'9':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
case 'a'..'z':
|
case 'a'..'z':
|
||||||
write_rune(&buf, '_');
|
write_rune(&buf, '_');
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case '_':
|
case '_':
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
}
|
}
|
||||||
write_rune(&buf, char);
|
write_rune(&buf, char);
|
||||||
case:
|
case:
|
||||||
unimplemented();
|
unimplemented();
|
||||||
}
|
}
|
||||||
|
|
||||||
last_chars[0] = last_chars[1];
|
last_chars[0] = last_chars[1];
|
||||||
last_chars[1] = char;
|
last_chars[1] = char;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch last_chars[1] {
|
switch last_chars[1] {
|
||||||
case 'A'..'Z':
|
case 'A'..'Z':
|
||||||
write_rune(&buf, last_chars[1]);
|
write_rune(&buf, last_chars[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return to_string(buf);
|
return to_string(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
reverse :: proc(s: string, allocator := context.allocator) -> string {
|
reverse :: proc(s: string, allocator := context.allocator) -> string {
|
||||||
|
|||||||
Reference in New Issue
Block a user