use luaur_ast::records::position::Position;
use luaur_common::macros::luau_assert::LUAU_ASSERT;
use crate::type_aliases::module_ptr_module::ModulePtr;
use crate::type_aliases::scope_ptr_type::ScopePtr;
pub fn find_closest_scope(module: &ModulePtr, scope_pos: &Position) -> ScopePtr {
LUAU_ASSERT!(module.has_module_scope());
let mut closest: ScopePtr = module.get_module_scope();
for (_loc, sc) in &module.scopes {
if sc.location.contains(*scope_pos) && closest.location.begin <= sc.location.begin {
closest = sc.clone();
}
}
closest
}