Skip to content

Commit aaa90b2

Browse files
committed
feat: upgrade oniguruma-to-js
1 parent d42220e commit aaa90b2

File tree

6 files changed

+369
-715
lines changed

6 files changed

+369
-715
lines changed

docs/references/engine-js-compat.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# JavaScript RegExp Engine Compatibility References
22

3-
> Genreated on Monday, September 9, 2024
3+
> Genreated on Thursday, September 12, 2024
44
>
5-
> Version `1.16.3`
5+
> Version `1.17.0`
66
>
77
> Runtime: Node.js v20.12.2
88
@@ -242,9 +242,9 @@ Languages that throws with the JavaScript RegExp engine (contains syntaxes that
242242
| swift | ❌ Error | 302 | 4 |
243243
| julia | ❌ Error | 90 | 5 |
244244
| kotlin | ❌ Error | 52 | 6 |
245+
| purescript | ❌ Error | 66 | 6 |
245246
| markdown | ❌ Error | 96 | 7 |
246-
| purescript | ❌ Error | 63 | 9 |
247247
| apex | ❌ Error | 173 | 14 |
248+
| haskell | ❌ Error | 136 | 21 |
248249
| cpp | ❌ Error | 198 | 22 |
249250
| csharp | ❌ Error | 263 | 32 |
250-
| haskell | ❌ Error | 113 | 44 |

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
"picocolors": "catalog:",
5353
"pnpm": "catalog:",
5454
"prettier": "catalog:",
55-
"regex": "catalog:",
5655
"rimraf": "catalog:",
5756
"rollup": "catalog:",
5857
"rollup-plugin-copy": "catalog:",

packages/engine-javascript/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
},
3737
"dependencies": {
3838
"@shikijs/types": "workspace:*",
39-
"oniguruma-to-js": "catalog:",
40-
"regex": "catalog:"
39+
"oniguruma-to-js": "catalog:"
4140
}
4241
}

packages/engine-javascript/src/index.ts

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import { onigurumaToRegexp } from 'oniguruma-to-js'
2-
import { rewrite } from 'regex'
31
import type {
42
PatternScanner,
53
RegexEngine,
64
RegexEngineString,
75
} from '@shikijs/types'
6+
import { onigurumaToRegexp } from 'oniguruma-to-js'
87

98
export interface JavaScriptRegexEngineOptions {
109
/**
@@ -31,22 +30,8 @@ const MAX = 4294967295
3130
* The default RegExp constructor for JavaScript regex engine.
3231
*/
3332
export function defaultJavaScriptRegexConstructor(pattern: string): RegExp {
34-
pattern = pattern
35-
// YAML specific handling; TODO: move to tm-grammars
36-
.replaceAll('[^\\s[-?:,\\[\\]{}#&*!|>\'"%@`]]', '[^\\s\\-?:,\\[\\]{}#&*!|>\'"%@`]')
37-
38-
const rewritten = rewrite(pattern, {
39-
flags: 'dgm',
40-
unicodeSetsPlugin: null,
41-
disable: {
42-
n: true,
43-
v: true,
44-
x: true,
45-
},
46-
})
47-
4833
return onigurumaToRegexp(
49-
rewritten.expression,
34+
pattern,
5035
{
5136
flags: 'dgm',
5237
ignoreContiguousAnchors: true,

0 commit comments

Comments
 (0)