MCPcopy Index your code
hub / github.com/Macuyiko/minecraft-python / Folding

Function Folding

ServerEditorWeb/ace/ace.js:7172–7896  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7170var TokenIterator = require("../token_iterator").TokenIterator;
7171
7172function Folding() {
7173 this.getFoldAt = function(row, column, side) {
7174 var foldLine = this.getFoldLine(row);
7175 if (!foldLine)
7176 return null;
7177
7178 var folds = foldLine.folds;
7179 for (var i = 0; i < folds.length; i++) {
7180 var fold = folds[i];
7181 if (fold.range.contains(row, column)) {
7182 if (side == 1 && fold.range.isEnd(row, column)) {
7183 continue;
7184 } else if (side == -1 && fold.range.isStart(row, column)) {
7185 continue;
7186 }
7187 return fold;
7188 }
7189 }
7190 };
7191 this.getFoldsInRange = function(range) {
7192 var start = range.start;
7193 var end = range.end;
7194 var foldLines = this.$foldData;
7195 var foundFolds = [];
7196
7197 start.column += 1;
7198 end.column -= 1;
7199
7200 for (var i = 0; i < foldLines.length; i++) {
7201 var cmp = foldLines[i].range.compareRange(range);
7202 if (cmp == 2) {
7203 continue;
7204 }
7205 else if (cmp == -2) {
7206 break;
7207 }
7208
7209 var folds = foldLines[i].folds;
7210 for (var j = 0; j < folds.length; j++) {
7211 var fold = folds[j];
7212 cmp = fold.range.compareRange(range);
7213 if (cmp == -2) {
7214 break;
7215 } else if (cmp == 2) {
7216 continue;
7217 } else
7218 if (cmp == 42) {
7219 break;
7220 }
7221 foundFolds.push(fold);
7222 }
7223 }
7224 start.column -= 1;
7225 end.column += 1;
7226
7227 return foundFolds;
7228 };
7229

Callers

nothing calls this directly

Calls 1

maxMethod · 0.80

Tested by

no test coverage detected