public bool TryAddReference(string reference, SourceSpan span, int line, SourceSpan?errorSpan = null, bool image = false, bool cleanUrl = false, bool autoLink = false, bool namedReferenceLink = false, string label = null) { var result = ProcessRelativePath(reference, out string relativePath); if (result == PathProcessingResult.NotInContext) { ReportPathOutOfContext(reference, errorSpan ?? span); return(false); } else if (result == PathProcessingResult.IsFsSpecific) { ReportPathIsFsSpecific(reference, errorSpan ?? span); return(false); } else { if (result == PathProcessingResult.IsUrl) { ParsingResult.AddReference( new LinkReference( reference, span, line, image, cleanUrl, autoLink, namedReferenceLink, autoLink ? reference : label)); } else { ParsingResult.AddReference( new Reference( reference, relativePath, span, line)); } return(true); } }
public ParsingResult(ParsingResult parsingResult) { Source = parsingResult.Source; SyntaxTree = parsingResult.SyntaxTree; LineStartIndexes = parsingResult.LineStartIndexes; }
private void Parse(string source) { ParsingResult = new ParsingResult(source, Configuration); Parse(); }