From 3414183ab6914fc22084e12f265df33a795023e9 Mon Sep 17 00:00:00 2001 From: Nikita Revenco <154856872+NikitaRevenco@users.noreply.github.com> Date: Fri, 20 Dec 2024 10:43:31 +0000 Subject: [PATCH] refactor: move functon --- helix-core/src/case_conversion.rs | 56 +++++++++++++++---------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/helix-core/src/case_conversion.rs b/helix-core/src/case_conversion.rs index 734a40b39..c9bec27c9 100644 --- a/helix-core/src/case_conversion.rs +++ b/helix-core/src/case_conversion.rs @@ -71,6 +71,33 @@ pub fn to_alternate_case_with(text: impl Iterator, buf: &mut Tendri } } +pub fn to_camel_or_pascal_case_with( + text: impl Iterator, + buf: &mut Tendril, + is_pascal: bool, +) { + let mut capitalize_next = is_pascal; + let mut prev_is_lowercase = false; + + for c in text.skip_while(|ch| ch.is_whitespace()) { + if c.is_alphanumeric() { + if prev_is_lowercase && c.is_uppercase() { + capitalize_next = true; + } + if capitalize_next { + buf.extend(c.to_uppercase()); + capitalize_next = false; + } else { + buf.extend(c.to_lowercase()); + } + prev_is_lowercase = c.is_lowercase(); + } else { + capitalize_next = true; + prev_is_lowercase = false; + } + } +} + pub fn to_title_case_with(text: impl Iterator, buf: &mut Tendril) { let mut capitalize_next = true; let mut prev: Option = None; @@ -93,7 +120,7 @@ pub fn to_title_case_with(text: impl Iterator, buf: &mut Tendril) { prev = Some(c); } - *buf = buf.trim().into(); + *buf = buf.trim_end().into(); } pub fn to_case_with_separator( @@ -140,33 +167,6 @@ pub fn to_pascal_case_with(text: impl Iterator, buf: &mut Tendril) to_camel_or_pascal_case_with(text, buf, true); } -pub fn to_camel_or_pascal_case_with( - text: impl Iterator, - buf: &mut Tendril, - is_pascal: bool, -) { - let mut capitalize_next = is_pascal; - let mut prev_is_lowercase = false; - - for c in text.skip_while(|ch| ch.is_whitespace()) { - if c.is_alphanumeric() { - if prev_is_lowercase && c.is_uppercase() { - capitalize_next = true; - } - if capitalize_next { - buf.extend(c.to_uppercase()); - capitalize_next = false; - } else { - buf.extend(c.to_lowercase()); - } - prev_is_lowercase = c.is_lowercase(); - } else { - capitalize_next = true; - prev_is_lowercase = false; - } - } -} - #[cfg(test)] mod tests { use super::*;