aboutsummaryrefslogtreecommitdiff
path: root/crates/stdx
diff options
context:
space:
mode:
authorIgor Aleksanov <[email protected]>2020-10-03 14:45:16 +0100
committerIgor Aleksanov <[email protected]>2020-10-12 08:59:54 +0100
commit17f1026c46e6e3797caf3c69737f66bd612c58e1 (patch)
treea465868cec992815df9f7fd8d06bed8df4daf746 /crates/stdx
parent21dd704b6b28374ea7bd2d1e13469be6807c4a8d (diff)
Improve string helpers functions
Diffstat (limited to 'crates/stdx')
-rw-r--r--crates/stdx/src/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/stdx/src/lib.rs b/crates/stdx/src/lib.rs
index 011935cad..522a9c1ab 100644
--- a/crates/stdx/src/lib.rs
+++ b/crates/stdx/src/lib.rs
@@ -32,8 +32,12 @@ pub fn to_lower_snake_case(s: &str) -> String {
32 let mut buf = String::with_capacity(s.len()); 32 let mut buf = String::with_capacity(s.len());
33 let mut prev = false; 33 let mut prev = false;
34 for c in s.chars() { 34 for c in s.chars() {
35 // `&& prev` is required to not insert `_` before the first symbol.
35 if c.is_ascii_uppercase() && prev { 36 if c.is_ascii_uppercase() && prev {
36 buf.push('_') 37 // This check is required to not translate `Weird_Case` into `weird__case`.
38 if buf.chars().last() != Some('_') {
39 buf.push('_')
40 }
37 } 41 }
38 prev = true; 42 prev = true;
39 43