a7e391c3525eb3f8026867486479e107.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ace.define("ace/ext/simple_tokenizer",["require","exports","module","ace/tokenizer","ace/layer/text_util"], function(require, exports, module){"use strict";
  2. var Tokenizer = require("../tokenizer").Tokenizer;
  3. var isTextToken = require("../layer/text_util").isTextToken;
  4. var SimpleTokenizer = /** @class */ (function () {
  5. function SimpleTokenizer(content, tokenizer) {
  6. this._lines = content.split(/\r\n|\r|\n/);
  7. this._states = [];
  8. this._tokenizer = tokenizer;
  9. }
  10. SimpleTokenizer.prototype.getTokens = function (row) {
  11. var line = this._lines[row];
  12. var previousState = this._states[row - 1];
  13. var data = this._tokenizer.getLineTokens(line, previousState);
  14. this._states[row] = data.state;
  15. return data.tokens;
  16. };
  17. SimpleTokenizer.prototype.getLength = function () {
  18. return this._lines.length;
  19. };
  20. return SimpleTokenizer;
  21. }());
  22. function tokenize(content, highlightRules) {
  23. var tokenizer = new SimpleTokenizer(content, new Tokenizer(highlightRules.getRules()));
  24. var result = [];
  25. for (var lineIndex = 0; lineIndex < tokenizer.getLength(); lineIndex++) {
  26. var lineTokens = tokenizer.getTokens(lineIndex);
  27. result.push(lineTokens.map(function (token) { return ({
  28. className: isTextToken(token.type) ? undefined : "ace_" + token.type.replace(/\./g, " ace_"),
  29. value: token.value
  30. }); }));
  31. }
  32. return result;
  33. }
  34. exports.tokenize = tokenize;
  35. }); (function() {
  36. ace.require(["ace/ext/simple_tokenizer"], function(m) {
  37. if (typeof module == "object" && typeof exports == "object" && module) {
  38. module.exports = m;
  39. }
  40. });
  41. })();