public int?GetLineNumber(string fullFilePath, int fileLineNumber, FileNumberBasis targetBasis) { if (fullFilePath == null) { return(null); } else { return(fileLineNumber); } }
public static int GetLineNumber(string[] local, string[] remote, int lineNumber, FileNumberBasis targetBasis) { var changes = Microsoft.TeamFoundation.Diff.DiffFinder <string> .LcsDiff.Diff(remote, local, EqualityComparer <string> .Default); var localLineNumber = 0; var serverLineNumber = 0; if (targetBasis == FileNumberBasis.Server) { foreach (var change in changes) { if (lineNumber < change.ModifiedStart) { break; } else if (lineNumber > change.ModifiedEnd) { localLineNumber = change.ModifiedEnd; serverLineNumber = change.OriginalEnd; } else { return(change.OriginalStart); } } return(lineNumber + (serverLineNumber - localLineNumber)); } else { foreach (var change in changes) { if (lineNumber < change.OriginalStart) { break; } else if (lineNumber > change.OriginalEnd) { localLineNumber = change.ModifiedEnd; serverLineNumber = change.OriginalEnd; } else { return(change.ModifiedStart); } } return(lineNumber + (localLineNumber - serverLineNumber)); } }
public int?GetLineNumber(string fullFilePath, int fileLineNumber, FileNumberBasis targetBasis) { return(null); }