Skip to content

Commit 66882f1

Browse files
Move snake case method to heck
1 parent ba8ffab commit 66882f1

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

crates/ra_ide/src/inlay_hints.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use ra_syntax::{
99
};
1010

1111
use crate::{FileId, FunctionSignature};
12+
use stdx::to_lower_snake_case;
1213

1314
#[derive(Clone, Debug, PartialEq, Eq)]
1415
pub struct InlayHintsConfig {
@@ -279,25 +280,11 @@ fn is_enum_name_similar_to_param_name(
279280
param_name: &str,
280281
) -> bool {
281282
match sema.type_of_expr(argument).and_then(|t| t.as_adt()) {
282-
Some(Adt::Enum(e)) => &camel_case_to_snake_case(e.name(sema.db).to_string()) == param_name,
283+
Some(Adt::Enum(e)) => to_lower_snake_case(&e.name(sema.db).to_string()) == param_name,
283284
_ => false,
284285
}
285286
}
286287

287-
fn camel_case_to_snake_case(s: String) -> String {
288-
let mut buf = String::with_capacity(s.len());
289-
let mut prev = false;
290-
for c in s.chars() {
291-
if c.is_ascii_uppercase() && prev {
292-
buf.push('_')
293-
}
294-
prev = true;
295-
296-
buf.push(c.to_ascii_lowercase());
297-
}
298-
buf
299-
}
300-
301288
fn get_string_representation(expr: &ast::Expr) -> Option<String> {
302289
match expr {
303290
ast::Expr::MethodCallExpr(method_call_expr) => {

crates/stdx/src/lib.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,17 @@ pub fn timeit(label: &'static str) -> impl Drop {
102102

103103
Guard { label, start: Instant::now() }
104104
}
105+
106+
pub fn to_lower_snake_case(s: &str) -> String {
107+
let mut buf = String::with_capacity(s.len());
108+
let mut prev = false;
109+
for c in s.chars() {
110+
if c.is_ascii_uppercase() && prev {
111+
buf.push('_')
112+
}
113+
prev = true;
114+
115+
buf.push(c.to_ascii_lowercase());
116+
}
117+
buf
118+
}

0 commit comments

Comments
 (0)