aboutsummaryrefslogtreecommitdiff
path: root/src/string.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2022-02-15 15:47:24 +0000
committerGitHub <noreply@github.com>2022-02-15 15:47:24 +0000
commitf5697dd7f2e71411957faf9fa620e62363491083 (patch)
tree931db0d1c595326524bd7a541b0fb2c6d4a7f186 /src/string.cpp
parent6223f48c3fc096b543a51aa1c993a6f1127f2a0f (diff)
parenta23ee1edc16dc447b9e342ba56b5871e0424082e (diff)
Merge branch 'master' into odin-global-constants-as-enums
Diffstat (limited to 'src/string.cpp')
-rw-r--r--src/string.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/string.cpp b/src/string.cpp
index 800378689..eb6058f78 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -195,8 +195,6 @@ template <isize N> bool operator > (String const &a, char const (&b)[N]) { retu
template <isize N> bool operator <= (String const &a, char const (&b)[N]) { return str_le(a, make_string(cast(u8 *)b, N-1)); }
template <isize N> bool operator >= (String const &a, char const (&b)[N]) { return str_ge(a, make_string(cast(u8 *)b, N-1)); }
-
-
gb_inline bool string_starts_with(String const &s, String const &prefix) {
if (prefix.len > s.len) {
return false;
@@ -230,6 +228,16 @@ gb_inline bool string_ends_with(String const &s, u8 suffix) {
return s[s.len-1] == suffix;
}
+
+
+gb_inline String string_trim_starts_with(String const &s, String const &prefix) {
+ if (string_starts_with(s, prefix)) {
+ return substring(s, prefix.len, s.len);
+ }
+ return s;
+}
+
+
gb_inline isize string_extension_position(String const &str) {
isize dot_pos = -1;
isize i = str.len;