1
1
mirror of https://github.com/tweag/nickel.git synced 2024-10-06 08:07:37 +03:00

Get unique IDs using idents in constant time.

This commit is contained in:
Oghenevwogaga Ebresafe 2022-10-31 13:03:24 +01:00
parent 89758d4f1d
commit 7ffbdc310d

View File

@ -175,11 +175,8 @@ fn get_completion_identifiers(
// Record Completion
Some(server::DOT_COMPL_TRIGGER) => {
let name = get_identifier_before_dot(source)?;
let name_id = lin_env
.iter()
.find(|(ident, _)| ident.label() == name)
.map(|(_, id)| *id);
let ident = Ident::from(name);
let name_id = lin_env.get(&ident).cloned();
match name_id {
Some(name_id) => collect_record_info(linearization, item, name_id),
None => return Ok(Vec::new()),
@ -189,10 +186,8 @@ fn get_completion_identifiers(
// variable name completion
Some(..) | None => {
if let Some(name) = get_identifier_before_field(source) {
let name_id = lin_env
.iter()
.find(|(ident, _)| ident.label() == name)
.map(|(_, id)| *id);
let ident = Ident::from(name);
let name_id = lin_env.get(&ident).cloned();
match name_id {
Some(name_id) => collect_record_info(linearization, item, name_id),
None => return Ok(Vec::new()),