示例#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);
                        }
                    }
                }
            }
        }
示例#2
0
        private void listProfilePaths()
        {
            var profileLocator = new ProfileLocator(Environment.CurrentDirectory);

            foreach (var path in profileLocator.GetPathsCurrentProfiles())
            {
                Console.WriteLine(path);
            }
        }
示例#3
0
        public List <Snippet> GetSnippets()
        {
            var list    = new List <Snippet>();
            var locator = new ProfileLocator(_token);
            var paths   = locator.GetPathsCurrentProfiles();

            foreach (var path in paths)
            {
                var dir = System.IO.Path.Combine(path, "snippets");
                if (Directory.Exists(dir))
                {
                    addFiles(list, dir);
                }
                scanLanguages(list, path);
            }
            return(list);
        }