Browse Source

Change spaces to tabs

gingerBill 5 years ago
parent
commit
e42f7008fc
1 changed files with 179 additions and 178 deletions
  1. 179 178
      core/strings/strings.odin

+ 179 - 178
core/strings/strings.odin

@@ -1,6 +1,7 @@
 package strings
 
 import "core:mem"
+import "core:unicode"
 import "core:unicode/utf8"
 
 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 {
-    buf := make_builder(allocator);
-
-    last_chars: [2]rune;
-    for char, _ in str {
-        switch char {
-        case 'A'..'Z':
-            switch last_chars[1] {
-            case 'a'..'z', '0'..'9':
-                write_rune(&buf, '_');
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-            }
-        case 'a'..'z':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                switch last_chars[0] {
-                case 'A'..'Z':
-                    write_rune(&buf, '_');
-                }
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-            case '0'..'9':
-                write_rune(&buf, '_');
-            }
-            write_rune(&buf, char);
-        case '0'..'9':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-                write_rune(&buf, '_');
-            case 'a'..'z':
-                write_rune(&buf, '_');
-            }
-            write_rune(&buf, char);
-        case '_':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-            }
-            write_rune(&buf, char);
-        case:
-            unimplemented();
-        }
-
-        last_chars[0] = last_chars[1];
-        last_chars[1] = char;
-    }
-
-    switch last_chars[1] {
-    case 'A'..'Z':
-        write_rune(&buf, last_chars[1] + ('a'-'A'));
-    }
-
-    return to_string(buf);
+	buf := make_builder(allocator);
+
+	last_chars: [2]rune;
+	for char, _ in str {
+		switch char {
+		case 'A'..'Z':
+			switch last_chars[1] {
+			case 'a'..'z', '0'..'9':
+				write_rune(&buf, '_');
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+			}
+		case 'a'..'z':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				switch last_chars[0] {
+				case 'A'..'Z':
+					write_rune(&buf, '_');
+				}
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+			case '0'..'9':
+				write_rune(&buf, '_');
+			}
+			write_rune(&buf, char);
+		case '0'..'9':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+				write_rune(&buf, '_');
+			case 'a'..'z':
+				write_rune(&buf, '_');
+			}
+			write_rune(&buf, char);
+		case '_':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+			}
+			write_rune(&buf, char);
+		case:
+			unimplemented();
+		}
+
+		last_chars[0] = last_chars[1];
+		last_chars[1] = char;
+	}
+
+	switch last_chars[1] {
+	case 'A'..'Z':
+		write_rune(&buf, last_chars[1] + ('a'-'A'));
+	}
+
+	return to_string(buf);
 }
 
 to_ada_case :: proc(str: string, allocator := context.allocator) -> string {
-    buf := make_builder(allocator);
- 
-    last_chars: [2]rune;
-    for char, _ in str {
-        switch char {
-        case 'A'..'Z':
-            switch last_chars[1] {
-            case 'a'..'z', '0'..'9':
-                write_rune(&buf, '_');
-            case 'A'..'Z':
-                switch last_chars[0] {
-                case '_', '\x00':
-                    write_rune(&buf, last_chars[1]);
-                case:
-                    write_rune(&buf, last_chars[1] + ('a'-'A'));
-                }
-            }
-        case 'a'..'z':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                switch last_chars[0] {
-                case 'A'..'Z':
-                    write_rune(&buf, '_');
-                    write_rune(&buf, last_chars[1]);
-                case:
-                    write_rune(&buf, last_chars[1]);
-                }
-                write_rune(&buf, char);
-            case '0'..'9':
-                write_rune(&buf, '_');
-                write_rune(&buf, char);
-            case 'a'..'z':
-                write_rune(&buf, char);
-            case '_', '\x00':
-                write_rune(&buf, char - ('a'-'A'));
-            }
-        case '0'..'9':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-                write_rune(&buf, '_');
-            case 'a'..'z':
-                write_rune(&buf, '_');
-            }
-            write_rune(&buf, char);
-        case '_':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1] + ('a'-'A'));
-            }
-            write_rune(&buf, char);
-        case:
-            write_rune(&buf, char);
-        }
- 
-        last_chars[0] = last_chars[1];
-        last_chars[1] = char;
-    }
- 
-    switch last_chars[1] {
-    case 'A'..'Z':
-        write_rune(&buf, last_chars[1] + ('a'-'A'));
-    }
- 
-    return to_string(buf);
+	buf := make_builder(allocator);
+
+	last_chars: [2]rune;
+	for char, _ in str {
+		switch char {
+		case 'A'..'Z':
+			switch last_chars[1] {
+			case 'a'..'z', '0'..'9':
+				write_rune(&buf, '_');
+			case 'A'..'Z':
+				switch last_chars[0] {
+				case '_', '\x00':
+					write_rune(&buf, last_chars[1]);
+				case:
+					write_rune(&buf, last_chars[1] + ('a'-'A'));
+				}
+			}
+		case 'a'..'z':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				switch last_chars[0] {
+				case 'A'..'Z':
+					write_rune(&buf, '_');
+					write_rune(&buf, last_chars[1]);
+				case:
+					write_rune(&buf, last_chars[1]);
+				}
+				write_rune(&buf, char);
+			case '0'..'9':
+				write_rune(&buf, '_');
+				write_rune(&buf, char);
+			case 'a'..'z':
+				write_rune(&buf, char);
+			case '_', '\x00':
+				write_rune(&buf, char - ('a'-'A'));
+			}
+		case '0'..'9':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+				write_rune(&buf, '_');
+			case 'a'..'z':
+				write_rune(&buf, '_');
+			}
+			write_rune(&buf, char);
+		case '_':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1] + ('a'-'A'));
+			}
+			write_rune(&buf, char);
+		case:
+			write_rune(&buf, char);
+		}
+
+		last_chars[0] = last_chars[1];
+		last_chars[1] = char;
+	}
+
+	switch last_chars[1] {
+	case 'A'..'Z':
+		write_rune(&buf, last_chars[1] + ('a'-'A'));
+	}
+
+	return to_string(buf);
 }
 
 to_screaming_snake_case :: proc(str: string, allocator := context.allocator) -> string {
-    buf := make_builder(allocator);
- 
-    last_chars: [2]rune;
-    for char, _ in str {
-        switch char {
-        case 'A'..'Z':
-            switch last_chars[1] {
-            case 'a'..'z', '0'..'9':
-                write_rune(&buf, '_');
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1]);
-            }
-        case 'a'..'z':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                switch last_chars[0] {
-                case 'A'..'Z':
-                    write_rune(&buf, '_');
-                    write_rune(&buf, last_chars[1]);
-                case:
-                    write_rune(&buf, last_chars[1]);
-                }
-                write_rune(&buf, char - ('a'-'A'));
-            case '0'..'9':
-                write_rune(&buf, '_');
-                write_rune(&buf, char - ('a'-'A'));
-            case 'a'..'z':
-                write_rune(&buf, char - ('a'-'A'));
-            case '_', '\x00':
-                write_rune(&buf, char - ('a'-'A'));
-            }
-        case '0'..'9':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1]);
-                write_rune(&buf, '_');
-            case 'a'..'z':
-                write_rune(&buf, '_');
-            }
-            write_rune(&buf, char);
-        case '_':
-            switch last_chars[1] {
-            case 'A'..'Z':
-                write_rune(&buf, last_chars[1]);
-            }
-            write_rune(&buf, char);
-        case:
-            unimplemented();
-        }
- 
-        last_chars[0] = last_chars[1];
-        last_chars[1] = char;
-    }
- 
-    switch last_chars[1] {
-    case 'A'..'Z':
-        write_rune(&buf, last_chars[1]);
-    }
- 
-    return to_string(buf);
+	buf := make_builder(allocator);
+
+	last_chars: [2]rune;
+	for char, _ in str {
+		switch char {
+		case 'A'..'Z':
+			switch last_chars[1] {
+			case 'a'..'z', '0'..'9':
+				write_rune(&buf, '_');
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1]);
+			}
+		case 'a'..'z':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				switch last_chars[0] {
+				case 'A'..'Z':
+					write_rune(&buf, '_');
+					write_rune(&buf, last_chars[1]);
+				case:
+					write_rune(&buf, last_chars[1]);
+				}
+				write_rune(&buf, char - ('a'-'A'));
+			case '0'..'9':
+				write_rune(&buf, '_');
+				write_rune(&buf, char - ('a'-'A'));
+			case 'a'..'z':
+				write_rune(&buf, char - ('a'-'A'));
+			case '_', '\x00':
+				write_rune(&buf, char - ('a'-'A'));
+			}
+		case '0'..'9':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1]);
+				write_rune(&buf, '_');
+			case 'a'..'z':
+				write_rune(&buf, '_');
+			}
+			write_rune(&buf, char);
+		case '_':
+			switch last_chars[1] {
+			case 'A'..'Z':
+				write_rune(&buf, last_chars[1]);
+			}
+			write_rune(&buf, char);
+		case:
+			unimplemented();
+		}
+
+		last_chars[0] = last_chars[1];
+		last_chars[1] = char;
+	}
+
+	switch last_chars[1] {
+	case 'A'..'Z':
+		write_rune(&buf, last_chars[1]);
+	}
+
+	return to_string(buf);
 }
 
 reverse :: proc(s: string, allocator := context.allocator) -> string {