Skip to content

Commit 250b34f

Browse files
committed
optimize completion table field value: do not actively add global variables to std
1 parent c13c34b commit 250b34f

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

crates/emmylua_ls/src/handlers/completion/providers/table_field_provider.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ fn add_field_key_completion(
156156
Some(())
157157
}
158158

159+
/// 是否在当前文件的 env 中, 将会排除掉`std`
159160
fn in_env(builder: &mut CompletionBuilder, target_name: &str, target_type: &LuaType) -> Option<()> {
160161
let file_id = builder.semantic_model.get_file_id();
161162
let decl_tree = builder
@@ -168,7 +169,16 @@ fn in_env(builder: &mut CompletionBuilder, target_name: &str, target_type: &LuaT
168169
.semantic_model
169170
.get_db()
170171
.get_global_index()
171-
.get_all_global_decl_ids();
172+
.get_all_global_decl_ids()
173+
.into_iter()
174+
.filter(|id| {
175+
!builder
176+
.semantic_model
177+
.get_db()
178+
.get_module_index()
179+
.is_std(&id.file_id)
180+
})
181+
.collect();
172182
let all_env = [local_env, global_env].concat();
173183

174184
for decl_id in all_env.iter() {

0 commit comments

Comments
 (0)