// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details #pragma once #include "Luau/Ast.h" #include "Luau/Parser.h" #include "Luau/Autocomplete.h" #include "Luau/DenseHash.h" #include "Luau/Module.h" #include #include namespace Luau { struct FragmentAutocompleteAncestryResult { DenseHashMap localMap{AstName()}; std::vector localStack; std::vector ancestry; AstStat* nearestStatement = nullptr; }; struct FragmentParseResult { std::string fragmentToParse; AstStatBlock* root = nullptr; std::vector ancestry; std::unique_ptr alloc = std::make_unique(); }; FragmentAutocompleteAncestryResult findAncestryForFragmentParse(AstStatBlock* root, const Position& cursorPos); FragmentParseResult parseFragment(const SourceModule& srcModule, std::string_view src, const Position& cursorPos); AutocompleteResult fragmentAutocomplete( Frontend& frontend, std::string_view src, const ModuleName& moduleName, Position& cursorPosition, StringCompletionCallback callback ); } // namespace Luau