import CodeMirror from 'codemirror';
import { codeFolds } from '../../utils/keywords';
var prefix = codeFolds.prefix,
    startWord = codeFolds.startWord,
    endWord = codeFolds.endWord;
/**
 * 「// ここから〇〇」〜「// ここまで〇〇」を fold する
 * @param {CodeMirror} cm
 * @param {CodeMirror.Pos} start
 */

export default function foldAsset(cm, start) {
  if (!cm || !start) return;
  var result = {};
  var text = cm.getLine(start.line);
  var startIndex = text.indexOf(startWord);
  if (startIndex < 0) return; // startWord が見つかった

  result.from = CodeMirror.Pos(start.line, startIndex + startWord.length);
  var keyword = text.substr(startIndex + startWord.length); // 今度は endWord を探す

  var lastLine = cm.lastLine();

  for (var line = start.line + 1; line < lastLine; line++) {
    var _text = cm.getLine(line);

    var endIndex = _text.indexOf(endWord + keyword);

    if (endIndex >= 0) {
      // endWord も見つかった
      result.to = CodeMirror.Pos(line, endIndex + prefix.length);
      break;
    }
  }

  if (result.from && result.to) {
    return result;
  }
}