@@ -23,7 +23,7 @@ import { Progressing } from '@Common/Progressing'
2323
2424import { useCodeEditorContext } from './CodeEditor.context'
2525import { CodeEditorRendererProps } from './types'
26- import { getCodeEditorHeight , getRevertControlButton , updateDiffMinimapValues } from './utils'
26+ import { getCodeEditorHeight , getRevertControlButton , getScanLimit , updateDiffMinimapValues } from './utils'
2727import { DiffMinimap } from './Extensions'
2828
2929export const CodeEditorRenderer = ( {
@@ -180,6 +180,8 @@ export const CodeEditorRenderer = ({
180180 useEffect ( ( ) => {
181181 // DIFF VIEW INITIALIZATION
182182 if ( ! loading && codeMirrorMergeParentRef . current ) {
183+ const scanLimit = getScanLimit ( lhsValue , value )
184+
183185 codeMirrorMergeInstance ?. destroy ( )
184186
185187 const codeMirrorMergeView = new MergeView ( {
@@ -192,7 +194,7 @@ export const CodeEditorRenderer = ({
192194 extensions : [ ...modifiedViewExtensions , modifiedUpdateListener ] ,
193195 } ,
194196 ...( ! readOnly ? { revertControls : 'a-to-b' , renderRevertControl : getRevertControlButton } : { } ) ,
195- diffConfig : { scanLimit : 5000 } ,
197+ diffConfig : { scanLimit, timeout : 5000 } ,
196198 parent : codeMirrorMergeParentRef . current ,
197199 } )
198200 setCodeMirrorMergeInstance ( codeMirrorMergeView )
@@ -212,7 +214,7 @@ export const CodeEditorRenderer = ({
212214 extensions : diffMinimapExtensions ,
213215 } ,
214216 gutter : false ,
215- diffConfig : { scanLimit : 5000 } ,
217+ diffConfig : { scanLimit, timeout : 5000 } ,
216218 parent : diffMinimapParentRef . current ,
217219 } )
218220
@@ -272,6 +274,11 @@ export const CodeEditorRenderer = ({
272274
273275 return diffMode ? (
274276 < div className = { `flexbox w-100 ${ componentSpecificThemeClass } ${ codeEditorParentClassName } ` } >
277+ { ! codeMirrorMergeInstance && (
278+ < div className = "flex h-100 w-100" >
279+ < p > Calculating diff for large file. Please wait...</ p >
280+ </ div >
281+ ) }
275282 < div
276283 ref = { codeMirrorMergeParentRef }
277284 className = { `cm-merge-theme flex-grow-1 h-100 dc__overflow-hidden ${ readOnly ? 'code-editor__read-only' : '' } ` }
0 commit comments