UNPKG

atom-nuclide

Version:

A unified developer experience for web and mobile development, built as a suite of features on top of Atom to provide hackability and the support of an active community.

42 lines (37 loc) 991 B
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the license found in the LICENSE file in * the root directory of this source tree. */ var _isMarker2; function _isMarker() { return _isMarker2 = _interopRequireDefault(require('./isMarker')); } /** * This returns a list of all the contiguous runs of markers within this set * of lines. Runs are [inclusive, exclusive). */ function buildRuns(lines) { var runs = []; var start = null; for (var i = 0; i < lines.length; i++) { if (!(0, (_isMarker2 || _isMarker()).default)(lines[i])) { if (start != null) { runs.push([start, i]); start = null; } } else { if (start == null) { start = i; } } } if (start != null) { runs.push([start, lines.length]); } return runs; } module.exports = buildRuns;