فهرست منبع

Only apply doc changes, not fold changes in undo manager

James Allen 10 سال پیش
والد
کامیت
d32a7d0a94
1فایلهای تغییر یافته به همراه12 افزوده شده و 9 حذف شده
  1. 12 9
      services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee

+ 12 - 9
services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee

@@ -207,16 +207,19 @@ define [
 			return doc.split("\n")
 
 		_aceDeltaSetsToSimpleDeltaSets: (aceDeltaSets, docLines) ->
+			simpleDeltaSets = []
 			for deltaSet in aceDeltaSets
-				simpleDeltas = []
-				for delta in deltaSet.deltas
-					simpleDeltas.push @_aceDeltaToSimpleDelta(delta, docLines)
-					docLines = @_applyAceDeltasToDocLines([delta], docLines)
-				{
-					deltas: simpleDeltas
-					group: deltaSet.group
-				}
-			
+				if deltaSet.group == "doc" # ignore fold changes
+					simpleDeltas = []
+					for delta in deltaSet.deltas
+						simpleDeltas.push @_aceDeltaToSimpleDelta(delta, docLines)
+						docLines = @_applyAceDeltasToDocLines([delta], docLines)
+					simpleDeltaSets.push {
+						deltas: simpleDeltas
+						group: deltaSet.group
+					}
+			return simpleDeltaSets
+
 		_simpleDeltaSetsToAceDeltaSets: (simpleDeltaSets, docLines) ->
 			for deltaSet in simpleDeltaSets
 				aceDeltas = []