Get() public method

public Get ( string args ) : DefinitionCacheItem
args string
return DefinitionCacheItem
Exemplo n.º 1
0
        public void Build(bool updateDefinitions)
        {
            _cache = new DefinitionCache();
            var profiles = new ProfileLocator(_token);

            mergeBuiltInCommands(updateDefinitions, profiles);
            // Reverse paths to handle global first then local
            var paths = profiles.GetPathsCurrentProfiles().Reverse().ToArray();

            foreach (var path in paths)
            {
                mergeExternalCommands(updateDefinitions, path);
            }

            // Add default language
            if (_defaultLanguage != null)
            {
                var lang = _cache.Get(new[] { _defaultLanguage });
                if (lang != null)
                {
                    var parameters = lang.Parameters;
                    foreach (var usage in parameters)
                    {
                        // Don't override existing commands with default language
                        if (_cache.Get(new[] { usage.Name }) == null)
                        {
                            _cache.Add(usage);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 public void Can_find_added_command()
 {
     var type = DefinitionCacheItemType.Script;
     var time = DateTime.Now;
     var cache = new DefinitionCache();
     cache
         .Add(type, "", time, false, true, "cmd1", "")
             .Append(type, "", time, false, true, "cmd2", "")
                 .Append(type, "", time, false, true, "cmd3", "");
     Assert.That(cache.Get(new[] {"cmd1","cmd2"}).Name, Is.EqualTo("cmd2"));
 }
Exemplo n.º 3
0
 public void Stops_at_first_user_defined_content_command()
 {
     var type = DefinitionCacheItemType.Script;
     var time = DateTime.Now;
     var cache = new DefinitionCache();
     cache
         .Add(type, "", time, false, true, "cmd1", "")
             .Append(type, "", time, false, true, "USER_DEFINED_ARE_UPPER_CASE", "")
                 .Append(type, "", time, false, true, "cmd3", "");
     Assert.That(cache.Get(new[] {"cmd1","bleh","cmd3"}).Name, Is.EqualTo("cmd1"));
 }
Exemplo n.º 4
0
 public void Stops_at_first_optional_argument()
 {
     var type = DefinitionCacheItemType.Script;
     var time = DateTime.Now;
     var cache = new DefinitionCache();
     cache
         .Add(type, "", time, false, true, "cmd1", "")
             .Append(type, "", time, false, true, "cmd2", "")
                 .Append(type, "", time, false, true, "cmd3", "")
                     .Append(type, "", time, false, false, "-g", "");
     Assert.That(cache.Get(new[] {"cmd1", "-g","cmd2","cmd3"}).Name, Is.EqualTo("cmd1"));
 }
Exemplo n.º 5
0
 public void Can_override_existing_command()
 {
     var cache = new DefinitionCache();
     cache
         .Add(DefinitionCacheItemType.BuiltIn, "l1", DateTime.Now, false, true, "cmd1", "")
             .Append(DefinitionCacheItemType.BuiltIn, "l1", DateTime.Now, false, true, "cmd1-1", "");
     cache
         .Add(DefinitionCacheItemType.Script, "l2", DateTime.Now, false, true, "cmd1", "")
             .Append(DefinitionCacheItemType.Script, "l2", DateTime.Now, false, true, "override-1", "");
     var item = cache.Get(new[] { "cmd1" });
     Assert.That(item.Type, Is.EqualTo(DefinitionCacheItemType.Script));
     Assert.That(item.Location, Is.EqualTo("l2"));
     Assert.That(item.Parameters[0].Name, Is.EqualTo("override-1"));
 }
Exemplo n.º 6
0
 public DefinitionCacheItem Get(string[] args)
 {
     return(_cache.Get(args));
 }
Exemplo n.º 7
0
        private DefinitionCache buildDefinitions(string file)
        {
            var cache = new DefinitionCache();
            var dir = Path.GetDirectoryName(file);

            // Add languages
            var languagePath = Path.Combine(dir, "languages");
            LanguagePlugin defaultLanguage = null;
            foreach (var language in _languages(languagePath)) {
                var item = cache.Add(
                    DefinitionCacheItemType.Language,
                    language.FullPath,
                    DateTime.Now,
                    false,
                    true,
                    language.GetLanguage(),
                    "Commands for the " + language.GetLanguage() + " plugin");
                add(cache, item, language.GetUsages());

                var languageScriptPath =
                    Path.Combine(
                        Path.Combine(
                            languagePath, language.GetLanguage() + "-files"),
                            "scripts");
                Logger.Write("Adding scripts from " + languageScriptPath);
                var languageScripts = new ScriptFilter().GetScripts(languageScriptPath);
                foreach (var scriptFile in languageScripts) {
                    Logger.Write("Script " + scriptFile);
                    var script  = new Script(_token, _workingDirectory, scriptFile);
                    var usages = script.Usages; // Description is built when fetching usages
                    var scriptItem = item.Append(
                        DefinitionCacheItemType.LanguageScript,
                        scriptFile,
                        DateTime.Now,
                        false,
                        true,
                        script.Name,
                        script.Description);
                    add(cache, scriptItem, usages);
                }

                if (language.GetLanguage() == _defaultLanguage)
                    defaultLanguage = language;
            }

            // Add scripts
            var scriptPath = Path.Combine(dir, "scripts");
            Logger.Write("Adding scripts from " + scriptPath);
            var scripts = new ScriptFilter().GetScripts(scriptPath);
            foreach (var scriptFile in scripts) {
                Logger.Write("Adding script " + scriptPath);
                var script  = new Script(_token, _workingDirectory, scriptFile);
                var usages = script.Usages; // Description is built when fetching usages
                var item = cache.Add(
                    DefinitionCacheItemType.Script,
                    scriptFile,
                    DateTime.Now,
                    false,
                    true,
                    script.Name,
                    script.Description);
                add(cache, item, usages);
            }

            // Add default language
            if (defaultLanguage != null) {
                var parameters = cache.Get(new[] { defaultLanguage.GetLanguage() }).Parameters;
                foreach (var usage in parameters) {
                    // Don't override existing commands with default language
                    if (cache.Get(new[] { usage.Name }) == null) {
                        var item = cache.Add(
                            usage.Type,
                            usage.Location,
                            DateTime.Now,
                            false,
                            true,
                            usage.Name,
                            usage.Description);
                        add(cache, item, usage.Parameters);
                    }
                }
            }
            writeCache(dir, cache);
            return cache;
        }
Exemplo n.º 8
0
        public void Build(bool updateDefinitions)
        {
            _cache = new DefinitionCache();
            var profiles = new ProfileLocator(_token);

            mergeBuiltInCommands(updateDefinitions, profiles);
            // Reverse paths to handle global first then local
            var paths = profiles.GetPathsCurrentProfiles().Reverse().ToArray();
            foreach (var path in paths)
                mergeExternalCommands(updateDefinitions, path);

            // Add default language
            if (_defaultLanguage != null) {
                var lang = _cache.Get(new[] { _defaultLanguage });
                if (lang != null) {
                    var parameters = lang.Parameters;
                    foreach (var usage in parameters) {
                        // Don't override existing commands with default language
                        if (_cache.Get(new[] { usage.Name }) == null) {
                            _cache.Add(usage);
                        }
                    }
                }
            }
        }