@aparte/plugin-diff 0.0.0-stage → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1650 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/aparte-diff.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "A change, as a reviewer reads it: each file under a header with its path and its counts\n(`+3 −1`), each line with its old and new numbers and a `+` or `−` (said as a word to a\nscreen reader), the unchanged runs between hunks folded behind \"Show 24 unchanged lines\".\nSet `diff` to a unified diff's text, to a file's two texts (`{ path, before, after }`: every\nunchanged line can then be shown), or to a list of files.\n\nWith `commentable`, a reader comments on a line or a range: a click on a line number (Shift+click\nto stretch it), or from the keyboard — the numbers of a file are one tab stop, the arrows move,\nShift+arrows stretch, Enter or Space open the field, Escape lets go. Sending it fires\n`aparte-diff-comment`; keeping the comments and sending them on is the app's, and the ones it\nhands back through `comments` are shown under their lines with where each stands.\n\nThe lines are coloured by the chat's highlighter when one is installed (`@aparte/plugin-shiki`),\nin the language the path's extension names. The code reads left to right in a right-to-left page.",
12
+ "name": "AparteDiff",
13
+ "cssProperties": [
14
+ {
15
+ "description": "The background of an added line.",
16
+ "name": "--aparte-diff-added-bg",
17
+ "default": "var(--aparte-success-surface)"
18
+ },
19
+ {
20
+ "description": "The background of a removed line.",
21
+ "name": "--aparte-diff-removed-bg",
22
+ "default": "var(--aparte-error-surface)"
23
+ },
24
+ {
25
+ "description": "The `+` of an added line, and the count of added lines.",
26
+ "name": "--aparte-diff-added-ink",
27
+ "default": "var(--aparte-success-ink)"
28
+ },
29
+ {
30
+ "description": "The `−` of a removed line, and the count of removed lines.",
31
+ "name": "--aparte-diff-removed-ink",
32
+ "default": "var(--aparte-error-ink)"
33
+ },
34
+ {
35
+ "description": "The background of the lines picked for a comment.",
36
+ "name": "--aparte-diff-selected-bg",
37
+ "default": "var(--aparte-surface-hover)"
38
+ }
39
+ ],
40
+ "members": [
41
+ {
42
+ "kind": "field",
43
+ "name": "_input",
44
+ "type": {
45
+ "text": "AparteDiffInput | null"
46
+ },
47
+ "privacy": "private",
48
+ "default": "null"
49
+ },
50
+ {
51
+ "kind": "field",
52
+ "name": "_shown",
53
+ "type": {
54
+ "text": "Shown[]"
55
+ },
56
+ "privacy": "private",
57
+ "default": "[]"
58
+ },
59
+ {
60
+ "kind": "field",
61
+ "name": "_files",
62
+ "type": {
63
+ "text": "HTMLElement[]"
64
+ },
65
+ "privacy": "private",
66
+ "default": "[]",
67
+ "description": "Each file's element, as last drawn."
68
+ },
69
+ {
70
+ "kind": "field",
71
+ "name": "_comments",
72
+ "type": {
73
+ "text": "AparteDiffComment[]"
74
+ },
75
+ "privacy": "private",
76
+ "default": "[]"
77
+ },
78
+ {
79
+ "kind": "field",
80
+ "name": "_id",
81
+ "privacy": "private",
82
+ "readonly": true,
83
+ "default": "`aparte-diff-${++instances}`"
84
+ },
85
+ {
86
+ "kind": "field",
87
+ "name": "_generation",
88
+ "type": {
89
+ "text": "number"
90
+ },
91
+ "privacy": "private",
92
+ "default": "0"
93
+ },
94
+ {
95
+ "kind": "field",
96
+ "name": "_stopConfig",
97
+ "type": {
98
+ "text": "(() => void) | null"
99
+ },
100
+ "privacy": "private",
101
+ "default": "null"
102
+ },
103
+ {
104
+ "kind": "field",
105
+ "name": "_selection",
106
+ "type": {
107
+ "text": "Selection | null"
108
+ },
109
+ "privacy": "private",
110
+ "default": "null"
111
+ },
112
+ {
113
+ "kind": "field",
114
+ "name": "_form",
115
+ "type": {
116
+ "text": "CommentForm | null"
117
+ },
118
+ "privacy": "private",
119
+ "default": "null"
120
+ },
121
+ {
122
+ "kind": "field",
123
+ "name": "_writing",
124
+ "type": {
125
+ "text": "boolean"
126
+ },
127
+ "privacy": "private",
128
+ "default": "false",
129
+ "description": "Whether the reader opened the field (it then follows the selection through a redraw)."
130
+ },
131
+ {
132
+ "kind": "field",
133
+ "name": "_lineOf",
134
+ "privacy": "private",
135
+ "readonly": true,
136
+ "default": "new WeakMap<Element, AparteDiffLine>()",
137
+ "description": "Each line row's line."
138
+ },
139
+ {
140
+ "kind": "field",
141
+ "name": "diff",
142
+ "type": {
143
+ "text": "AparteDiffInput | null"
144
+ },
145
+ "description": "The change to show: a unified diff's text, `{ path, before, after }`, or a list of files (`AparteDiffFile` or texts)."
146
+ },
147
+ {
148
+ "kind": "field",
149
+ "name": "comments",
150
+ "type": {
151
+ "text": "AparteDiffComment[]"
152
+ },
153
+ "description": "The comments to show under their lines, with their state. The element only shows them."
154
+ },
155
+ {
156
+ "kind": "field",
157
+ "name": "commentable",
158
+ "type": {
159
+ "text": "boolean"
160
+ },
161
+ "description": "Whether a reader can comment on a line. Reflects the `commentable` attribute."
162
+ },
163
+ {
164
+ "kind": "field",
165
+ "name": "_config",
166
+ "type": {
167
+ "text": "AparteConfig"
168
+ },
169
+ "privacy": "private",
170
+ "readonly": true
171
+ },
172
+ {
173
+ "kind": "method",
174
+ "name": "_word",
175
+ "privacy": "private",
176
+ "return": {
177
+ "type": {
178
+ "text": "string"
179
+ }
180
+ },
181
+ "parameters": [
182
+ {
183
+ "name": "key",
184
+ "type": {
185
+ "text": "WordKey"
186
+ }
187
+ },
188
+ {
189
+ "name": "vars",
190
+ "optional": true,
191
+ "type": {
192
+ "text": "Record<string, string | number>"
193
+ }
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ "kind": "method",
199
+ "name": "_onConfigChange",
200
+ "privacy": "private",
201
+ "return": {
202
+ "type": {
203
+ "text": "void"
204
+ }
205
+ }
206
+ },
207
+ {
208
+ "kind": "method",
209
+ "name": "_render",
210
+ "privacy": "private",
211
+ "return": {
212
+ "type": {
213
+ "text": "void"
214
+ }
215
+ },
216
+ "description": "Draw every file again from the state, the reader's selection, field and focus kept."
217
+ },
218
+ {
219
+ "kind": "method",
220
+ "name": "_renderFile",
221
+ "privacy": "private",
222
+ "return": {
223
+ "type": {
224
+ "text": "HTMLElement"
225
+ }
226
+ },
227
+ "parameters": [
228
+ {
229
+ "name": "index",
230
+ "type": {
231
+ "text": "number"
232
+ }
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "kind": "method",
238
+ "name": "_message",
239
+ "privacy": "private",
240
+ "return": {
241
+ "type": {
242
+ "text": "HTMLElement"
243
+ }
244
+ },
245
+ "parameters": [
246
+ {
247
+ "name": "className",
248
+ "type": {
249
+ "text": "string"
250
+ }
251
+ },
252
+ {
253
+ "name": "key",
254
+ "type": {
255
+ "text": "WordKey"
256
+ }
257
+ }
258
+ ]
259
+ },
260
+ {
261
+ "kind": "method",
262
+ "name": "_fillLines",
263
+ "privacy": "private",
264
+ "return": {
265
+ "type": {
266
+ "text": "void"
267
+ }
268
+ },
269
+ "parameters": [
270
+ {
271
+ "name": "lines",
272
+ "type": {
273
+ "text": "HTMLElement"
274
+ }
275
+ },
276
+ {
277
+ "name": "index",
278
+ "type": {
279
+ "text": "number"
280
+ }
281
+ }
282
+ ],
283
+ "description": "The rows of file `index`, its comments under their lines."
284
+ },
285
+ {
286
+ "kind": "method",
287
+ "name": "_gapRow",
288
+ "privacy": "private",
289
+ "return": {
290
+ "type": {
291
+ "text": "HTMLElement"
292
+ }
293
+ },
294
+ "parameters": [
295
+ {
296
+ "name": "gap",
297
+ "type": {
298
+ "text": "Gap"
299
+ }
300
+ },
301
+ {
302
+ "name": "file",
303
+ "type": {
304
+ "text": "number"
305
+ }
306
+ },
307
+ {
308
+ "name": "expandable",
309
+ "type": {
310
+ "text": "boolean"
311
+ }
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "kind": "method",
317
+ "name": "_lineRow",
318
+ "privacy": "private",
319
+ "return": {
320
+ "type": {
321
+ "text": "HTMLElement"
322
+ }
323
+ },
324
+ "parameters": [
325
+ {
326
+ "name": "line",
327
+ "type": {
328
+ "text": "AparteDiffLine"
329
+ }
330
+ },
331
+ {
332
+ "name": "file",
333
+ "type": {
334
+ "text": "number"
335
+ }
336
+ },
337
+ {
338
+ "name": "commentable",
339
+ "type": {
340
+ "text": "boolean"
341
+ }
342
+ }
343
+ ]
344
+ },
345
+ {
346
+ "kind": "method",
347
+ "name": "_colour",
348
+ "privacy": "private",
349
+ "return": {
350
+ "type": {
351
+ "text": "boolean"
352
+ }
353
+ },
354
+ "parameters": [
355
+ {
356
+ "name": "code",
357
+ "type": {
358
+ "text": "Element"
359
+ }
360
+ },
361
+ {
362
+ "name": "shown",
363
+ "type": {
364
+ "text": "Shown"
365
+ }
366
+ },
367
+ {
368
+ "name": "line",
369
+ "type": {
370
+ "text": "AparteDiffLine"
371
+ }
372
+ }
373
+ ],
374
+ "description": "Put the highlighter's colours in a line's code, with its block's classes; `false` when it has none for it."
375
+ },
376
+ {
377
+ "kind": "method",
378
+ "name": "_number",
379
+ "privacy": "private",
380
+ "return": {
381
+ "type": {
382
+ "text": "HTMLElement"
383
+ }
384
+ },
385
+ "parameters": [
386
+ {
387
+ "name": "side",
388
+ "type": {
389
+ "text": "AparteDiffSide"
390
+ }
391
+ },
392
+ {
393
+ "name": "value",
394
+ "type": {
395
+ "text": "number | undefined"
396
+ }
397
+ }
398
+ ]
399
+ },
400
+ {
401
+ "kind": "method",
402
+ "name": "_htmlOf",
403
+ "privacy": "private",
404
+ "return": {
405
+ "type": {
406
+ "text": "string | undefined"
407
+ }
408
+ },
409
+ "parameters": [
410
+ {
411
+ "name": "shown",
412
+ "type": {
413
+ "text": "Shown"
414
+ }
415
+ },
416
+ {
417
+ "name": "line",
418
+ "type": {
419
+ "text": "AparteDiffLine"
420
+ }
421
+ }
422
+ ]
423
+ },
424
+ {
425
+ "kind": "method",
426
+ "name": "_placeComments",
427
+ "privacy": "private",
428
+ "return": {
429
+ "type": {
430
+ "text": "void"
431
+ }
432
+ },
433
+ "parameters": [
434
+ {
435
+ "name": "lines",
436
+ "type": {
437
+ "text": "HTMLElement"
438
+ }
439
+ },
440
+ {
441
+ "name": "shown",
442
+ "type": {
443
+ "text": "Shown"
444
+ }
445
+ },
446
+ {
447
+ "name": "rows",
448
+ "type": {
449
+ "text": "HTMLElement[]"
450
+ }
451
+ }
452
+ ],
453
+ "description": "The comments the app handed back, each under the line it ends on, or at the end of its file when that line is folded."
454
+ },
455
+ {
456
+ "kind": "method",
457
+ "name": "_commentNode",
458
+ "privacy": "private",
459
+ "return": {
460
+ "type": {
461
+ "text": "HTMLElement"
462
+ }
463
+ },
464
+ "parameters": [
465
+ {
466
+ "name": "comment",
467
+ "type": {
468
+ "text": "AparteDiffComment"
469
+ }
470
+ }
471
+ ]
472
+ },
473
+ {
474
+ "kind": "method",
475
+ "name": "_rangeWords",
476
+ "privacy": "private",
477
+ "return": {
478
+ "type": {
479
+ "text": "string"
480
+ }
481
+ },
482
+ "parameters": [
483
+ {
484
+ "name": "side",
485
+ "type": {
486
+ "text": "AparteDiffSide"
487
+ }
488
+ },
489
+ {
490
+ "name": "start",
491
+ "type": {
492
+ "text": "number"
493
+ }
494
+ },
495
+ {
496
+ "name": "end",
497
+ "type": {
498
+ "text": "number"
499
+ }
500
+ }
501
+ ],
502
+ "description": "\"Line 12\", \"Lines 12–14\", \"Removed line 5\"."
503
+ },
504
+ {
505
+ "kind": "method",
506
+ "name": "_highlight",
507
+ "privacy": "private",
508
+ "return": {
509
+ "type": {
510
+ "text": "Promise<void>"
511
+ }
512
+ },
513
+ "parameters": [
514
+ {
515
+ "name": "again",
516
+ "default": "false"
517
+ }
518
+ ],
519
+ "description": "Colour each file not coloured yet — or, `again`, every file — each side as one text, and\nput the colours in the lines on screen. A file is coloured only once its highlighter\nanswered: one that failed (still loading its grammars) leaves it plain, to be tried again."
520
+ },
521
+ {
522
+ "kind": "method",
523
+ "name": "_paintColours",
524
+ "privacy": "private",
525
+ "return": {
526
+ "type": {
527
+ "text": "void"
528
+ }
529
+ },
530
+ "parameters": [
531
+ {
532
+ "name": "index",
533
+ "type": {
534
+ "text": "number"
535
+ }
536
+ }
537
+ ]
538
+ },
539
+ {
540
+ "kind": "method",
541
+ "name": "_linesOf",
542
+ "privacy": "private",
543
+ "return": {
544
+ "type": {
545
+ "text": "HTMLElement | null"
546
+ }
547
+ },
548
+ "parameters": [
549
+ {
550
+ "name": "index",
551
+ "type": {
552
+ "text": "number"
553
+ }
554
+ }
555
+ ]
556
+ },
557
+ {
558
+ "kind": "method",
559
+ "name": "_rowOf",
560
+ "privacy": "private",
561
+ "return": {
562
+ "type": {
563
+ "text": "HTMLElement | undefined"
564
+ }
565
+ },
566
+ "parameters": [
567
+ {
568
+ "name": "index",
569
+ "type": {
570
+ "text": "number"
571
+ }
572
+ },
573
+ {
574
+ "name": "key",
575
+ "type": {
576
+ "text": "string"
577
+ }
578
+ }
579
+ ],
580
+ "description": "The line row of file `index` with the key `key`, if it is drawn."
581
+ },
582
+ {
583
+ "kind": "field",
584
+ "name": "_onClick",
585
+ "privacy": "private",
586
+ "readonly": true
587
+ },
588
+ {
589
+ "kind": "field",
590
+ "name": "_onKeydown",
591
+ "privacy": "private",
592
+ "readonly": true
593
+ },
594
+ {
595
+ "kind": "field",
596
+ "name": "_onKeyup",
597
+ "privacy": "private",
598
+ "readonly": true,
599
+ "description": "A button acts on Space's keyup: the keydown already did."
600
+ },
601
+ {
602
+ "kind": "method",
603
+ "name": "_rowsAround",
604
+ "privacy": "private",
605
+ "return": {
606
+ "type": {
607
+ "text": "HTMLElement[]"
608
+ }
609
+ },
610
+ "parameters": [
611
+ {
612
+ "name": "row",
613
+ "type": {
614
+ "text": "HTMLElement"
615
+ }
616
+ }
617
+ ],
618
+ "description": "The line rows of the file `row` is in."
619
+ },
620
+ {
621
+ "kind": "method",
622
+ "name": "_fileOf",
623
+ "privacy": "private",
624
+ "return": {
625
+ "type": {
626
+ "text": "number"
627
+ }
628
+ },
629
+ "parameters": [
630
+ {
631
+ "name": "row",
632
+ "type": {
633
+ "text": "Element"
634
+ }
635
+ }
636
+ ]
637
+ },
638
+ {
639
+ "kind": "method",
640
+ "name": "_focusRow",
641
+ "privacy": "private",
642
+ "return": {
643
+ "type": {
644
+ "text": "void"
645
+ }
646
+ },
647
+ "parameters": [
648
+ {
649
+ "name": "row",
650
+ "type": {
651
+ "text": "HTMLElement"
652
+ }
653
+ }
654
+ ],
655
+ "description": "Move the file's tab stop to `row`'s number, and the focus with it."
656
+ },
657
+ {
658
+ "kind": "method",
659
+ "name": "_stretch",
660
+ "privacy": "private",
661
+ "return": {
662
+ "type": {
663
+ "text": "void"
664
+ }
665
+ },
666
+ "parameters": [
667
+ {
668
+ "name": "from",
669
+ "type": {
670
+ "text": "HTMLElement"
671
+ }
672
+ },
673
+ {
674
+ "name": "to",
675
+ "type": {
676
+ "text": "HTMLElement"
677
+ }
678
+ }
679
+ ],
680
+ "description": "Shift+arrow: the selection runs from where it started (or from `from`) to `to`."
681
+ },
682
+ {
683
+ "kind": "method",
684
+ "name": "_pick",
685
+ "privacy": "private",
686
+ "return": {
687
+ "type": {
688
+ "text": "void"
689
+ }
690
+ },
691
+ "parameters": [
692
+ {
693
+ "name": "row",
694
+ "type": {
695
+ "text": "HTMLElement"
696
+ }
697
+ },
698
+ {
699
+ "name": "stretch",
700
+ "type": {
701
+ "text": "boolean"
702
+ }
703
+ },
704
+ {
705
+ "name": "keyboard",
706
+ "default": "false"
707
+ }
708
+ ],
709
+ "description": "A click (or Enter, Space) on a line number: that line, or the selection stretched to it; then the field."
710
+ },
711
+ {
712
+ "kind": "method",
713
+ "name": "_selectedRows",
714
+ "privacy": "private",
715
+ "return": {
716
+ "type": {
717
+ "text": "HTMLElement[]"
718
+ }
719
+ }
720
+ },
721
+ {
722
+ "kind": "method",
723
+ "name": "_paintSelection",
724
+ "privacy": "private",
725
+ "return": {
726
+ "type": {
727
+ "text": "void"
728
+ }
729
+ }
730
+ },
731
+ {
732
+ "kind": "method",
733
+ "name": "_range",
734
+ "privacy": "private",
735
+ "return": {
736
+ "type": {
737
+ "text": "Omit<AparteDiffCommentEventDetail, 'text'> | null"
738
+ }
739
+ },
740
+ "description": "What the selection covers: its side, its first and last line there, and those lines' text."
741
+ },
742
+ {
743
+ "kind": "method",
744
+ "name": "_placeForm",
745
+ "privacy": "private",
746
+ "return": {
747
+ "type": {
748
+ "text": "void"
749
+ }
750
+ },
751
+ "parameters": [
752
+ {
753
+ "name": "focus",
754
+ "type": {
755
+ "text": "boolean"
756
+ }
757
+ }
758
+ ],
759
+ "description": "The field, under the selection's last line, named for what it covers."
760
+ },
761
+ {
762
+ "kind": "method",
763
+ "name": "_buildForm",
764
+ "privacy": "private",
765
+ "return": {
766
+ "type": {
767
+ "text": "CommentForm"
768
+ }
769
+ }
770
+ },
771
+ {
772
+ "kind": "method",
773
+ "name": "_send",
774
+ "privacy": "private",
775
+ "return": {
776
+ "type": {
777
+ "text": "void"
778
+ }
779
+ }
780
+ },
781
+ {
782
+ "kind": "method",
783
+ "name": "_letGo",
784
+ "privacy": "private",
785
+ "return": {
786
+ "type": {
787
+ "text": "void"
788
+ }
789
+ },
790
+ "parameters": [
791
+ {
792
+ "name": "returnFocus",
793
+ "type": {
794
+ "text": "boolean"
795
+ }
796
+ }
797
+ ],
798
+ "description": "Close the field and drop the selection; the focus goes back to the line it ended on."
799
+ },
800
+ {
801
+ "kind": "method",
802
+ "name": "_expand",
803
+ "privacy": "private",
804
+ "return": {
805
+ "type": {
806
+ "text": "void"
807
+ }
808
+ },
809
+ "parameters": [
810
+ {
811
+ "name": "index",
812
+ "type": {
813
+ "text": "number"
814
+ }
815
+ },
816
+ {
817
+ "name": "gap",
818
+ "type": {
819
+ "text": "number"
820
+ }
821
+ }
822
+ ],
823
+ "description": "Show the unchanged run `gap` of file `index`, and carry on from its first line."
824
+ },
825
+ {
826
+ "kind": "method",
827
+ "name": "_focusKey",
828
+ "privacy": "private",
829
+ "return": {
830
+ "type": {
831
+ "text": "string | null"
832
+ }
833
+ },
834
+ "parameters": [
835
+ {
836
+ "name": "active",
837
+ "type": {
838
+ "text": "Element"
839
+ }
840
+ }
841
+ ]
842
+ },
843
+ {
844
+ "kind": "method",
845
+ "name": "_restoreFocus",
846
+ "privacy": "private",
847
+ "return": {
848
+ "type": {
849
+ "text": "void"
850
+ }
851
+ },
852
+ "parameters": [
853
+ {
854
+ "name": "key",
855
+ "type": {
856
+ "text": "string"
857
+ }
858
+ }
859
+ ]
860
+ }
861
+ ],
862
+ "events": [
863
+ {
864
+ "name": "aparte-diff-comment",
865
+ "type": {
866
+ "text": "CustomEvent<AparteDiffCommentEventDetail>"
867
+ },
868
+ "description": "A comment was written and sent: `{ path, side, startLine, endLine, text, code }`. Bubbles out of the chat; cancel it to keep the field open with its text."
869
+ }
870
+ ],
871
+ "attributes": [
872
+ {
873
+ "name": "commentable",
874
+ "type": {
875
+ "text": "boolean"
876
+ },
877
+ "description": "Let the reader pick a line or a range and write a comment on it. Off by default: without it nothing is clickable."
878
+ }
879
+ ],
880
+ "superclass": {
881
+ "name": "ElementBase",
882
+ "module": "src/aparte-diff.ts"
883
+ },
884
+ "tagName": "aparte-diff",
885
+ "customElement": true,
886
+ "examples": [
887
+ "A file's two texts, open to comments\n```html\n<aparte-diff commentable></aparte-diff>\n<script type=\"module\">\nimport '@aparte/plugin-diff';\n\nconst diff = document.querySelector('aparte-diff');\ndiff.diff = { path: 'src/parse.ts', before: oldText, after: newText };\nconst comments = [];\ndiff.addEventListener('aparte-diff-comment', (event) => {\ncomments.push({ ...event.detail, state: 'pending' });\ndiff.comments = comments;\n});\n</script>\n```"
888
+ ]
889
+ },
890
+ {
891
+ "kind": "variable",
892
+ "name": "text"
893
+ }
894
+ ],
895
+ "exports": [
896
+ {
897
+ "kind": "js",
898
+ "name": "AparteDiff",
899
+ "declaration": {
900
+ "name": "AparteDiff",
901
+ "module": "src/aparte-diff.ts"
902
+ }
903
+ },
904
+ {
905
+ "kind": "custom-element-definition",
906
+ "name": "aparte-diff",
907
+ "declaration": {
908
+ "name": "AparteDiff",
909
+ "module": "src/aparte-diff.ts"
910
+ }
911
+ }
912
+ ]
913
+ },
914
+ {
915
+ "kind": "javascript-module",
916
+ "path": "src/compute.ts",
917
+ "declarations": [
918
+ {
919
+ "kind": "function",
920
+ "name": "diffLines",
921
+ "return": {
922
+ "type": {
923
+ "text": "Edit[]"
924
+ }
925
+ },
926
+ "parameters": [
927
+ {
928
+ "name": "a",
929
+ "type": {
930
+ "text": "readonly string[]"
931
+ }
932
+ },
933
+ {
934
+ "name": "b",
935
+ "type": {
936
+ "text": "readonly string[]"
937
+ }
938
+ }
939
+ ],
940
+ "description": "The edit that turns `a` into `b`, one step per line, removals before additions inside a\nrun of changes."
941
+ },
942
+ {
943
+ "kind": "function",
944
+ "name": "splitLines",
945
+ "return": {
946
+ "type": {
947
+ "text": "{ lines: string[]; endsWithNewline: boolean }"
948
+ }
949
+ },
950
+ "parameters": [
951
+ {
952
+ "name": "text",
953
+ "type": {
954
+ "text": "string"
955
+ }
956
+ }
957
+ ],
958
+ "description": "A text's lines, without their endings, and whether its last line ends with one."
959
+ },
960
+ {
961
+ "kind": "function",
962
+ "name": "diffTexts",
963
+ "return": {
964
+ "type": {
965
+ "text": "AparteDiffFile"
966
+ }
967
+ },
968
+ "parameters": [
969
+ {
970
+ "name": "before",
971
+ "type": {
972
+ "text": "string | null"
973
+ }
974
+ },
975
+ {
976
+ "name": "after",
977
+ "type": {
978
+ "text": "string | null"
979
+ }
980
+ },
981
+ {
982
+ "name": "options",
983
+ "default": "{}",
984
+ "type": {
985
+ "text": "DiffTextsOptions"
986
+ }
987
+ }
988
+ ],
989
+ "description": "The diff of two texts, as one file's hunks with their line numbers. Lines are compared\nwithout their endings, so a file saved with Windows line endings reads the same; a last\nline that gains or loses its newline is shown changed, marked `noNewline`.\n\nA side that does not exist is `null`: `before: null` is a file created (`added`),\n`after: null` a file deleted (`deleted`). `''` is a file that exists and is empty, so\n`diffTexts('', text)` is that file filled in (`modified`). `formatUnifiedDiff` writes each\nas git does, so the patch applies."
990
+ },
991
+ {
992
+ "kind": "function",
993
+ "name": "hunksOf",
994
+ "return": {
995
+ "type": {
996
+ "text": "AparteDiffHunk[]"
997
+ }
998
+ },
999
+ "parameters": [
1000
+ {
1001
+ "name": "lines",
1002
+ "type": {
1003
+ "text": "readonly AparteDiffLine[]"
1004
+ }
1005
+ },
1006
+ {
1007
+ "name": "context",
1008
+ "type": {
1009
+ "text": "number"
1010
+ }
1011
+ }
1012
+ ],
1013
+ "description": "The changed lines with `context` unchanged ones around them, two hunks joined when their context touches."
1014
+ }
1015
+ ],
1016
+ "exports": [
1017
+ {
1018
+ "kind": "js",
1019
+ "name": "diffLines",
1020
+ "declaration": {
1021
+ "name": "diffLines",
1022
+ "module": "src/compute.ts"
1023
+ }
1024
+ },
1025
+ {
1026
+ "kind": "js",
1027
+ "name": "splitLines",
1028
+ "declaration": {
1029
+ "name": "splitLines",
1030
+ "module": "src/compute.ts"
1031
+ }
1032
+ },
1033
+ {
1034
+ "kind": "js",
1035
+ "name": "diffTexts",
1036
+ "declaration": {
1037
+ "name": "diffTexts",
1038
+ "module": "src/compute.ts"
1039
+ }
1040
+ },
1041
+ {
1042
+ "kind": "js",
1043
+ "name": "hunksOf",
1044
+ "declaration": {
1045
+ "name": "hunksOf",
1046
+ "module": "src/compute.ts"
1047
+ }
1048
+ }
1049
+ ]
1050
+ },
1051
+ {
1052
+ "kind": "javascript-module",
1053
+ "path": "src/highlight.ts",
1054
+ "declarations": [
1055
+ {
1056
+ "kind": "function",
1057
+ "name": "languageOfPath",
1058
+ "return": {
1059
+ "type": {
1060
+ "text": "string"
1061
+ }
1062
+ },
1063
+ "parameters": [
1064
+ {
1065
+ "name": "path",
1066
+ "type": {
1067
+ "text": "string"
1068
+ }
1069
+ }
1070
+ ],
1071
+ "description": "The language of a file, from its path: `src/parse.ts` → `typescript`; `''` when there is none to read."
1072
+ },
1073
+ {
1074
+ "kind": "function",
1075
+ "name": "highlightLines",
1076
+ "return": {
1077
+ "type": {
1078
+ "text": "Promise<HighlightedLines | null>"
1079
+ }
1080
+ },
1081
+ "parameters": [
1082
+ {
1083
+ "name": "config",
1084
+ "type": {
1085
+ "text": "AparteConfig"
1086
+ }
1087
+ },
1088
+ {
1089
+ "name": "lines",
1090
+ "type": {
1091
+ "text": "readonly string[]"
1092
+ }
1093
+ },
1094
+ {
1095
+ "name": "language",
1096
+ "type": {
1097
+ "text": "string"
1098
+ }
1099
+ }
1100
+ ],
1101
+ "description": "`lines` coloured as one text, cut back into one HTML string per line; `null` when there is\nno highlighter, or what it returned cannot be cut line for line. The HTML went through the\nconfig's sanitizer (`highlightCode` runs it)."
1102
+ }
1103
+ ],
1104
+ "exports": [
1105
+ {
1106
+ "kind": "js",
1107
+ "name": "languageOfPath",
1108
+ "declaration": {
1109
+ "name": "languageOfPath",
1110
+ "module": "src/highlight.ts"
1111
+ }
1112
+ },
1113
+ {
1114
+ "kind": "js",
1115
+ "name": "highlightLines",
1116
+ "declaration": {
1117
+ "name": "highlightLines",
1118
+ "module": "src/highlight.ts"
1119
+ }
1120
+ }
1121
+ ]
1122
+ },
1123
+ {
1124
+ "kind": "javascript-module",
1125
+ "path": "src/index.node.ts",
1126
+ "declarations": [],
1127
+ "exports": [
1128
+ {
1129
+ "kind": "js",
1130
+ "name": "diffTexts",
1131
+ "declaration": {
1132
+ "name": "diffTexts",
1133
+ "module": "./compute.js"
1134
+ }
1135
+ },
1136
+ {
1137
+ "kind": "js",
1138
+ "name": "DiffTextsOptions",
1139
+ "declaration": {
1140
+ "name": "DiffTextsOptions",
1141
+ "module": "./compute.js"
1142
+ }
1143
+ },
1144
+ {
1145
+ "kind": "js",
1146
+ "name": "parseUnifiedDiff",
1147
+ "declaration": {
1148
+ "name": "parseUnifiedDiff",
1149
+ "module": "./parse.js"
1150
+ }
1151
+ },
1152
+ {
1153
+ "kind": "js",
1154
+ "name": "formatUnifiedDiff",
1155
+ "declaration": {
1156
+ "name": "formatUnifiedDiff",
1157
+ "module": "./parse.js"
1158
+ }
1159
+ },
1160
+ {
1161
+ "kind": "js",
1162
+ "name": "setupDiff",
1163
+ "declaration": {
1164
+ "name": "setupDiff",
1165
+ "module": "./setup.js"
1166
+ }
1167
+ },
1168
+ {
1169
+ "kind": "js",
1170
+ "name": "DiffSetupOptions",
1171
+ "declaration": {
1172
+ "name": "DiffSetupOptions",
1173
+ "module": "./setup.js"
1174
+ }
1175
+ },
1176
+ {
1177
+ "kind": "js",
1178
+ "name": "AparteDiff",
1179
+ "declaration": {
1180
+ "name": "AparteDiff",
1181
+ "module": "./aparte-diff.js"
1182
+ }
1183
+ },
1184
+ {
1185
+ "kind": "js",
1186
+ "name": "AparteDiffComment",
1187
+ "declaration": {
1188
+ "name": "AparteDiffComment",
1189
+ "module": "./types.js"
1190
+ }
1191
+ },
1192
+ {
1193
+ "kind": "js",
1194
+ "name": "AparteDiffCommentEventDetail",
1195
+ "declaration": {
1196
+ "name": "AparteDiffCommentEventDetail",
1197
+ "module": "./types.js"
1198
+ }
1199
+ },
1200
+ {
1201
+ "kind": "js",
1202
+ "name": "AparteDiffFile",
1203
+ "declaration": {
1204
+ "name": "AparteDiffFile",
1205
+ "module": "./types.js"
1206
+ }
1207
+ },
1208
+ {
1209
+ "kind": "js",
1210
+ "name": "AparteDiffFileStatus",
1211
+ "declaration": {
1212
+ "name": "AparteDiffFileStatus",
1213
+ "module": "./types.js"
1214
+ }
1215
+ },
1216
+ {
1217
+ "kind": "js",
1218
+ "name": "AparteDiffHunk",
1219
+ "declaration": {
1220
+ "name": "AparteDiffHunk",
1221
+ "module": "./types.js"
1222
+ }
1223
+ },
1224
+ {
1225
+ "kind": "js",
1226
+ "name": "AparteDiffInput",
1227
+ "declaration": {
1228
+ "name": "AparteDiffInput",
1229
+ "module": "./types.js"
1230
+ }
1231
+ },
1232
+ {
1233
+ "kind": "js",
1234
+ "name": "AparteDiffLine",
1235
+ "declaration": {
1236
+ "name": "AparteDiffLine",
1237
+ "module": "./types.js"
1238
+ }
1239
+ },
1240
+ {
1241
+ "kind": "js",
1242
+ "name": "AparteDiffLineKind",
1243
+ "declaration": {
1244
+ "name": "AparteDiffLineKind",
1245
+ "module": "./types.js"
1246
+ }
1247
+ },
1248
+ {
1249
+ "kind": "js",
1250
+ "name": "AparteDiffSide",
1251
+ "declaration": {
1252
+ "name": "AparteDiffSide",
1253
+ "module": "./types.js"
1254
+ }
1255
+ },
1256
+ {
1257
+ "kind": "js",
1258
+ "name": "AparteDiffSource",
1259
+ "declaration": {
1260
+ "name": "AparteDiffSource",
1261
+ "module": "./types.js"
1262
+ }
1263
+ }
1264
+ ]
1265
+ },
1266
+ {
1267
+ "kind": "javascript-module",
1268
+ "path": "src/index.ts",
1269
+ "declarations": [],
1270
+ "exports": [
1271
+ {
1272
+ "kind": "js",
1273
+ "name": "AparteDiff",
1274
+ "declaration": {
1275
+ "name": "AparteDiff",
1276
+ "module": "./aparte-diff.js"
1277
+ }
1278
+ },
1279
+ {
1280
+ "kind": "js",
1281
+ "name": "setupDiff",
1282
+ "declaration": {
1283
+ "name": "setupDiff",
1284
+ "module": "./setup.js"
1285
+ }
1286
+ },
1287
+ {
1288
+ "kind": "js",
1289
+ "name": "DiffSetupOptions",
1290
+ "declaration": {
1291
+ "name": "DiffSetupOptions",
1292
+ "module": "./setup.js"
1293
+ }
1294
+ },
1295
+ {
1296
+ "kind": "js",
1297
+ "name": "diffTexts",
1298
+ "declaration": {
1299
+ "name": "diffTexts",
1300
+ "module": "./compute.js"
1301
+ }
1302
+ },
1303
+ {
1304
+ "kind": "js",
1305
+ "name": "DiffTextsOptions",
1306
+ "declaration": {
1307
+ "name": "DiffTextsOptions",
1308
+ "module": "./compute.js"
1309
+ }
1310
+ },
1311
+ {
1312
+ "kind": "js",
1313
+ "name": "parseUnifiedDiff",
1314
+ "declaration": {
1315
+ "name": "parseUnifiedDiff",
1316
+ "module": "./parse.js"
1317
+ }
1318
+ },
1319
+ {
1320
+ "kind": "js",
1321
+ "name": "formatUnifiedDiff",
1322
+ "declaration": {
1323
+ "name": "formatUnifiedDiff",
1324
+ "module": "./parse.js"
1325
+ }
1326
+ },
1327
+ {
1328
+ "kind": "js",
1329
+ "name": "AparteDiffComment",
1330
+ "declaration": {
1331
+ "name": "AparteDiffComment",
1332
+ "module": "./types.js"
1333
+ }
1334
+ },
1335
+ {
1336
+ "kind": "js",
1337
+ "name": "AparteDiffCommentEventDetail",
1338
+ "declaration": {
1339
+ "name": "AparteDiffCommentEventDetail",
1340
+ "module": "./types.js"
1341
+ }
1342
+ },
1343
+ {
1344
+ "kind": "js",
1345
+ "name": "AparteDiffFile",
1346
+ "declaration": {
1347
+ "name": "AparteDiffFile",
1348
+ "module": "./types.js"
1349
+ }
1350
+ },
1351
+ {
1352
+ "kind": "js",
1353
+ "name": "AparteDiffFileStatus",
1354
+ "declaration": {
1355
+ "name": "AparteDiffFileStatus",
1356
+ "module": "./types.js"
1357
+ }
1358
+ },
1359
+ {
1360
+ "kind": "js",
1361
+ "name": "AparteDiffHunk",
1362
+ "declaration": {
1363
+ "name": "AparteDiffHunk",
1364
+ "module": "./types.js"
1365
+ }
1366
+ },
1367
+ {
1368
+ "kind": "js",
1369
+ "name": "AparteDiffInput",
1370
+ "declaration": {
1371
+ "name": "AparteDiffInput",
1372
+ "module": "./types.js"
1373
+ }
1374
+ },
1375
+ {
1376
+ "kind": "js",
1377
+ "name": "AparteDiffLine",
1378
+ "declaration": {
1379
+ "name": "AparteDiffLine",
1380
+ "module": "./types.js"
1381
+ }
1382
+ },
1383
+ {
1384
+ "kind": "js",
1385
+ "name": "AparteDiffLineKind",
1386
+ "declaration": {
1387
+ "name": "AparteDiffLineKind",
1388
+ "module": "./types.js"
1389
+ }
1390
+ },
1391
+ {
1392
+ "kind": "js",
1393
+ "name": "AparteDiffSide",
1394
+ "declaration": {
1395
+ "name": "AparteDiffSide",
1396
+ "module": "./types.js"
1397
+ }
1398
+ },
1399
+ {
1400
+ "kind": "js",
1401
+ "name": "AparteDiffSource",
1402
+ "declaration": {
1403
+ "name": "AparteDiffSource",
1404
+ "module": "./types.js"
1405
+ }
1406
+ }
1407
+ ]
1408
+ },
1409
+ {
1410
+ "kind": "javascript-module",
1411
+ "path": "src/parse.ts",
1412
+ "declarations": [
1413
+ {
1414
+ "kind": "function",
1415
+ "name": "parseUnifiedDiff",
1416
+ "return": {
1417
+ "type": {
1418
+ "text": "AparteDiffFile[]"
1419
+ }
1420
+ },
1421
+ "parameters": [
1422
+ {
1423
+ "name": "text",
1424
+ "type": {
1425
+ "text": "string"
1426
+ }
1427
+ }
1428
+ ],
1429
+ "description": "The files of a unified diff, in the order it lists them. A text that holds no diff gives\nan empty list. Windows line endings read the same as Unix ones."
1430
+ },
1431
+ {
1432
+ "kind": "function",
1433
+ "name": "formatUnifiedDiff",
1434
+ "return": {
1435
+ "type": {
1436
+ "text": "string"
1437
+ }
1438
+ },
1439
+ "parameters": [
1440
+ {
1441
+ "name": "files",
1442
+ "type": {
1443
+ "text": "AparteDiffFile | readonly AparteDiffFile[]"
1444
+ }
1445
+ }
1446
+ ],
1447
+ "description": "Files as a unified diff, the way `git diff` writes it: what `parseUnifiedDiff` reads back,\nand what `git apply` takes. With `diffTexts`, a server can send a patch as text. A file\ncreated or deleted carries git's `new file mode` / `deleted file mode` header (as a regular\nfile, `100644`), which `git apply` needs to create one; a rename carries `rename from` and\n`rename to`."
1448
+ }
1449
+ ],
1450
+ "exports": [
1451
+ {
1452
+ "kind": "js",
1453
+ "name": "parseUnifiedDiff",
1454
+ "declaration": {
1455
+ "name": "parseUnifiedDiff",
1456
+ "module": "src/parse.ts"
1457
+ }
1458
+ },
1459
+ {
1460
+ "kind": "js",
1461
+ "name": "formatUnifiedDiff",
1462
+ "declaration": {
1463
+ "name": "formatUnifiedDiff",
1464
+ "module": "src/parse.ts"
1465
+ }
1466
+ }
1467
+ ]
1468
+ },
1469
+ {
1470
+ "kind": "javascript-module",
1471
+ "path": "src/setup.ts",
1472
+ "declarations": [
1473
+ {
1474
+ "kind": "function",
1475
+ "name": "setupDiff",
1476
+ "return": {
1477
+ "type": {
1478
+ "text": "() => void"
1479
+ }
1480
+ },
1481
+ "parameters": [
1482
+ {
1483
+ "name": "options",
1484
+ "type": {
1485
+ "text": "DiffSetupOptions"
1486
+ }
1487
+ },
1488
+ {
1489
+ "name": "config",
1490
+ "default": "aparteGlobalConfig",
1491
+ "type": {
1492
+ "text": "AparteConfig"
1493
+ }
1494
+ }
1495
+ ],
1496
+ "description": "Show a tool's result as a diff, under the tool's line in the reply. Returns the function that\ntakes it off again.\n\nThe rest of the tool's display (its label, its summary, its icon) stays the app's: set it\nwith `registerToolDisplay` before or after. Taking the setup off gives back what the tool\nshowed behind its line before."
1497
+ },
1498
+ {
1499
+ "kind": "function",
1500
+ "name": "details",
1501
+ "return": {
1502
+ "type": {
1503
+ "text": "HTMLElement | string"
1504
+ }
1505
+ },
1506
+ "parameters": [
1507
+ {
1508
+ "name": "segment",
1509
+ "type": {
1510
+ "text": "AparteToolCallSegment"
1511
+ }
1512
+ },
1513
+ {
1514
+ "name": "held",
1515
+ "optional": true,
1516
+ "type": {
1517
+ "text": "HTMLElement"
1518
+ }
1519
+ }
1520
+ ]
1521
+ }
1522
+ ],
1523
+ "exports": [
1524
+ {
1525
+ "kind": "js",
1526
+ "name": "setupDiff",
1527
+ "declaration": {
1528
+ "name": "setupDiff",
1529
+ "module": "src/setup.ts"
1530
+ }
1531
+ }
1532
+ ]
1533
+ },
1534
+ {
1535
+ "kind": "javascript-module",
1536
+ "path": "src/styles.ts",
1537
+ "declarations": [
1538
+ {
1539
+ "kind": "variable",
1540
+ "name": "DIFF_STYLES",
1541
+ "default": "styles",
1542
+ "description": "The sheet, as the element puts it on the page."
1543
+ },
1544
+ {
1545
+ "kind": "function",
1546
+ "name": "ensureStyles",
1547
+ "return": {
1548
+ "type": {
1549
+ "text": "void"
1550
+ }
1551
+ },
1552
+ "parameters": [
1553
+ {
1554
+ "name": "doc",
1555
+ "default": "document",
1556
+ "type": {
1557
+ "text": "Document"
1558
+ }
1559
+ }
1560
+ ],
1561
+ "description": "Put the sheet on the page, unless it is there already."
1562
+ }
1563
+ ],
1564
+ "exports": [
1565
+ {
1566
+ "kind": "js",
1567
+ "name": "DIFF_STYLES",
1568
+ "declaration": {
1569
+ "name": "DIFF_STYLES",
1570
+ "module": "src/styles.ts"
1571
+ }
1572
+ },
1573
+ {
1574
+ "kind": "js",
1575
+ "name": "ensureStyles",
1576
+ "declaration": {
1577
+ "name": "ensureStyles",
1578
+ "module": "src/styles.ts"
1579
+ }
1580
+ }
1581
+ ]
1582
+ },
1583
+ {
1584
+ "kind": "javascript-module",
1585
+ "path": "src/types.ts",
1586
+ "declarations": [],
1587
+ "exports": []
1588
+ },
1589
+ {
1590
+ "kind": "javascript-module",
1591
+ "path": "src/words.ts",
1592
+ "declarations": [
1593
+ {
1594
+ "kind": "variable",
1595
+ "name": "WORDS",
1596
+ "default": "{ /** A file's added lines, said to a screen reader beside the `+3` it shows. */ diffAdded: { en: 'one:{n} line added|other:{n} lines added', fr: 'one:{n} ligne ajoutée|other:{n} lignes ajoutées', de: 'one:{n} Zeile hinzugefügt|other:{n} Zeilen hinzugefügt', es: 'one:{n} línea añadida|other:{n} líneas añadidas', it: 'one:{n} riga aggiunta|other:{n} righe aggiunte', ja: 'other:{n} 行追加', ko: 'other:{n}줄 추가됨', pt: 'one:{n} linha adicionada|other:{n} linhas adicionadas', ru: 'one:{n} строка добавлена|few:{n} строки добавлены|many:{n} строк добавлено|other:{n} строки добавлено', zh: 'other:新增 {n} 行', }, /** A file's removed lines, said to a screen reader beside the `−1` it shows. */ diffRemoved: { en: 'one:{n} line removed|other:{n} lines removed', fr: 'one:{n} ligne supprimée|other:{n} lignes supprimées', de: 'one:{n} Zeile entfernt|other:{n} Zeilen entfernt', es: 'one:{n} línea eliminada|other:{n} líneas eliminadas', it: 'one:{n} riga rimossa|other:{n} righe rimosse', ja: 'other:{n} 行削除', ko: 'other:{n}줄 삭제됨', pt: 'one:{n} linha removida|other:{n} linhas removidas', ru: 'one:{n} строка удалена|few:{n} строки удалены|many:{n} строк удалено|other:{n} строки удалено', zh: 'other:删除 {n} 行', }, /** What the `+` of an added line says to a screen reader. */ diffMarkerAdded: { en: 'added', fr: 'ajoutée', de: 'hinzugefügt', es: 'añadida', it: 'aggiunta', ja: '追加', ko: '추가됨', pt: 'adicionada', ru: 'добавлена', zh: '新增', }, /** What the `−` of a removed line says to a screen reader. */ diffMarkerRemoved: { en: 'removed', fr: 'supprimée', de: 'entfernt', es: 'eliminada', it: 'rimossa', ja: '削除', ko: '삭제됨', pt: 'removida', ru: 'удалена', zh: '删除', }, /** The button over a run of unchanged lines the element can show. */ diffShowUnchanged: { en: 'one:Show {n} unchanged line|other:Show {n} unchanged lines', fr: 'one:Afficher {n} ligne inchangée|other:Afficher {n} lignes inchangées', de: 'one:{n} unveränderte Zeile anzeigen|other:{n} unveränderte Zeilen anzeigen', es: 'one:Mostrar {n} línea sin cambios|other:Mostrar {n} líneas sin cambios', it: 'one:Mostra {n} riga invariata|other:Mostra {n} righe invariate', ja: 'other:変更のない {n} 行を表示', ko: 'other:변경되지 않은 {n}줄 표시', pt: 'one:Mostrar {n} linha inalterada|other:Mostrar {n} linhas inalteradas', ru: 'one:Показать {n} неизменённую строку|few:Показать {n} неизменённые строки|many:Показать {n} неизменённых строк|other:Показать {n} неизменённой строки', zh: 'other:显示 {n} 行未更改的内容', }, /** A run of unchanged lines the diff does not hold (a unified diff's text), between two hunks. */ diffUnchanged: { en: 'one:{n} unchanged line|other:{n} unchanged lines', fr: 'one:{n} ligne inchangée|other:{n} lignes inchangées', de: 'one:{n} unveränderte Zeile|other:{n} unveränderte Zeilen', es: 'one:{n} línea sin cambios|other:{n} líneas sin cambios', it: 'one:{n} riga invariata|other:{n} righe invariate', ja: 'other:変更のない {n} 行', ko: 'other:변경되지 않은 {n}줄', pt: 'one:{n} linha inalterada|other:{n} linhas inalteradas', ru: 'one:{n} неизменённая строка|few:{n} неизменённые строки|many:{n} неизменённых строк|other:{n} неизменённой строки', zh: 'other:{n} 行未更改', }, /** A new file's tag, beside its path. */ diffStatusAdded: { en: 'Added', fr: 'Ajouté', de: 'Neu', es: 'Añadido', it: 'Aggiunto', ja: '追加', ko: '추가됨', pt: 'Adicionado', ru: 'Добавлен', zh: '新增', }, /** A deleted file's tag, beside its path. */ diffStatusDeleted: { en: 'Deleted', fr: 'Supprimé', de: 'Gelöscht', es: 'Eliminado', it: 'Eliminato', ja: '削除', ko: '삭제됨', pt: 'Excluído', ru: 'Удалён', zh: '已删除', }, /** A renamed file's tag, beside its paths. */ diffStatusRenamed: { en: 'Renamed', fr: 'Renommé', de: 'Umbenannt', es: 'Renombrado', it: 'Rinominato', ja: '名前変更', ko: '이름 변경됨', pt: 'Renomeado', ru: 'Переименован', zh: '已重命名', }, /** Where a binary file's lines would be. */ diffBinary: { en: 'Binary file, no lines to show', fr: 'Fichier binaire, aucune ligne à afficher', de: 'Binärdatei, keine Zeilen anzuzeigen', es: 'Archivo binario, no hay líneas que mostrar', it: 'File binario, nessuna riga da mostrare', ja: 'バイナリファイルのため表示する行はありません', ko: '바이너리 파일이라 표시할 줄이 없습니다', pt: 'Arquivo binário, nenhuma linha para mostrar', ru: 'Двоичный файл, строк для показа нет', zh: '二进制文件,没有可显示的行', }, /** Under the last line of a file that ends without a newline. */ diffNoNewline: { en: 'No newline at end of file', fr: 'Pas de saut de ligne à la fin du fichier', de: 'Kein Zeilenumbruch am Dateiende', es: 'Sin salto de línea al final del archivo', it: 'Nessun a capo alla fine del file', ja: 'ファイル末尾に改行がありません', ko: '파일 끝에 줄바꿈 없음', pt: 'Sem quebra de linha no fim do arquivo', ru: 'Нет перевода строки в конце файла', zh: '文件末尾没有换行符', }, /** An unchanged line's number, as its button and a comment name it. */ diffLine: { en: 'Line {n}', fr: 'Ligne {n}', de: 'Zeile {n}', es: 'Línea {n}', it: 'Riga {n}', ja: '{n} 行目', ko: '{n}번째 줄', pt: 'Linha {n}', ru: 'Строка {n}', zh: '第 {n} 行', }, /** An added line's number, as its button names it. */ diffLineAdded: { en: 'Added line {n}', fr: 'Ligne ajoutée {n}', de: 'Hinzugefügte Zeile {n}', es: 'Línea añadida {n}', it: 'Riga aggiunta {n}', ja: '追加された {n} 行目', ko: '추가된 {n}번째 줄', pt: 'Linha adicionada {n}', ru: 'Добавленная строка {n}', zh: '新增的第 {n} 行', }, /** A removed line's number, as its button and a comment name it. */ diffLineRemoved: { en: 'Removed line {n}', fr: 'Ligne supprimée {n}', de: 'Entfernte Zeile {n}', es: 'Línea eliminada {n}', it: 'Riga rimossa {n}', ja: '削除された {n} 行目', ko: '삭제된 {n}번째 줄', pt: 'Linha removida {n}', ru: 'Удалённая строка {n}', zh: '删除的第 {n} 行', }, /** A range a comment is on. */ diffLines: { en: 'Lines {start}–{end}', fr: 'Lignes {start} à {end}', de: 'Zeilen {start}–{end}', es: 'Líneas {start}–{end}', it: 'Righe {start}–{end}', ja: '{start}〜{end} 行目', ko: '{start}~{end}번째 줄', pt: 'Linhas {start}–{end}', ru: 'Строки {start}–{end}', zh: '第 {start}–{end} 行', }, /** A range of removed lines a comment is on. */ diffLinesRemoved: { en: 'Removed lines {start}–{end}', fr: 'Lignes supprimées {start} à {end}', de: 'Entfernte Zeilen {start}–{end}', es: 'Líneas eliminadas {start}–{end}', it: 'Righe rimosse {start}–{end}', ja: '削除された {start}〜{end} 行目', ko: '삭제된 {start}~{end}번째 줄', pt: 'Linhas removidas {start}–{end}', ru: 'Удалённые строки {start}–{end}', zh: '删除的第 {start}–{end} 行', }, /** The comment field's name, on one line. */ diffCommentLine: { en: 'Comment on line {n}', fr: 'Commenter la ligne {n}', de: 'Zeile {n} kommentieren', es: 'Comentar la línea {n}', it: 'Commenta la riga {n}', ja: '{n} 行目にコメント', ko: '{n}번째 줄에 댓글', pt: 'Comentar a linha {n}', ru: 'Комментарий к строке {n}', zh: '评论第 {n} 行', }, /** The comment field's name, on a range. */ diffCommentLines: { en: 'Comment on lines {start}–{end}', fr: 'Commenter les lignes {start} à {end}', de: 'Zeilen {start}–{end} kommentieren', es: 'Comentar las líneas {start}–{end}', it: 'Commenta le righe {start}–{end}', ja: '{start}〜{end} 行目にコメント', ko: '{start}~{end}번째 줄에 댓글', pt: 'Comentar as linhas {start}–{end}', ru: 'Комментарий к строкам {start}–{end}', zh: '评论第 {start}–{end} 行', }, /** What the empty comment field shows. */ diffCommentPlaceholder: { en: 'Leave a comment', fr: 'Laisser un commentaire', de: 'Kommentar schreiben', es: 'Deja un comentario', it: 'Lascia un commento', ja: 'コメントを入力', ko: '댓글 남기기', pt: 'Deixe um comentário', ru: 'Оставьте комментарий', zh: '留下评论', }, /** The button that sends the comment. */ diffCommentSubmit: { en: 'Comment', fr: 'Commenter', de: 'Kommentieren', es: 'Comentar', it: 'Commenta', ja: 'コメント', ko: '댓글 달기', pt: 'Comentar', ru: 'Комментировать', zh: '评论', }, /** The button that closes the comment field. */ diffCommentCancel: { en: 'Cancel', fr: 'Annuler', de: 'Abbrechen', es: 'Cancelar', it: 'Annulla', ja: 'キャンセル', ko: '취소', pt: 'Cancelar', ru: 'Отмена', zh: '取消', }, /** A comment kept to be sent. */ diffCommentPending: { en: 'Pending', fr: 'En attente', de: 'Ausstehend', es: 'Pendiente', it: 'In attesa', ja: '保留中', ko: '대기 중', pt: 'Pendente', ru: 'Ожидает', zh: '待发送', }, /** A comment that was sent. */ diffCommentSent: { en: 'Sent', fr: 'Envoyé', de: 'Gesendet', es: 'Enviado', it: 'Inviato', ja: '送信済み', ko: '보냄', pt: 'Enviado', ru: 'Отправлен', zh: '已发送', }, /** A diff with no change in it. */ diffEmpty: { en: 'No changes', fr: 'Aucun changement', de: 'Keine Änderungen', es: 'Sin cambios', it: 'Nessuna modifica', ja: '変更はありません', ko: '변경 사항 없음', pt: 'Nenhuma alteração', ru: 'Изменений нет', zh: '没有更改', }, } satisfies Record<string, Word>"
1597
+ },
1598
+ {
1599
+ "kind": "function",
1600
+ "name": "word",
1601
+ "return": {
1602
+ "type": {
1603
+ "text": "string"
1604
+ }
1605
+ },
1606
+ "parameters": [
1607
+ {
1608
+ "name": "config",
1609
+ "type": {
1610
+ "text": "AparteConfig"
1611
+ }
1612
+ },
1613
+ {
1614
+ "name": "key",
1615
+ "type": {
1616
+ "text": "WordKey"
1617
+ }
1618
+ },
1619
+ {
1620
+ "name": "vars",
1621
+ "default": "{}",
1622
+ "type": {
1623
+ "text": "Record<string, string | number>"
1624
+ }
1625
+ }
1626
+ ],
1627
+ "description": "The word for `key`: the app's locale, else this table in the chat's language, else English;\n`{name}` slots filled from `vars`, and a count's plural form chosen when `vars.n` is a number."
1628
+ }
1629
+ ],
1630
+ "exports": [
1631
+ {
1632
+ "kind": "js",
1633
+ "name": "WORDS",
1634
+ "declaration": {
1635
+ "name": "WORDS",
1636
+ "module": "src/words.ts"
1637
+ }
1638
+ },
1639
+ {
1640
+ "kind": "js",
1641
+ "name": "word",
1642
+ "declaration": {
1643
+ "name": "word",
1644
+ "module": "src/words.ts"
1645
+ }
1646
+ }
1647
+ ]
1648
+ }
1649
+ ]
1650
+ }