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)); }