Skip to content

Commit 4a07c56

Browse files
committed
Fix regression in DataModel autocompletion and friends
Fixes #345
1 parent 8010ce7 commit 4a07c56

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

77
## [Unreleased]
88

9+
### Fixed
10+
11+
- Fixed regression in DataModel item autocompletion
12+
913
## [1.19.0] - 2023-04-26
1014

1115
### Deprecated

src/LuauExt.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,11 @@ void registerInstanceTypes(Luau::Frontend& frontend, const Luau::GlobalTypes& gl
481481
}
482482

483483
// Prepare module scope so that we can dynamically reassign the type of "script" to retrieve instance info
484-
frontend.prepareModuleScope = [&, expressiveTypes](const Luau::ModuleName& name, const Luau::ScopePtr& scope, bool forAutocomplete)
484+
frontend.prepareModuleScope = [&frontend, &fileResolver, &arena, expressiveTypes](
485+
const Luau::ModuleName& name, const Luau::ScopePtr& scope, bool forAutocomplete)
485486
{
487+
Luau::GlobalTypes& globals = forAutocomplete ? frontend.globalsForAutocomplete : frontend.globals;
488+
486489
// TODO: we hope to remove these in future!
487490
if (!expressiveTypes && !forAutocomplete)
488491
{
@@ -491,12 +494,10 @@ void registerInstanceTypes(Luau::Frontend& frontend, const Luau::GlobalTypes& gl
491494
scope->bindings[Luau::AstName("game")] = Luau::Binding{globals.builtinTypes->anyType};
492495
}
493496

494-
if (auto node =
495-
fileResolver.isVirtualPath(name) ? fileResolver.getSourceNodeFromVirtualPath(name) : fileResolver.getSourceNodeFromRealPath(name))
496-
{
497-
if (expressiveTypes)
497+
if (expressiveTypes)
498+
if (auto node =
499+
fileResolver.isVirtualPath(name) ? fileResolver.getSourceNodeFromVirtualPath(name) : fileResolver.getSourceNodeFromRealPath(name))
498500
scope->bindings[Luau::AstName("script")] = Luau::Binding{getSourcemapType(globals, arena, node.value())};
499-
}
500501
};
501502
}
502503

src/Workspace.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ bool WorkspaceFolder::updateSourceMap()
147147
instanceTypes.clear();
148148
types::registerInstanceTypes(frontend, frontend.globals, instanceTypes, fileResolver,
149149
/* expressiveTypes: */ config.diagnostics.strictDatamodelTypes);
150+
types::registerInstanceTypes(frontend, frontend.globalsForAutocomplete, instanceTypes, fileResolver,
151+
/* expressiveTypes: */ true);
150152

151153
return true;
152154
}

0 commit comments

Comments
 (0)