Inheritance: ISpellingDictionary
        public ISpellingDictionary GetDictionary(ITextBuffer buffer)
        {
            ISpellingDictionary service;

            if (buffer.Properties.TryGetProperty(typeof(SpellingDictionaryService), out service))
            {
                return(service);
            }

            if (GlobalDictionary == null)
            {
                GlobalDictionary = new GlobalDictionary();
            }

            List <ISpellingDictionary> bufferSpecificDictionaries = new List <ISpellingDictionary>();

            foreach (var provider in BufferSpecificDictionaryProviders)
            {
                var dictionary = provider.Value.GetDictionary(buffer);
                if (dictionary != null)
                {
                    bufferSpecificDictionaries.Add(dictionary);
                }
            }

            service = new SpellingDictionaryService(bufferSpecificDictionaries, GlobalDictionary);
            buffer.Properties[typeof(SpellingDictionaryService)] = service;

            return(service);
        }
        public ISpellingDictionary GetDictionary(ITextBuffer buffer)
        {
            ISpellingDictionary service;
            if (buffer.Properties.TryGetProperty(typeof(SpellingDictionaryService), out service))
                return service;

            if (GlobalDictionary == null)
                GlobalDictionary = new GlobalDictionary();

            List<ISpellingDictionary> bufferSpecificDictionaries = new List<ISpellingDictionary>();

            foreach (var provider in BufferSpecificDictionaryProviders)
            {
                var dictionary = provider.Value.GetDictionary(buffer);
                if (dictionary != null)
                    bufferSpecificDictionaries.Add(dictionary);
            }

            service = new SpellingDictionaryService(bufferSpecificDictionaries, GlobalDictionary);
            buffer.Properties[typeof(SpellingDictionaryService)] = service;

            return service;
        }
 internal void RegisterSpellingDictionaryService(SpellingDictionaryService dictionary)
 {
     _registeredDictionaries.Add(new WeakReference(dictionary));
 }
 internal void RegisterSpellingDictionaryService(SpellingDictionaryService dictionary)
 {
     _registeredDictionaries.Add(new WeakReference(dictionary));
 }