|
91 | 91 | }, |
92 | 92 |
|
93 | 93 | 'inline': { |
| 94 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
94 | 95 | pattern: withModifier(/(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])<MOD>*.+?\2(?![a-zA-Z\d])/.source), |
95 | 96 | lookbehind: true, |
96 | 97 | inside: { |
97 | 98 | // Note: superscripts and subscripts are not handled specifically |
98 | 99 |
|
99 | 100 | // *bold*, **bold** |
100 | 101 | 'bold': { |
| 102 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
101 | 103 | pattern: withModifier(/(^(\*\*?)<MOD>*).+?(?=\2)/.source), |
102 | 104 | lookbehind: true |
103 | 105 | }, |
104 | 106 |
|
105 | 107 | // _italic_, __italic__ |
106 | 108 | 'italic': { |
| 109 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
107 | 110 | pattern: withModifier(/(^(__?)<MOD>*).+?(?=\2)/.source), |
108 | 111 | lookbehind: true |
109 | 112 | }, |
110 | 113 |
|
111 | 114 | // ??cite?? |
112 | 115 | 'cite': { |
| 116 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
113 | 117 | pattern: withModifier(/(^\?\?<MOD>*).+?(?=\?\?)/.source), |
114 | 118 | lookbehind: true, |
115 | 119 | alias: 'string' |
116 | 120 | }, |
117 | 121 |
|
118 | 122 | // @code@ |
119 | 123 | 'code': { |
| 124 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
120 | 125 | pattern: withModifier(/(^@<MOD>*).+?(?=@)/.source), |
121 | 126 | lookbehind: true, |
122 | 127 | alias: 'keyword' |
123 | 128 | }, |
124 | 129 |
|
125 | 130 | // +inserted+ |
126 | 131 | 'inserted': { |
| 132 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
127 | 133 | pattern: withModifier(/(^\+<MOD>*).+?(?=\+)/.source), |
128 | 134 | lookbehind: true |
129 | 135 | }, |
130 | 136 |
|
131 | 137 | // -deleted- |
132 | 138 | 'deleted': { |
| 139 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
133 | 140 | pattern: withModifier(/(^-<MOD>*).+?(?=-)/.source), |
134 | 141 | lookbehind: true |
135 | 142 | }, |
136 | 143 |
|
137 | 144 | // %span% |
138 | 145 | 'span': { |
| 146 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
139 | 147 | pattern: withModifier(/(^%<MOD>*).+?(?=%)/.source), |
140 | 148 | lookbehind: true |
141 | 149 | }, |
|
168 | 176 | // "text":http://example.com |
169 | 177 | // "text":link-ref |
170 | 178 | 'link': { |
| 179 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
171 | 180 | pattern: withModifier(/"<MOD>*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source), |
172 | 181 | inside: { |
173 | 182 | 'text': { |
| 183 | + // eslint-disable-next-line regexp/no-super-linear-backtracking |
174 | 184 | pattern: withModifier(/(^"<MOD>*)[^"]+(?=")/.source), |
175 | 185 | lookbehind: true |
176 | 186 | }, |
|
0 commit comments