Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Roblox
GitHub Repository: Roblox/luau
Path: blob/master/CLI/include/Luau/AnalyzeRequirer.h
2727 views
1
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
2
#pragma once
3
4
#include "Luau/RequireNavigator.h"
5
#include "Luau/VfsNavigator.h"
6
7
struct FileNavigationContext : Luau::Require::NavigationContext
8
{
9
using NavigateResult = Luau::Require::NavigationContext::NavigateResult;
10
using ConfigStatus = Luau::Require::NavigationContext::ConfigStatus;
11
12
FileNavigationContext(std::string requirerPath);
13
14
// Navigation interface
15
NavigateResult resetToRequirer() override;
16
NavigateResult jumpToAlias(const std::string& path) override;
17
18
NavigateResult toParent() override;
19
NavigateResult toChild(const std::string& component) override;
20
21
ConfigStatus getConfigStatus() const override;
22
ConfigBehavior getConfigBehavior() const override;
23
std::optional<std::string> getAlias(const std::string& alias) const override;
24
std::optional<std::string> getConfig() const override;
25
26
// Custom capabilities
27
bool isModulePresent() const;
28
std::optional<std::string> getIdentifier() const;
29
30
private:
31
std::string requirerPath;
32
VfsNavigator vfs;
33
};
34
35