private void RemoveErrors(TextDocument document) { List <Error> errors; if (_errorLists.TryGetValue(document, out errors)) { document.ErrorMarkers.Clear(); foreach (var error in errors) { _errorService?.Errors.Remove(error); } _errorLists.Remove(document); } }
private void AddErrors(TextDocument document, List <Error> newErrors, bool success) { if (success && (newErrors == null || newErrors.Count == 0)) { return; } List <Error> errors; if (!_errorLists.TryGetValue(document, out errors)) { errors = new List <Error>(); _errorLists.Add(document, errors); } bool foundErrorMessage = false; foreach (var error in newErrors) { _errorService?.Errors.Add(error); errors.Add(error); MarkError(error); if (error.ErrorType == ErrorType.Error) { foundErrorMessage = true; } } // If we did not find a useful error message we write a generic one. if (!success && !foundErrorMessage) { var error = new Error( ErrorType.Error, "Could not build effect. See Output window for more information.", DocumentHelper.GetName(document)); _errorService?.Errors.Add(error); errors.Add(error); } _errorLists[document] = errors; _errorService?.Show(); }