diff --git a/src/index.tsx b/src/index.tsx index 8abde923..fa5768be 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -39,7 +39,12 @@ export interface ReactDiffViewerProps { // Show only diff between the two values. showDiffOnly?: boolean; // Render prop to format final string before displaying them in the UI. - renderContent?: (source: string) => JSX.Element; + renderContent?: ( + source: string, + lineNumber: number, + type: DiffType, + prefix: LineNumberPrefix + ) => JSX.Element; // Render prop to format code fold message. codeFoldMessageRenderer?: ( totalFoldedLines: number, @@ -172,10 +177,19 @@ class DiffViewer extends React.Component JSX.Element, + prefix: LineNumberPrefix, + lineNumber: number, + renderer?: ( + chunk: string, + lineNumber: number, + type: DiffType, + prefix: LineNumberPrefix + ) => JSX.Element, ): JSX.Element[] => { return diffArray.map( (wordDiff, i): JSX.Element => { @@ -187,7 +201,12 @@ class DiffViewer extends React.Component - {renderer ? renderer(wordDiff.value as string) : wordDiff.value} + {renderer ? renderer( + wordDiff.value as string, + lineNumber, + wordDiff.type, + prefix, + ) : wordDiff.value} ); }, @@ -222,10 +241,13 @@ class DiffViewer extends React.Component