-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
new rulesetNew potential rulesets for JSONIDNew potential rulesets for JSONID
Description
Interesting we have a protobuf schema here and it is output in proselint as JSON. We should get proselint into the database but also consider the implications of outputting data to a serialization format such as JSON.
https://github.com/amperser/proselint/blob/main/docs/wire-schema.md
Repo: https://github.com/amperser/proselint
{
"result": {
"file:///tmp/prose/json.txt": {
"diagnostics": [
{
"check_path": "needless_variants",
"message": "Needless variant. 'outsize' is the preferred form.",
"pos": [
26,
1
],
"replacements": "outsize",
"span": [
659,
667
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'PRONOM\nPRONOM' - a phrase is repeated.",
"pos": [
29,
28
],
"replacements": null,
"span": [
742,
755
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
42,
379
],
"replacements": null,
"span": [
1419,
1423
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
78,
26
],
"replacements": null,
"span": [
5765,
5773
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
79,
26
],
"replacements": null,
"span": [
5800,
5807
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
80,
26
],
"replacements": null,
"span": [
5834,
5843
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
89,
4
],
"replacements": null,
"span": [
5962,
5970
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
90,
4
],
"replacements": null,
"span": [
5990,
5997
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
91,
4
],
"replacements": null,
"span": [
6011,
6020
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
98,
5
],
"replacements": null,
"span": [
6101,
6109
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
103,
5
],
"replacements": null,
"span": [
6160,
6167
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
104,
5
],
"replacements": null,
"span": [
6182,
6191
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
174,
5
],
"replacements": null,
"span": [
9923,
9931
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
179,
5
],
"replacements": null,
"span": [
9982,
9989
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
180,
5
],
"replacements": null,
"span": [
10004,
10013
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
213,
5
],
"replacements": null,
"span": [
12033,
12041
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
218,
5
],
"replacements": null,
"span": [
12092,
12099
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
219,
5
],
"replacements": null,
"span": [
12114,
12123
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
233,
5
],
"replacements": null,
"span": [
13068,
13076
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
238,
5
],
"replacements": null,
"span": [
13127,
13134
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
239,
5
],
"replacements": null,
"span": [
13149,
13158
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
259,
5
],
"replacements": null,
"span": [
13429,
13437
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
264,
5
],
"replacements": null,
"span": [
13488,
13497
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
265,
5
],
"replacements": null,
"span": [
13510,
13517
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
290,
3
],
"replacements": null,
"span": [
14559,
14570
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
293,
62
],
"replacements": null,
"span": [
14639,
14650
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '0\n0' - a phrase is repeated.",
"pos": [
293,
75
],
"replacements": null,
"span": [
14652,
14655
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
298,
5
],
"replacements": null,
"span": [
14738,
14749
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '20 20 20 20' - a phrase is repeated.",
"pos": [
302,
17
],
"replacements": null,
"span": [
14773,
14784
]
},
{
"check_path": "typography.symbols.sentence_spacing",
"message": "More than two spaces after the period; use 1 or 2.",
"pos": [
302,
61
],
"replacements": null,
"span": [
14817,
14821
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
308,
5
],
"replacements": null,
"span": [
14922,
14933
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '0a 0a' - a phrase is repeated.",
"pos": [
313,
14
],
"replacements": null,
"span": [
14955,
14960
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '20 20 20 20' - a phrase is repeated.",
"pos": [
313,
20
],
"replacements": null,
"span": [
14961,
14972
]
},
{
"check_path": "typography.symbols.sentence_spacing",
"message": "More than two spaces after the period; use 1 or 2.",
"pos": [
313,
62
],
"replacements": null,
"span": [
15003,
15007
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
318,
5
],
"replacements": null,
"span": [
15111,
15122
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '00 20 00 20 00 20 00 20' - a phrase is repeated.",
"pos": [
322,
29
],
"replacements": null,
"span": [
15158,
15181
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
322,
60
],
"replacements": null,
"span": [
15189,
15192
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
322,
64
],
"replacements": null,
"span": [
15193,
15196
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
324,
70
],
"replacements": null,
"span": [
15351,
15354
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
328,
5
],
"replacements": null,
"span": [
15382,
15393
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in '00 20 00 20 00 20 00 20' - a phrase is repeated.",
"pos": [
332,
26
],
"replacements": null,
"span": [
15426,
15449
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
332,
63
],
"replacements": null,
"span": [
15463,
15466
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
334,
69
],
"replacements": null,
"span": [
15621,
15624
]
},
{
"check_path": "typography.symbols.ellipsis",
"message": "'...' is an approximation, use the ellipsis symbol '\u2026'.",
"pos": [
334,
73
],
"replacements": null,
"span": [
15625,
15628
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'INDEX\nindex' - a phrase is repeated.",
"pos": [
379,
1
],
"replacements": null,
"span": [
20193,
20204
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'GOTO\ngoto' - a phrase is repeated.",
"pos": [
381,
1
],
"replacements": null,
"span": [
20253,
20262
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'KEY\nkey' - a phrase is repeated.",
"pos": [
383,
1
],
"replacements": null,
"span": [
20291,
20298
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
407,
11
],
"replacements": null,
"span": [
20789,
20794
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
407,
18
],
"replacements": null,
"span": [
20796,
20802
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
407,
26
],
"replacements": null,
"span": [
20804,
20808
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
407,
32
],
"replacements": null,
"span": [
20810,
20817
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
408,
11
],
"replacements": null,
"span": [
20831,
20836
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
408,
18
],
"replacements": null,
"span": [
20838,
20846
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
408,
28
],
"replacements": null,
"span": [
20848,
20858
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
409,
11
],
"replacements": null,
"span": [
20896,
20901
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
409,
18
],
"replacements": null,
"span": [
20903,
20909
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
409,
26
],
"replacements": null,
"span": [
20911,
20915
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
409,
34
],
"replacements": null,
"span": [
20919,
20925
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
409,
42
],
"replacements": null,
"span": [
20927,
20933
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'the syntax\nThe syntax' - a phrase is repeated.",
"pos": [
425,
10
],
"replacements": null,
"span": [
21949,
21970
]
},
{
"check_path": "needless_variants",
"message": "Needless variant. 'heterogeneous' is the preferred form.",
"pos": [
440,
198
],
"replacements": "heterogeneous",
"span": [
24623,
24635
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
443,
3
],
"replacements": null,
"span": [
24900,
24916
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
444,
3
],
"replacements": null,
"span": [
24925,
24942
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
445,
3
],
"replacements": null,
"span": [
24950,
24964
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
446,
3
],
"replacements": null,
"span": [
24975,
24997
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
447,
3
],
"replacements": null,
"span": [
25004,
25020
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
448,
5
],
"replacements": null,
"span": [
25028,
25034
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
449,
5
],
"replacements": null,
"span": [
25040,
25046
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
450,
5
],
"replacements": null,
"span": [
25052,
25058
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
451,
5
],
"replacements": null,
"span": [
25064,
25070
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
453,
3
],
"replacements": null,
"span": [
25078,
25095
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
454,
5
],
"replacements": null,
"span": [
25103,
25109
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
455,
5
],
"replacements": null,
"span": [
25115,
25120
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
456,
5
],
"replacements": null,
"span": [
25126,
25132
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
457,
5
],
"replacements": null,
"span": [
25138,
25144
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
459,
3
],
"replacements": null,
"span": [
25152,
25159
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
460,
3
],
"replacements": null,
"span": [
25166,
25192
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
461,
3
],
"replacements": null,
"span": [
25202,
25215
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
462,
5
],
"replacements": null,
"span": [
25223,
25228
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
463,
5
],
"replacements": null,
"span": [
25268,
25273
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
463,
12
],
"replacements": null,
"span": [
25275,
25336
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
465,
3
],
"replacements": null,
"span": [
25344,
25354
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
480,
5
],
"replacements": null,
"span": [
26059,
26066
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
480,
14
],
"replacements": null,
"span": [
26068,
26075
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
481,
5
],
"replacements": null,
"span": [
26081,
26090
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
482,
5
],
"replacements": null,
"span": [
26103,
26111
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
501,
9
],
"replacements": null,
"span": [
26300,
26307
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'UNF\nUNF' - a phrase is repeated.",
"pos": [
524,
1
],
"replacements": null,
"span": [
26530,
26537
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'bafkreiawsimwdn4blnb7scz2cfwtdksifrayccsl3z6gmxam6uxddctkoy\nbafkreiawsimwdn4blnb7scz2cfwtdksifrayccsl3z6gmxam6uxddctkoy\nbafkreiawsimwdn4blnb7scz2cfwtdksifrayccsl3z6gmxam6uxddctkoy' - a phrase is repeated.",
"pos": [
529,
1
],
"replacements": null,
"span": [
26631,
26810
]
},
{
"check_path": "lexical_illusions",
"message": "There's a lexical illusion in 'Figure 11\n\n\nFigure 11' - a phrase is repeated.",
"pos": [
532,
1
],
"replacements": null,
"span": [
26811,
26832
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
577,
240
],
"replacements": null,
"span": [
30493,
30497
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
577,
347
],
"replacements": null,
"span": [
30600,
30604
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
585,
57
],
"replacements": null,
"span": [
31742,
31753
]
},
{
"check_path": "typography.symbols.curly_quotes",
"message": "Use curly quotes \u201c\u201d, not straight quotes \"\".",
"pos": [
587,
248
],
"replacements": null,
"span": [
32422,
32427
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
589,
345
],
"replacements": null,
"span": [
32931,
32935
]
},
{
"check_path": "needless_variants",
"message": "Needless variant. 'outsize' is the preferred form.",
"pos": [
592,
1
],
"replacements": "outsize",
"span": [
34110,
34118
]
},
{
"check_path": "needless_variants",
"message": "Needless variant. 'outsize' is the preferred form.",
"pos": [
593,
27
],
"replacements": "outsize",
"span": [
34152,
34160
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
602,
290
],
"replacements": null,
"span": [
35035,
35039
]
},
{
"check_path": "skunked_terms",
"message": "'hopefully' is a a skunked term - impossible to use without issue. Find some other way to say it.",
"pos": [
606,
241
],
"replacements": null,
"span": [
36142,
36151
]
},
{
"check_path": "redundancy.misc.after_the_deadline",
"message": "Redundancy. Use 'identification' instead of 'positive identification'.",
"pos": [
606,
256
],
"replacements": "identification",
"span": [
36157,
36180
]
},
{
"check_path": "weasel_words.very",
"message": "Substitute 'damn' every time you're inclined to write 'very'; your editor will delete it and the writing will be just as it should be.",
"pos": [
647,
337
],
"replacements": null,
"span": [
43010,
43014
]
}
]
}
}
}Metadata
Metadata
Assignees
Labels
new rulesetNew potential rulesets for JSONIDNew potential rulesets for JSONID