UNPKG

wix-storybook-utils

Version:

Utilities for automated component documentation within Storybook

41 lines 1.63 kB
import * as CodeMirror from 'codemirror'; export var completeAfter = function (codemirror, predicate) { if (!predicate || predicate()) { setTimeout(function () { if (!codemirror.state.completionActive) { codemirror.showHint({ completeSingle: false }); } }, 100); } return CodeMirror.Pass; }; export var completeIfInTag = function (codemirror, ignoreAutocomplete) { return completeAfter(codemirror, function () { var token = codemirror.getTokenAt(codemirror.getCursor()); if (ignoreAutocomplete || (token.type === 'string' && (!/['"]/.test(token.string.charAt(token.string.length - 1)) || token.string.length === 1))) { return false; } var inner = CodeMirror.innerMode(codemirror.getMode(), token.state).state; return inner.tagName; }); }; export var completeIfInTagNewAttribute = function (codemirror) { var _a = codemirror.getCursor(), line = _a.line, ch = _a.ch; var nextChar = codemirror.getRange({ line: line, ch: ch }, { line: line, ch: ch + 1 }); var enableAutocomplete = !nextChar || /[\s>]/.test(nextChar); return completeIfInTag(codemirror, !enableAutocomplete); }; export var handleIndentation = function (codemirror) { if (codemirror.somethingSelected()) { codemirror.indentSelection('add'); } else { var indent = codemirror.getOption('indentUnit'); var spaces = Array(indent + 1).join(' '); codemirror.replaceSelection(spaces); } }; //# sourceMappingURL=autocomplete-utils.js.map