.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / remark-parse / lib / tokenize / text.js
1 'use strict';
2
3 module.exports = text;
4
5 function text(eat, value, silent) {
6   var self = this;
7   var methods;
8   var tokenizers;
9   var index;
10   var length;
11   var subvalue;
12   var position;
13   var tokenizer;
14   var name;
15   var min;
16   var now;
17
18   /* istanbul ignore if - never used (yet) */
19   if (silent) {
20     return true;
21   }
22
23   methods = self.inlineMethods;
24   length = methods.length;
25   tokenizers = self.inlineTokenizers;
26   index = -1;
27   min = value.length;
28
29   while (++index < length) {
30     name = methods[index];
31
32     if (name === 'text' || !tokenizers[name]) {
33       continue;
34     }
35
36     tokenizer = tokenizers[name].locator;
37
38     if (!tokenizer) {
39       eat.file.fail('Missing locator: `' + name + '`');
40     }
41
42     position = tokenizer.call(self, value, 1);
43
44     if (position !== -1 && position < min) {
45       min = position;
46     }
47   }
48
49   subvalue = value.slice(0, min);
50   now = eat.now();
51
52   self.decode(subvalue, now, function (content, position, source) {
53     eat(source || content)({
54       type: 'text',
55       value: content
56     });
57   });
58 }