public void CanLoadConfigFileWithMissingSettings()
        {
            var configFile = ConfigFileLoader.LoadAndMergeConfigFile(Path.GetFullPath(@"Options\Assets\Folder2"));

            Assert.Empty(configFile.HlslPreprocessorDefinitions);
            Assert.Empty(configFile.HlslAdditionalIncludeDirectories);
        }
Example #2
0
 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);
     }));
 }
Example #3
0
        // 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)));
        }
Example #4
0
        // 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);
        }