protected RapidXamlDisplayedTag(TagDependencies deps, string errorCode, TagErrorType defaultErrorType) : base(deps.Span, deps.Snapshot, deps.FileName, deps.Logger) { if (deps.Span.Start > deps.Snapshot.Length) { if (deps.Snapshot.Length > 0) { deps.Logger?.RecordError( $"Span calculated outside snapshot for ErrorCode={errorCode}", deps.TelemetryProperties); } // Reset the span location to something that's definitely valid deps.Span = new Span(0, 0); } var line = deps.Snapshot.GetLineFromPosition(deps.Span.Start); var col = deps.Span.Start - line.Start.Position; this.ErrorCode = errorCode; this.Line = line.LineNumber; this.Column = col; this.DefaultErrorType = defaultErrorType; this.VsPfp = deps.VsPfp; this.ProjectFilePath = deps.ProjectFilePath; this.MoreInfoUrl = deps.MoreInfoUrl; this.CustomFeatureUsageOverride = deps.FeatureUsageOverride; }
protected RapidXamlDisplayedTag(TagDependencies deps, string errorCode, TagErrorType defaultErrorType) : base(deps.Span, deps.Snapshot, deps.FileName, deps.Logger) { var line = deps.Snapshot.GetLineFromPosition(deps.Span.Start); var col = deps.Span.Start - line.Start.Position; this.ErrorCode = errorCode; this.Line = line.LineNumber; this.Column = col; this.DefaultErrorType = defaultErrorType; this.VsAbstraction = deps.VsAbstraction; this.ProjectFilePath = deps.ProjectFilePath; this.MoreInfoUrl = deps.MoreInfoUrl; this.CustomFeatureUsageOverride = deps.FeatureUsageOverride; }
public static bool TryParse(string value, out TagErrorType tagErrorType) { try { // Could potentially happen with a corrupt/invalid settings file. if (string.IsNullOrWhiteSpace(value)) { // Most tags are warnings so return that but caller shouldn't use as this returns false. tagErrorType = TagErrorType.Warning; return(false); } switch (value.Trim().ToLowerInvariant()) { case "error": tagErrorType = TagErrorType.Error; break; case "warning": tagErrorType = TagErrorType.Warning; break; case "suggestion": tagErrorType = TagErrorType.Suggestion; break; case "hidden": case "none": tagErrorType = TagErrorType.Hidden; break; default: tagErrorType = TagErrorType.Hidden; return(false); } return(true); } catch (System.Exception exc) { SharedRapidXamlPackage.Logger?.RecordException(exc); tagErrorType = TagErrorType.Hidden; return(false); } }
public static string AsVsAdornmentErrorType(this TagErrorType source) { switch (source) { case TagErrorType.Error: return(PredefinedErrorTypeNames.OtherError); case TagErrorType.Suggestion: return(PredefinedErrorTypeNames.Suggestion); case TagErrorType.Hidden: // Need to return something that won't cause a problem for the editor. // Shouldn't be creating tags for things that are hidden so shouldn't ever get here. return(PredefinedErrorTypeNames.HintedSuggestion); case TagErrorType.Warning: default: return(PredefinedErrorTypeNames.Warning); } }
protected RapidXamlDisplayedTag(Span span, ITextSnapshot snapshot, string fileName, string errorCode, TagErrorType defaultErrorType, ILogger logger) : base(span, snapshot, fileName, logger) { var line = snapshot.GetLineFromPosition(span.Start); var col = span.Start - line.Start.Position; this.ErrorCode = errorCode; this.Line = line.LineNumber; this.Column = col; this.DefaultErrorType = defaultErrorType; }
protected MissingDefinitionTag(Span span, ITextSnapshot snapshot, string fileName, string errorCode, TagErrorType defaultErrorType, ILogger logger) : base(span, snapshot, fileName, errorCode, defaultErrorType, logger) { }
protected RapidXamlDisplayedTag(Span span, ITextSnapshot snapshot, string fileName, string errorCode, TagErrorType defaultErrorType, ILogger logger, string moreInfoUrl = null, string featureUsageOverride = null) : base(span, snapshot, fileName, logger) { var line = snapshot.GetLineFromPosition(span.Start); var col = span.Start - line.Start.Position; this.ErrorCode = errorCode; this.Line = line.LineNumber; this.Column = col; this.DefaultErrorType = defaultErrorType; this.MoreInfoUrl = moreInfoUrl; this.CustomFeatureUsageOverride = featureUsageOverride; }
protected MissingDefinitionTag(TagDependencies tagDeps, string errorCode, TagErrorType defaultErrorType) : base(tagDeps, errorCode, defaultErrorType) { }