MCPcopy
hub / github.com/ajaxorg/ace / foldUnchanged

Method foldUnchanged

src/ext/diff/base_diff_view.js:152–181  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

150 }
151
152 foldUnchanged() {
153 var chunks = this.chunks;
154 var placeholder = "-".repeat(120);
155 var prev = {
156 old: new Range(0, 0, 0, 0),
157 new: new Range(0, 0, 0, 0)
158 };
159 var foldsChanged = false;
160 for (var i = 0; i < chunks.length + 1; i++) {
161 let current = chunks[i] || {
162 old: new Range(this.sessionA.getLength(), 0, this.sessionA.getLength(), 0),
163 new: new Range(this.sessionB.getLength(), 0, this.sessionB.getLength(), 0)
164 };
165 var l = current.new.start.row - prev.new.end.row - 5;
166 if (l > 2) {
167 var s = prev.old.end.row + 2;
168 var fold1 = this.sessionA.addFold(placeholder, new Range(s, 0, s + l, Number.MAX_VALUE));
169 s = prev.new.end.row + 2;
170 var fold2 = this.sessionB.addFold(placeholder, new Range(s, 0, s + l, Number.MAX_VALUE));
171 if (fold1 || fold2) foldsChanged = true;
172 if (fold2 && fold1) {
173 fold1["other"] = fold2;
174 fold2["other"] = fold1;
175 }
176 }
177
178 prev = current;
179 }
180 return foldsChanged;
181 }
182
183 unfoldUnchanged() {
184 var folds = this.sessionA.getAllFolds();

Callers 2

toggleFoldUnchangedMethod · 0.95
onInputMethod · 0.95

Calls 2

addFoldMethod · 0.65
getLengthMethod · 0.45

Tested by

no test coverage detected