Skip to content

Commit cbbc7e1

Browse files
mmahroussfda-odoo
authored andcommitted
[IMP] skip definition model class on current class
1 parent 35962b3 commit cbbc7e1

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

server/src/features/definition.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,15 @@ impl DefinitionFeature {
6565
};
6666
let mut model_found = false;
6767
let from_module = file_symbol.borrow().find_module();
68-
for class_symbol_rc in model.borrow().get_symbols(session, from_module.clone()){
68+
let classes = model.borrow().get_symbols(session, from_module.clone());
69+
let len_classes = classes.len();
70+
for class_symbol_rc in classes {
6971
let class_symbol = class_symbol_rc.borrow();
72+
if let (Some(eval_range), Some(class_file)) = (eval.range, class_symbol.get_file().and_then(|file_sym_weak| file_sym_weak.upgrade())) {
73+
if Rc::ptr_eq(file_symbol, &class_file) && class_symbol.range().contains(eval_range.start()) && len_classes > 1{
74+
continue; // if we are already on the class, skip, unless it is the only result
75+
}
76+
}
7077
if let Some(model_file_sym) = class_symbol.get_file().and_then(|model_file_sym_weak| model_file_sym_weak.upgrade()){
7178
let path = model_file_sym.borrow().paths()[0].clone();
7279
let range = session.sync_odoo.get_file_mgr().borrow().text_range_to_range(session, &path, &class_symbol.range());

0 commit comments

Comments
 (0)