public void CanLoadConfigFileWithMissingSettings() { var configFile = ConfigFileLoader.LoadAndMergeConfigFile(Path.GetFullPath(@"Options\Assets\Folder2")); Assert.Empty(configFile.HlslPreprocessorDefinitions); Assert.Empty(configFile.HlslAdditionalIncludeDirectories); }
public static ConfigFile GetConfigFile(this ITextBuffer textBuffer) { return(textBuffer.Properties.GetOrCreateSingletonProperty(ConfigFileKey, () => { var filePath = textBuffer.GetTextDocument()?.FilePath; if (filePath != null) { filePath = Path.GetDirectoryName(filePath); } return ConfigFileLoader.LoadAndMergeConfigFile(filePath); })); }
// TODO: Refactor this. public ConfigFile LoadConfigFile(SourceFile file) { var directory = Path.GetDirectoryName(file.FilePath); if (string.IsNullOrEmpty(directory)) { return(new ConfigFile()); } return(ImmutableInterlocked.GetOrAdd( ref _configFiles, directory.ToLower(), x => ConfigFileLoader.LoadAndMergeConfigFile(x))); }
// TODO: Refactor this. public ConfigFile LoadConfigFile(SourceText sourceText) { var directory = Path.GetDirectoryName(sourceText.FilePath); if (directory == null) { return(new ConfigFile()); } return(ImmutableInterlocked.GetOrAdd( ref _configFiles, directory.ToLower(), x => ConfigFileLoader.LoadAndMergeConfigFile(x))); }
public void CanLoadConfigFile() { var configFile = ConfigFileLoader.LoadAndMergeConfigFile(Path.GetFullPath(@"Options\Assets\ChildFolder\GrandchildFolder")); Assert.Equal( new Dictionary <string, string> { { "MY_DEFINE", "1" }, { "MY_OTHER_DEFINE", "2" } }, configFile.HlslPreprocessorDefinitions); var workingDirectory = Path.GetFullPath(@"Options\Assets"); Assert.Equal( new string[] { Path.Combine(workingDirectory, "ChildFolder", "Bar"), Path.Combine(workingDirectory, "ChildFolder", "Foo"), Path.Combine(workingDirectory, "ChildFolder"), workingDirectory }, configFile.HlslAdditionalIncludeDirectories); }