Skip to content

Commit 98022db

Browse files
committed
删除原索引别名(index field alias)实现
1 parent b840541 commit 98022db

File tree

1 file changed

+0
-90
lines changed

1 file changed

+0
-90
lines changed

crates/emmylua_ls/src/handlers/completion/add_completions/add_member_completion.rs

Lines changed: 0 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -372,93 +372,3 @@ pub fn get_index_alias_name(
372372
.to_string();
373373
Some(alias_label)
374374
}
375-
376-
#[deprecated]
377-
#[allow(dead_code)]
378-
/// 添加索引成员的别名补全项
379-
fn try_add_alias_completion_item(
380-
builder: &mut CompletionBuilder,
381-
member_info: &LuaMemberInfo,
382-
completion_item: &CompletionItem,
383-
label: &String,
384-
) -> Option<bool> {
385-
#[allow(deprecated)]
386-
let alias_label = extract_index_member_alias(&builder.semantic_model, member_info)?;
387-
388-
let mut alias_completion_item = completion_item.clone();
389-
alias_completion_item.label = alias_label;
390-
alias_completion_item.insert_text = Some(label.clone());
391-
392-
// 更新 label_details 添加别名提示
393-
let index_hint = t!("completion.index %{label}", label = label).to_string();
394-
let label_details = alias_completion_item
395-
.label_details
396-
.get_or_insert_with(Default::default);
397-
label_details.description = match label_details.description.take() {
398-
Some(desc) => Some(format!("({}) {} ", index_hint, desc)),
399-
None => Some(index_hint),
400-
};
401-
builder.add_completion_item(alias_completion_item)?;
402-
Some(true)
403-
}
404-
405-
#[deprecated]
406-
/// 从注释中提取索引成员的别名, 只处理整数成员.
407-
/// 格式为`-- [nameX]`.
408-
fn extract_index_member_alias(
409-
semantic_model: &SemanticModel,
410-
member_info: &LuaMemberInfo,
411-
) -> Option<String> {
412-
let db = semantic_model.get_db();
413-
let LuaMemberKey::Integer(_) = member_info.key else {
414-
return None;
415-
};
416-
417-
let property_owner_id = member_info.property_owner_id.as_ref()?;
418-
let LuaSemanticDeclId::Member(member_id) = property_owner_id else {
419-
return None;
420-
};
421-
422-
let common_property = match db.get_property_index().get_property(property_owner_id) {
423-
Some(common_property) => common_property,
424-
None => {
425-
// field定义的`signature`的`common_property`绑定位置稍有不同, 需要特殊处理
426-
let member = db.get_member_index().get_member(member_id)?;
427-
let signature_id =
428-
try_extract_signature_id_from_field(semantic_model.get_db(), member)?;
429-
db.get_property_index()
430-
.get_property(&LuaSemanticDeclId::Signature(signature_id))?
431-
}
432-
};
433-
434-
let description = common_property.description()?;
435-
436-
// 只去掉左侧空白字符,保留右侧内容以支持后续文本
437-
let left_trimmed = description.trim_start();
438-
if !left_trimmed.starts_with('[') {
439-
return None;
440-
}
441-
442-
// 找到对应的右方括号
443-
let close_bracket_pos = left_trimmed.find(']')?;
444-
445-
let content = left_trimmed[1..close_bracket_pos].trim();
446-
447-
if content.is_empty() {
448-
return None;
449-
}
450-
451-
let first_char = content.chars().next()?;
452-
if !first_char.is_alphabetic() && first_char != '_' {
453-
return None;
454-
}
455-
456-
if !content.chars().all(|c| c.is_alphanumeric() || c == '_') {
457-
return None;
458-
}
459-
if content.parse::<i64>().is_ok() || content.parse::<f64>().is_ok() {
460-
return None;
461-
}
462-
463-
Some(content.to_string())
464-
}

0 commit comments

Comments
 (0)