commonmarker 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcfe5afe736de6389674b8f9dde0ce59c2ef47edad89941fbe484a041bc86897
4
- data.tar.gz: 581c06aee0a9045226dfe92e5fedd1625b9d5c9f8ffdff373930c660426398b8
3
+ metadata.gz: be52deebe50e109769f29b7eab77a0d5c02974c1ce2b435e4ac73bc31afca368
4
+ data.tar.gz: 968471b3c0cca03f9594aaf3ffdc4971a47fe0baa6b4e1c734b8a03a83ef7c82
5
5
  SHA512:
6
- metadata.gz: 966b17cd354ce4e7798b66eca2c73a6363db0a9a3091160614b29cd1b48e1647b4c2b2dd0583dc5ddddf18acd045a99f19ac7505c93132d68a5975aeaa81e716
7
- data.tar.gz: 7b78bfd01e7b53840fe9cd700ca7421320ede39a2cc53ab0edf2cb3def80fe09c8a8bf23b322a8e775b3b45eae8f45496b5f46beedbb3d3e2dca1140f7e0c20a
6
+ metadata.gz: '0282620e926dd8a97d68444e239423e4c0bac4b90cf379afbebcaa8d372aca330525a36efcd96c15e621c3fb39a88921336c8e2f01e39ade06dad0e4a76ef10d'
7
+ data.tar.gz: d8e90f12bc9e9cf1ccb81ae814945cd991845657482bd3d81797aae275db424bd6f2811bc0389a79af1405a3b35ea8affe3ede16c00f005a2bc5024bc083a7a8
data/Cargo.lock CHANGED
@@ -19,47 +19,48 @@ dependencies = [
19
19
 
20
20
  [[package]]
21
21
  name = "anstream"
22
- version = "0.6.13"
22
+ version = "0.6.14"
23
23
  source = "registry+https://github.com/rust-lang/crates.io-index"
24
- checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
24
+ checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
25
25
  dependencies = [
26
26
  "anstyle",
27
27
  "anstyle-parse",
28
28
  "anstyle-query",
29
29
  "anstyle-wincon",
30
30
  "colorchoice",
31
+ "is_terminal_polyfill",
31
32
  "utf8parse",
32
33
  ]
33
34
 
34
35
  [[package]]
35
36
  name = "anstyle"
36
- version = "1.0.6"
37
+ version = "1.0.7"
37
38
  source = "registry+https://github.com/rust-lang/crates.io-index"
38
- checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
39
+ checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
39
40
 
40
41
  [[package]]
41
42
  name = "anstyle-parse"
42
- version = "0.2.3"
43
+ version = "0.2.4"
43
44
  source = "registry+https://github.com/rust-lang/crates.io-index"
44
- checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
45
+ checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
45
46
  dependencies = [
46
47
  "utf8parse",
47
48
  ]
48
49
 
49
50
  [[package]]
50
51
  name = "anstyle-query"
51
- version = "1.0.2"
52
+ version = "1.0.3"
52
53
  source = "registry+https://github.com/rust-lang/crates.io-index"
53
- checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
54
+ checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
54
55
  dependencies = [
55
56
  "windows-sys 0.52.0",
56
57
  ]
57
58
 
58
59
  [[package]]
59
60
  name = "anstyle-wincon"
60
- version = "3.0.2"
61
+ version = "3.0.3"
61
62
  source = "registry+https://github.com/rust-lang/crates.io-index"
62
- checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
63
+ checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
63
64
  dependencies = [
64
65
  "anstyle",
65
66
  "windows-sys 0.52.0",
@@ -97,7 +98,7 @@ dependencies = [
97
98
  "regex",
98
99
  "rustc-hash",
99
100
  "shlex",
100
- "syn 2.0.60",
101
+ "syn",
101
102
  ]
102
103
 
103
104
  [[package]]
@@ -135,9 +136,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
135
136
 
136
137
  [[package]]
137
138
  name = "cc"
138
- version = "1.0.96"
139
+ version = "1.0.98"
139
140
  source = "registry+https://github.com/rust-lang/crates.io-index"
140
- checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd"
141
+ checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
141
142
 
142
143
  [[package]]
143
144
  name = "cexpr"
@@ -184,7 +185,7 @@ dependencies = [
184
185
  "anstream",
185
186
  "anstyle",
186
187
  "clap_lex",
187
- "strsim 0.11.1",
188
+ "strsim",
188
189
  "terminal_size",
189
190
  ]
190
191
 
@@ -197,7 +198,7 @@ dependencies = [
197
198
  "heck",
198
199
  "proc-macro2",
199
200
  "quote",
200
- "syn 2.0.60",
201
+ "syn",
201
202
  ]
202
203
 
203
204
  [[package]]
@@ -208,9 +209,9 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
208
209
 
209
210
  [[package]]
210
211
  name = "colorchoice"
211
- version = "1.0.0"
212
+ version = "1.0.1"
212
213
  source = "registry+https://github.com/rust-lang/crates.io-index"
213
- checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
214
+ checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
214
215
 
215
216
  [[package]]
216
217
  name = "commonmarker"
@@ -226,15 +227,14 @@ dependencies = [
226
227
 
227
228
  [[package]]
228
229
  name = "comrak"
229
- version = "0.23.0"
230
+ version = "0.24.1"
230
231
  source = "registry+https://github.com/rust-lang/crates.io-index"
231
- checksum = "ab5681b26a36dc46800a908f7d932672a4e82f74759419dd4018bf40658457d5"
232
+ checksum = "5a972c8ec1be8065f7b597b5f7f5b3be535db780280644aebdcd1966decf58dc"
232
233
  dependencies = [
233
234
  "clap",
234
235
  "derive_builder",
235
236
  "emojis",
236
237
  "entities",
237
- "in-place",
238
238
  "memchr",
239
239
  "once_cell",
240
240
  "regex",
@@ -248,18 +248,18 @@ dependencies = [
248
248
 
249
249
  [[package]]
250
250
  name = "crc32fast"
251
- version = "1.4.0"
251
+ version = "1.4.2"
252
252
  source = "registry+https://github.com/rust-lang/crates.io-index"
253
- checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
253
+ checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
254
254
  dependencies = [
255
255
  "cfg-if",
256
256
  ]
257
257
 
258
258
  [[package]]
259
259
  name = "darling"
260
- version = "0.14.4"
260
+ version = "0.20.9"
261
261
  source = "registry+https://github.com/rust-lang/crates.io-index"
262
- checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
262
+ checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"
263
263
  dependencies = [
264
264
  "darling_core",
265
265
  "darling_macro",
@@ -267,27 +267,27 @@ dependencies = [
267
267
 
268
268
  [[package]]
269
269
  name = "darling_core"
270
- version = "0.14.4"
270
+ version = "0.20.9"
271
271
  source = "registry+https://github.com/rust-lang/crates.io-index"
272
- checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
272
+ checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"
273
273
  dependencies = [
274
274
  "fnv",
275
275
  "ident_case",
276
276
  "proc-macro2",
277
277
  "quote",
278
- "strsim 0.10.0",
279
- "syn 1.0.109",
278
+ "strsim",
279
+ "syn",
280
280
  ]
281
281
 
282
282
  [[package]]
283
283
  name = "darling_macro"
284
- version = "0.14.4"
284
+ version = "0.20.9"
285
285
  source = "registry+https://github.com/rust-lang/crates.io-index"
286
- checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
286
+ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
287
287
  dependencies = [
288
288
  "darling_core",
289
289
  "quote",
290
- "syn 1.0.109",
290
+ "syn",
291
291
  ]
292
292
 
293
293
  [[package]]
@@ -301,52 +301,52 @@ dependencies = [
301
301
 
302
302
  [[package]]
303
303
  name = "derive_builder"
304
- version = "0.12.0"
304
+ version = "0.20.0"
305
305
  source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
306
+ checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7"
307
307
  dependencies = [
308
308
  "derive_builder_macro",
309
309
  ]
310
310
 
311
311
  [[package]]
312
312
  name = "derive_builder_core"
313
- version = "0.12.0"
313
+ version = "0.20.0"
314
314
  source = "registry+https://github.com/rust-lang/crates.io-index"
315
- checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
315
+ checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d"
316
316
  dependencies = [
317
317
  "darling",
318
318
  "proc-macro2",
319
319
  "quote",
320
- "syn 1.0.109",
320
+ "syn",
321
321
  ]
322
322
 
323
323
  [[package]]
324
324
  name = "derive_builder_macro"
325
- version = "0.12.0"
325
+ version = "0.20.0"
326
326
  source = "registry+https://github.com/rust-lang/crates.io-index"
327
- checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
327
+ checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
328
328
  dependencies = [
329
329
  "derive_builder_core",
330
- "syn 1.0.109",
330
+ "syn",
331
331
  ]
332
332
 
333
333
  [[package]]
334
334
  name = "deunicode"
335
- version = "1.4.4"
335
+ version = "1.6.0"
336
336
  source = "registry+https://github.com/rust-lang/crates.io-index"
337
- checksum = "322ef0094744e63628e6f0eb2295517f79276a5b342a4c2ff3042566ca181d4e"
337
+ checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00"
338
338
 
339
339
  [[package]]
340
340
  name = "either"
341
- version = "1.11.0"
341
+ version = "1.12.0"
342
342
  source = "registry+https://github.com/rust-lang/crates.io-index"
343
- checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
343
+ checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
344
344
 
345
345
  [[package]]
346
346
  name = "emojis"
347
- version = "0.5.3"
347
+ version = "0.6.2"
348
348
  source = "registry+https://github.com/rust-lang/crates.io-index"
349
- checksum = "3407bc749191827d456a282321770847daf4b0a1128fde02597a8ed2e987b95d"
349
+ checksum = "9f619a926616ae7149a0d82610b051134a0d6c4ae2962d990c06c847a445c5d9"
350
350
  dependencies = [
351
351
  "phf",
352
352
  ]
@@ -365,9 +365,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
365
365
 
366
366
  [[package]]
367
367
  name = "errno"
368
- version = "0.3.8"
368
+ version = "0.3.9"
369
369
  source = "registry+https://github.com/rust-lang/crates.io-index"
370
- checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
370
+ checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
371
371
  dependencies = [
372
372
  "libc",
373
373
  "windows-sys 0.52.0",
@@ -383,12 +383,6 @@ dependencies = [
383
383
  "regex",
384
384
  ]
385
385
 
386
- [[package]]
387
- name = "fastrand"
388
- version = "2.1.0"
389
- source = "registry+https://github.com/rust-lang/crates.io-index"
390
- checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
391
-
392
386
  [[package]]
393
387
  name = "flate2"
394
388
  version = "1.0.30"
@@ -429,15 +423,6 @@ version = "1.0.1"
429
423
  source = "registry+https://github.com/rust-lang/crates.io-index"
430
424
  checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
431
425
 
432
- [[package]]
433
- name = "in-place"
434
- version = "0.2.0"
435
- source = "registry+https://github.com/rust-lang/crates.io-index"
436
- checksum = "1cdb69f3adfd5f493210cece799f4620417bf9965bc1536c22ae0e29ba27a8c0"
437
- dependencies = [
438
- "tempfile",
439
- ]
440
-
441
426
  [[package]]
442
427
  name = "indexmap"
443
428
  version = "2.2.6"
@@ -448,6 +433,12 @@ dependencies = [
448
433
  "hashbrown",
449
434
  ]
450
435
 
436
+ [[package]]
437
+ name = "is_terminal_polyfill"
438
+ version = "1.70.0"
439
+ source = "registry+https://github.com/rust-lang/crates.io-index"
440
+ checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
441
+
451
442
  [[package]]
452
443
  name = "itertools"
453
444
  version = "0.12.1"
@@ -477,9 +468,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
477
468
 
478
469
  [[package]]
479
470
  name = "libc"
480
- version = "0.2.154"
471
+ version = "0.2.155"
481
472
  source = "registry+https://github.com/rust-lang/crates.io-index"
482
- checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
473
+ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
483
474
 
484
475
  [[package]]
485
476
  name = "libloading"
@@ -505,9 +496,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
505
496
 
506
497
  [[package]]
507
498
  name = "linux-raw-sys"
508
- version = "0.4.13"
499
+ version = "0.4.14"
509
500
  source = "registry+https://github.com/rust-lang/crates.io-index"
510
- checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
501
+ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
511
502
 
512
503
  [[package]]
513
504
  name = "log"
@@ -535,7 +526,7 @@ checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
535
526
  dependencies = [
536
527
  "proc-macro2",
537
528
  "quote",
538
- "syn 2.0.60",
529
+ "syn",
539
530
  ]
540
531
 
541
532
  [[package]]
@@ -552,9 +543,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
552
543
 
553
544
  [[package]]
554
545
  name = "miniz_oxide"
555
- version = "0.7.2"
546
+ version = "0.7.3"
556
547
  source = "registry+https://github.com/rust-lang/crates.io-index"
557
- checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
548
+ checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
558
549
  dependencies = [
559
550
  "adler",
560
551
  ]
@@ -649,9 +640,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
649
640
 
650
641
  [[package]]
651
642
  name = "proc-macro2"
652
- version = "1.0.81"
643
+ version = "1.0.83"
653
644
  source = "registry+https://github.com/rust-lang/crates.io-index"
654
- checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
645
+ checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43"
655
646
  dependencies = [
656
647
  "unicode-ident",
657
648
  ]
@@ -695,7 +686,7 @@ dependencies = [
695
686
  "quote",
696
687
  "regex",
697
688
  "shell-words",
698
- "syn 2.0.60",
689
+ "syn",
699
690
  ]
700
691
 
701
692
  [[package]]
@@ -760,9 +751,9 @@ dependencies = [
760
751
 
761
752
  [[package]]
762
753
  name = "ryu"
763
- version = "1.0.17"
754
+ version = "1.0.18"
764
755
  source = "registry+https://github.com/rust-lang/crates.io-index"
765
- checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
756
+ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
766
757
 
767
758
  [[package]]
768
759
  name = "same-file"
@@ -781,29 +772,29 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
781
772
 
782
773
  [[package]]
783
774
  name = "serde"
784
- version = "1.0.200"
775
+ version = "1.0.202"
785
776
  source = "registry+https://github.com/rust-lang/crates.io-index"
786
- checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f"
777
+ checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
787
778
  dependencies = [
788
779
  "serde_derive",
789
780
  ]
790
781
 
791
782
  [[package]]
792
783
  name = "serde_derive"
793
- version = "1.0.200"
784
+ version = "1.0.202"
794
785
  source = "registry+https://github.com/rust-lang/crates.io-index"
795
- checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb"
786
+ checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
796
787
  dependencies = [
797
788
  "proc-macro2",
798
789
  "quote",
799
- "syn 2.0.60",
790
+ "syn",
800
791
  ]
801
792
 
802
793
  [[package]]
803
794
  name = "serde_json"
804
- version = "1.0.116"
795
+ version = "1.0.117"
805
796
  source = "registry+https://github.com/rust-lang/crates.io-index"
806
- checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
797
+ checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
807
798
  dependencies = [
808
799
  "itoa",
809
800
  "ryu",
@@ -838,12 +829,6 @@ dependencies = [
838
829
  "wasm-bindgen",
839
830
  ]
840
831
 
841
- [[package]]
842
- name = "strsim"
843
- version = "0.10.0"
844
- source = "registry+https://github.com/rust-lang/crates.io-index"
845
- checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
846
-
847
832
  [[package]]
848
833
  name = "strsim"
849
834
  version = "0.11.1"
@@ -852,20 +837,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
852
837
 
853
838
  [[package]]
854
839
  name = "syn"
855
- version = "1.0.109"
856
- source = "registry+https://github.com/rust-lang/crates.io-index"
857
- checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
858
- dependencies = [
859
- "proc-macro2",
860
- "quote",
861
- "unicode-ident",
862
- ]
863
-
864
- [[package]]
865
- name = "syn"
866
- version = "2.0.60"
840
+ version = "2.0.65"
867
841
  source = "registry+https://github.com/rust-lang/crates.io-index"
868
- checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
842
+ checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
869
843
  dependencies = [
870
844
  "proc-macro2",
871
845
  "quote",
@@ -895,18 +869,6 @@ dependencies = [
895
869
  "yaml-rust",
896
870
  ]
897
871
 
898
- [[package]]
899
- name = "tempfile"
900
- version = "3.10.1"
901
- source = "registry+https://github.com/rust-lang/crates.io-index"
902
- checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
903
- dependencies = [
904
- "cfg-if",
905
- "fastrand",
906
- "rustix",
907
- "windows-sys 0.52.0",
908
- ]
909
-
910
872
  [[package]]
911
873
  name = "terminal_size"
912
874
  version = "0.3.0"
@@ -919,22 +881,22 @@ dependencies = [
919
881
 
920
882
  [[package]]
921
883
  name = "thiserror"
922
- version = "1.0.59"
884
+ version = "1.0.61"
923
885
  source = "registry+https://github.com/rust-lang/crates.io-index"
924
- checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
886
+ checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
925
887
  dependencies = [
926
888
  "thiserror-impl",
927
889
  ]
928
890
 
929
891
  [[package]]
930
892
  name = "thiserror-impl"
931
- version = "1.0.59"
893
+ version = "1.0.61"
932
894
  source = "registry+https://github.com/rust-lang/crates.io-index"
933
- checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
895
+ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
934
896
  dependencies = [
935
897
  "proc-macro2",
936
898
  "quote",
937
- "syn 2.0.60",
899
+ "syn",
938
900
  ]
939
901
 
940
902
  [[package]]
@@ -1023,7 +985,7 @@ dependencies = [
1023
985
  "once_cell",
1024
986
  "proc-macro2",
1025
987
  "quote",
1026
- "syn 2.0.60",
988
+ "syn",
1027
989
  "wasm-bindgen-shared",
1028
990
  ]
1029
991
 
@@ -1045,7 +1007,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
1045
1007
  dependencies = [
1046
1008
  "proc-macro2",
1047
1009
  "quote",
1048
- "syn 2.0.60",
1010
+ "syn",
1049
1011
  "wasm-bindgen-backend",
1050
1012
  "wasm-bindgen-shared",
1051
1013
  ]
@@ -10,7 +10,7 @@ magnus = { version = "0.6", features = ["rb-sys"] }
10
10
  rb-sys = { version = "*", default-features = false, features = [
11
11
  "stable-api-compiled-fallback",
12
12
  ] }
13
- comrak = { version = "0.23", features = ["shortcodes"] }
13
+ comrak = { version = "0.24", features = ["shortcodes"] }
14
14
  syntect = { version = "5.2", features = ["plist-load"] }
15
15
  typed-arena = "2.0"
16
16
  rctree = "0.6"
@@ -1,27 +1,15 @@
1
1
  extern crate core;
2
2
 
3
- use std::path::PathBuf;
4
-
5
- use ::syntect::highlighting::ThemeSet;
6
- use comrak::{
7
- adapters::SyntaxHighlighterAdapter,
8
- markdown_to_html, markdown_to_html_with_plugins, parse_document,
9
- plugins::syntect::{SyntectAdapter, SyntectAdapterBuilder},
10
- ComrakOptions, ComrakPlugins,
11
- };
12
- use magnus::{
13
- define_module, exception, function, r_hash::ForEach, scan_args, Error, RHash, Symbol, Value,
14
- };
3
+ use comrak::{markdown_to_html_with_plugins, parse_document, ComrakOptions};
4
+ use magnus::{define_module, function, r_hash::ForEach, scan_args, Error, RHash, Symbol, Value};
15
5
  use node::CommonmarkerNode;
6
+ use plugins::syntax_highlighting::construct_syntax_highlighter_from_plugin;
16
7
 
17
8
  mod options;
18
9
  use options::iterate_options_hash;
19
10
 
20
11
  mod plugins;
21
- use plugins::{
22
- syntax_highlighting::{fetch_syntax_highlighter_path, fetch_syntax_highlighter_theme},
23
- SYNTAX_HIGHLIGHTER_PLUGIN,
24
- };
12
+
25
13
  use typed_arena::Arena;
26
14
 
27
15
  mod node;
@@ -63,6 +51,32 @@ fn commonmark_to_html(args: &[Value]) -> Result<String, magnus::Error> {
63
51
  )?;
64
52
  let (rb_options, rb_plugins) = kwargs.optional;
65
53
 
54
+ let comrak_options = match format_options(rb_options) {
55
+ Ok(options) => options,
56
+ Err(err) => return Err(err),
57
+ };
58
+
59
+ let mut comrak_plugins = comrak::Plugins::default();
60
+
61
+ let syntect_adapter = match construct_syntax_highlighter_from_plugin(rb_plugins) {
62
+ Ok(Some(adapter)) => Some(adapter),
63
+ Ok(None) => None,
64
+ Err(err) => return Err(err),
65
+ };
66
+
67
+ match syntect_adapter {
68
+ Some(ref adapter) => comrak_plugins.render.codefence_syntax_highlighter = Some(adapter),
69
+ None => comrak_plugins.render.codefence_syntax_highlighter = None,
70
+ }
71
+
72
+ Ok(markdown_to_html_with_plugins(
73
+ &rb_commonmark,
74
+ &comrak_options,
75
+ &comrak_plugins,
76
+ ))
77
+ }
78
+
79
+ fn format_options(rb_options: Option<RHash>) -> Result<comrak::Options, magnus::Error> {
66
80
  let mut comrak_options = ComrakOptions::default();
67
81
 
68
82
  if let Some(rb_options) = rb_options {
@@ -72,101 +86,7 @@ fn commonmark_to_html(args: &[Value]) -> Result<String, magnus::Error> {
72
86
  })?;
73
87
  }
74
88
 
75
- if let Some(rb_plugins) = rb_plugins {
76
- let mut comrak_plugins = ComrakPlugins::default();
77
-
78
- let syntax_highlighter: Option<&dyn SyntaxHighlighterAdapter>;
79
- let adapter: SyntectAdapter;
80
-
81
- let theme = match rb_plugins.get(Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN)) {
82
- Some(syntax_highlighter_options) => {
83
- match fetch_syntax_highlighter_theme(syntax_highlighter_options) {
84
- Ok(theme) => theme,
85
- Err(e) => {
86
- return Err(e);
87
- }
88
- }
89
- }
90
- None => None, // no `syntax_highlighter:` defined
91
- };
92
-
93
- match theme {
94
- None => syntax_highlighter = None,
95
- Some(theme) => {
96
- if theme.is_empty() {
97
- // no theme? uss css classes
98
- adapter = SyntectAdapter::new(None);
99
- syntax_highlighter = Some(&adapter);
100
- } else {
101
- let path = match rb_plugins.get(Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN)) {
102
- Some(syntax_highlighter_options) => {
103
- fetch_syntax_highlighter_path(syntax_highlighter_options)?
104
- }
105
- None => PathBuf::from("".to_string()), // no `syntax_highlighter:` defined
106
- };
107
-
108
- if path.exists() {
109
- if !path.is_dir() {
110
- return Err(Error::new(
111
- exception::arg_error(),
112
- "`path` needs to be a directory",
113
- ));
114
- }
115
-
116
- let builder = SyntectAdapterBuilder::new();
117
- let mut ts = ThemeSet::load_defaults();
118
-
119
- match ts.add_from_folder(&path) {
120
- Ok(_) => {}
121
- Err(e) => {
122
- return Err(Error::new(
123
- exception::arg_error(),
124
- format!("failed to load theme set from path: {e}"),
125
- ));
126
- }
127
- }
128
-
129
- // check if the theme exists in the dir
130
- match ts.themes.get(&theme) {
131
- Some(theme) => theme,
132
- None => {
133
- return Err(Error::new(
134
- exception::arg_error(),
135
- format!("theme `{}` does not exist", theme),
136
- ));
137
- }
138
- };
139
-
140
- adapter = builder.theme_set(ts).theme(&theme).build();
141
-
142
- syntax_highlighter = Some(&adapter);
143
- } else {
144
- // no path? default theme lookup
145
- ThemeSet::load_defaults()
146
- .themes
147
- .get(&theme)
148
- .ok_or_else(|| {
149
- Error::new(
150
- exception::arg_error(),
151
- format!("theme `{}` does not exist", theme),
152
- )
153
- })?;
154
- adapter = SyntectAdapter::new(Some(&theme));
155
- syntax_highlighter = Some(&adapter);
156
- }
157
- }
158
- }
159
- }
160
- comrak_plugins.render.codefence_syntax_highlighter = syntax_highlighter;
161
-
162
- Ok(markdown_to_html_with_plugins(
163
- &rb_commonmark,
164
- &comrak_options,
165
- &comrak_plugins,
166
- ))
167
- } else {
168
- Ok(markdown_to_html(&rb_commonmark, &comrak_options))
169
- }
89
+ Ok(comrak_options)
170
90
  }
171
91
 
172
92
  #[magnus::init]
@@ -1,20 +1,20 @@
1
+ use comrak::arena_tree::Node as ComrakNode;
1
2
  use comrak::nodes::{
2
3
  Ast as ComrakAst, AstNode as ComrakAstNode, ListDelimType, ListType, NodeCode, NodeCodeBlock,
3
4
  NodeDescriptionItem, NodeFootnoteDefinition, NodeFootnoteReference, NodeHeading, NodeHtmlBlock,
4
5
  NodeLink, NodeList, NodeMath, NodeMultilineBlockQuote, NodeShortCode, NodeTable,
5
- NodeValue as ComrakNodeValue, TableAlignment,
6
+ NodeValue as ComrakNodeValue, NodeWikiLink, TableAlignment,
6
7
  };
7
- use comrak::{arena_tree::Node as ComrakNode, ComrakOptions};
8
8
  use magnus::RArray;
9
- use magnus::{
10
- function, method, r_hash::ForEach, scan_args, Module, Object, RHash, RModule, Symbol, Value,
11
- };
9
+ use magnus::{function, method, scan_args, Module, Object, RHash, RModule, Symbol, Value};
12
10
  use rctree::Node;
13
11
  use typed_arena::Arena;
14
12
 
15
13
  use std::cell::RefCell;
16
14
 
17
- use crate::options::iterate_options_hash;
15
+ use crate::format_options;
16
+
17
+ use crate::plugins::syntax_highlighting::construct_syntax_highlighter_from_plugin;
18
18
 
19
19
  #[derive(Debug, Clone)]
20
20
  #[magnus::wrap(class = "Commonmarker::Node::Ast", size, mark)]
@@ -453,6 +453,15 @@ impl CommonmarkerNode {
453
453
  }
454
454
 
455
455
  "escaped" => ComrakNodeValue::Escaped,
456
+
457
+ "wikilink" => {
458
+ let kwargs =
459
+ scan_args::get_kwargs::<_, (String,), (), ()>(args.keywords, &["url"], &[])?;
460
+
461
+ let (url,) = kwargs.required;
462
+
463
+ ComrakNodeValue::WikiLink(NodeWikiLink { url })
464
+ }
456
465
  _ => panic!("unknown node type {}", node_type),
457
466
  };
458
467
 
@@ -539,6 +548,7 @@ impl CommonmarkerNode {
539
548
  ComrakNodeValue::MultilineBlockQuote(_) => Symbol::new("multiline_block_quote"),
540
549
  ComrakNodeValue::Escaped => Symbol::new("escaped"),
541
550
  ComrakNodeValue::Math(..) => Symbol::new("math"),
551
+ ComrakNodeValue::WikiLink(..) => Symbol::new("wikilink"),
542
552
  }
543
553
  }
544
554
 
@@ -895,15 +905,24 @@ impl CommonmarkerNode {
895
905
  &[],
896
906
  &["options", "plugins"],
897
907
  )?;
898
- let (rb_options, _rb_plugins) = kwargs.optional;
908
+ let (rb_options, rb_plugins) = kwargs.optional;
899
909
 
900
- let mut comrak_options = ComrakOptions::default();
910
+ let comrak_options = match format_options(rb_options) {
911
+ Ok(options) => options,
912
+ Err(err) => return Err(err),
913
+ };
914
+
915
+ let mut comrak_plugins = comrak::Plugins::default();
916
+
917
+ let syntect_adapter = match construct_syntax_highlighter_from_plugin(rb_plugins) {
918
+ Ok(Some(adapter)) => Some(adapter),
919
+ Ok(None) => None,
920
+ Err(err) => return Err(err),
921
+ };
901
922
 
902
- if let Some(rb_options) = rb_options {
903
- rb_options.foreach(|key: Symbol, value: RHash| {
904
- iterate_options_hash(&mut comrak_options, key, value)?;
905
- Ok(ForEach::Continue)
906
- })?;
923
+ match syntect_adapter {
924
+ Some(ref adapter) => comrak_plugins.render.codefence_syntax_highlighter = Some(adapter),
925
+ None => comrak_plugins.render.codefence_syntax_highlighter = None,
907
926
  }
908
927
 
909
928
  let arena: Arena<ComrakAstNode> = Arena::new();
@@ -936,7 +955,12 @@ impl CommonmarkerNode {
936
955
  }
937
956
 
938
957
  let mut output = vec![];
939
- match comrak::format_html(&comrak_root_node, &comrak_options, &mut output) {
958
+ match comrak::format_html_with_plugins(
959
+ &comrak_root_node,
960
+ &comrak_options,
961
+ &mut output,
962
+ &comrak_plugins,
963
+ ) {
940
964
  Ok(_) => {}
941
965
  Err(e) => {
942
966
  return Err(magnus::Error::new(
@@ -963,15 +987,25 @@ impl CommonmarkerNode {
963
987
  &[],
964
988
  &["options", "plugins"],
965
989
  )?;
966
- let (rb_options, _rb_plugins) = kwargs.optional;
990
+ let (rb_options, rb_plugins) = kwargs.optional;
967
991
 
968
- let mut comrak_options = ComrakOptions::default();
992
+ let _comrak_options = format_options(rb_options);
993
+ let comrak_options = match format_options(rb_options) {
994
+ Ok(options) => options,
995
+ Err(err) => return Err(err),
996
+ };
997
+
998
+ let mut comrak_plugins = comrak::Plugins::default();
999
+
1000
+ let syntect_adapter = match construct_syntax_highlighter_from_plugin(rb_plugins) {
1001
+ Ok(Some(adapter)) => Some(adapter),
1002
+ Ok(None) => None,
1003
+ Err(err) => return Err(err),
1004
+ };
969
1005
 
970
- if let Some(rb_options) = rb_options {
971
- rb_options.foreach(|key: Symbol, value: RHash| {
972
- iterate_options_hash(&mut comrak_options, key, value)?;
973
- Ok(ForEach::Continue)
974
- })?;
1006
+ match syntect_adapter {
1007
+ Some(ref adapter) => comrak_plugins.render.codefence_syntax_highlighter = Some(adapter),
1008
+ None => comrak_plugins.render.codefence_syntax_highlighter = None,
975
1009
  }
976
1010
 
977
1011
  let arena: Arena<ComrakAstNode> = Arena::new();
@@ -1004,7 +1038,12 @@ impl CommonmarkerNode {
1004
1038
  }
1005
1039
 
1006
1040
  let mut output = vec![];
1007
- match comrak::format_commonmark(&comrak_root_node, &comrak_options, &mut output) {
1041
+ match comrak::format_commonmark_with_plugins(
1042
+ &comrak_root_node,
1043
+ &comrak_options,
1044
+ &mut output,
1045
+ &comrak_plugins,
1046
+ ) {
1008
1047
  Ok(_) => {}
1009
1048
  Err(e) => {
1010
1049
  return Err(magnus::Error::new(
@@ -86,6 +86,8 @@ const EXTENSION_SHORTCODES: &str = "shortcodes";
86
86
  const EXTENSION_MULTILINE_BLOCK_QUOTES: &str = "multiline_block_quotes";
87
87
  const EXTENSION_MATH_DOLLARS: &str = "math_dollars";
88
88
  const EXTENSION_MATH_CODE: &str = "math_code";
89
+ const EXTENSION_WIKILINKS_TITLE_AFTER_PIPE: &str = "wikilinks_title_after_pipe";
90
+ const EXTENSION_WIKILINKS_TITLE_BEFORE_PIPE: &str = "wikilinks_title_before_pipe";
89
91
 
90
92
  fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
91
93
  options_hash
@@ -138,6 +140,14 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
138
140
  Ok(Cow::Borrowed(EXTENSION_MATH_CODE)) => {
139
141
  comrak_options.extension.math_code = TryConvert::try_convert(value)?;
140
142
  }
143
+ Ok(Cow::Borrowed(EXTENSION_WIKILINKS_TITLE_AFTER_PIPE)) => {
144
+ comrak_options.extension.wikilinks_title_after_pipe =
145
+ TryConvert::try_convert(value)?;
146
+ }
147
+ Ok(Cow::Borrowed(EXTENSION_WIKILINKS_TITLE_BEFORE_PIPE)) => {
148
+ comrak_options.extension.wikilinks_title_before_pipe =
149
+ TryConvert::try_convert(value)?;
150
+ }
141
151
  _ => {}
142
152
  }
143
153
  Ok(ForEach::Continue)
@@ -1,14 +1,106 @@
1
1
  use std::path::PathBuf;
2
2
 
3
+ use comrak::plugins::syntect::{SyntectAdapter, SyntectAdapterBuilder};
4
+
3
5
  use magnus::value::ReprValue;
4
- use magnus::{RHash, Symbol, TryConvert, Value};
6
+ use magnus::{exception, RHash, Symbol, TryConvert, Value};
7
+ use syntect::highlighting::ThemeSet;
5
8
 
6
9
  use crate::EMPTY_STR;
7
10
 
8
- pub const SYNTAX_HIGHLIGHTER_PLUGIN_THEME_KEY: &str = "theme";
9
- pub const SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY: &str = "path";
11
+ pub fn construct_syntax_highlighter_from_plugin(
12
+ rb_plugins: Option<RHash>,
13
+ ) -> Result<Option<SyntectAdapter>, magnus::Error> {
14
+ match rb_plugins {
15
+ None => Ok(None),
16
+ Some(rb_plugins) => {
17
+ let theme = match rb_plugins.get(Symbol::new(super::SYNTAX_HIGHLIGHTER_PLUGIN)) {
18
+ Some(syntax_highlighter_options) => {
19
+ match fetch_syntax_highlighter_theme(syntax_highlighter_options) {
20
+ Ok(theme) => theme,
21
+ Err(e) => {
22
+ return Err(e);
23
+ }
24
+ }
25
+ }
26
+ None => None, // no `syntax_highlighter:` defined
27
+ };
28
+
29
+ let adapter: SyntectAdapter;
30
+
31
+ match theme {
32
+ None => Ok(None),
33
+ Some(theme) => {
34
+ if theme.is_empty() {
35
+ // no theme? uss css classes
36
+ adapter = SyntectAdapter::new(None);
37
+ Ok(Some(adapter))
38
+ } else {
39
+ let path =
40
+ match rb_plugins.get(Symbol::new(super::SYNTAX_HIGHLIGHTER_PLUGIN)) {
41
+ Some(syntax_highlighter_options) => {
42
+ fetch_syntax_highlighter_path(syntax_highlighter_options)?
43
+ }
44
+ None => PathBuf::from("".to_string()), // no `syntax_highlighter:` defined
45
+ };
46
+
47
+ if path.exists() {
48
+ if !path.is_dir() {
49
+ return Err(magnus::Error::new(
50
+ exception::arg_error(),
51
+ "`path` needs to be a directory",
52
+ ));
53
+ }
54
+
55
+ let builder = SyntectAdapterBuilder::new();
56
+ let mut ts = ThemeSet::load_defaults();
57
+
58
+ match ts.add_from_folder(&path) {
59
+ Ok(_) => {}
60
+ Err(e) => {
61
+ return Err(magnus::Error::new(
62
+ exception::arg_error(),
63
+ format!("failed to load theme set from path: {e}"),
64
+ ));
65
+ }
66
+ }
67
+
68
+ // check if the theme exists in the dir
69
+ match ts.themes.get(&theme) {
70
+ Some(theme) => theme,
71
+ None => {
72
+ return Err(magnus::Error::new(
73
+ exception::arg_error(),
74
+ format!("theme `{}` does not exist", theme),
75
+ ));
76
+ }
77
+ };
78
+
79
+ adapter = builder.theme_set(ts).theme(&theme).build();
80
+
81
+ Ok(Some(adapter))
82
+ } else {
83
+ // no path? default theme lookup
84
+ ThemeSet::load_defaults()
85
+ .themes
86
+ .get(&theme)
87
+ .ok_or_else(|| {
88
+ magnus::Error::new(
89
+ exception::arg_error(),
90
+ format!("theme `{}` does not exist", theme),
91
+ )
92
+ })?;
93
+ adapter = SyntectAdapter::new(Some(&theme));
94
+ Ok(Some(adapter))
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
10
102
 
11
- pub fn fetch_syntax_highlighter_theme(value: Value) -> Result<Option<String>, magnus::Error> {
103
+ fn fetch_syntax_highlighter_theme(value: Value) -> Result<Option<String>, magnus::Error> {
12
104
  if value.is_nil() {
13
105
  // `syntax_highlighter: nil`
14
106
  return Ok(None);
@@ -29,7 +121,7 @@ pub fn fetch_syntax_highlighter_theme(value: Value) -> Result<Option<String>, ma
29
121
  ));
30
122
  }
31
123
 
32
- let theme_key = Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN_THEME_KEY);
124
+ let theme_key = Symbol::new(super::SYNTAX_HIGHLIGHTER_PLUGIN_THEME_KEY);
33
125
 
34
126
  match syntax_highlighter_plugin.get(theme_key) {
35
127
  Some(theme) => {
@@ -48,14 +140,14 @@ pub fn fetch_syntax_highlighter_theme(value: Value) -> Result<Option<String>, ma
48
140
  }
49
141
  }
50
142
 
51
- pub fn fetch_syntax_highlighter_path(value: Value) -> Result<PathBuf, magnus::Error> {
143
+ fn fetch_syntax_highlighter_path(value: Value) -> Result<PathBuf, magnus::Error> {
52
144
  if value.is_nil() {
53
145
  // `syntax_highlighter: nil`
54
146
  return Ok(PathBuf::from(EMPTY_STR));
55
147
  }
56
148
 
57
149
  let syntax_highlighter_plugin: RHash = TryConvert::try_convert(value)?;
58
- let path_key = Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY);
150
+ let path_key = Symbol::new(super::SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY);
59
151
 
60
152
  match syntax_highlighter_plugin.get(path_key) {
61
153
  Some(path) => {
@@ -1,3 +1,6 @@
1
1
  pub mod syntax_highlighting;
2
2
 
3
3
  pub const SYNTAX_HIGHLIGHTER_PLUGIN: &str = "syntax_highlighter";
4
+
5
+ pub const SYNTAX_HIGHLIGHTER_PLUGIN_THEME_KEY: &str = "theme";
6
+ pub const SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY: &str = "path";
@@ -34,6 +34,8 @@ module Commonmarker
34
34
  multiline_block_quotes: false,
35
35
  math_dollars: false,
36
36
  math_code: false,
37
+ wikilinks_title_before_pipe: false,
38
+ wikilinks_title_after_pipe: false,
37
39
  },
38
40
  format: [:html].freeze,
39
41
  }.freeze
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commonmarker
4
- VERSION = "1.1.3"
4
+ VERSION = "1.1.4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commonmarker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-05-15 00:00:00.000000000 Z
12
+ date: 2024-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rb_sys