punctilio 5.2.13 → 5.4.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.
- package/README.md +1 -1
- package/dist/constants.d.ts +37 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +67 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/nbsp.d.ts.map +1 -1
- package/dist/nbsp.js +16 -4
- package/dist/nbsp.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +70 -0
- package/src/index.ts +6 -1
- package/src/nbsp.ts +16 -4
package/README.md
CHANGED
|
@@ -233,7 +233,7 @@ A `.pre-commit-hooks.yaml` ships in the package, so [pre-commit](https://pre-com
|
|
|
233
233
|
# .pre-commit-config.yaml
|
|
234
234
|
repos:
|
|
235
235
|
- repo: https://github.com/AlexanderMattTurner/punctilio
|
|
236
|
-
rev: v5.
|
|
236
|
+
rev: v5.3.0
|
|
237
237
|
hooks:
|
|
238
238
|
- id: punctilio # rewrites *.md / *.html in place
|
|
239
239
|
- id: punctilio-check # or: fail without writing (CI-friendly)
|
package/dist/constants.d.ts
CHANGED
|
@@ -65,9 +65,46 @@ export declare const UNICODE_SYMBOLS: {
|
|
|
65
65
|
readonly ARABIC_QUESTION_MARK: "؟";
|
|
66
66
|
readonly ARABIC_SEMICOLON: "؛";
|
|
67
67
|
readonly GREEK_QUESTION_MARK: ";";
|
|
68
|
+
readonly INVERTED_EXCLAMATION: "¡";
|
|
69
|
+
readonly INVERTED_QUESTION: "¿";
|
|
70
|
+
readonly FULLWIDTH_LEFT_PAREN: "(";
|
|
71
|
+
readonly FULLWIDTH_RIGHT_PAREN: ")";
|
|
72
|
+
readonly FULLWIDTH_LEFT_BRACKET: "[";
|
|
73
|
+
readonly FULLWIDTH_RIGHT_BRACKET: "]";
|
|
74
|
+
readonly FULLWIDTH_LEFT_BRACE: "{";
|
|
75
|
+
readonly FULLWIDTH_RIGHT_BRACE: "}";
|
|
76
|
+
readonly LEFT_ANGLE_BRACKET: "〈";
|
|
77
|
+
readonly RIGHT_ANGLE_BRACKET: "〉";
|
|
78
|
+
readonly LEFT_DOUBLE_ANGLE_BRACKET: "《";
|
|
79
|
+
readonly RIGHT_DOUBLE_ANGLE_BRACKET: "》";
|
|
80
|
+
readonly LEFT_CORNER_BRACKET: "「";
|
|
81
|
+
readonly RIGHT_CORNER_BRACKET: "」";
|
|
82
|
+
readonly LEFT_WHITE_CORNER_BRACKET: "『";
|
|
83
|
+
readonly RIGHT_WHITE_CORNER_BRACKET: "』";
|
|
84
|
+
readonly LEFT_LENTICULAR_BRACKET: "【";
|
|
85
|
+
readonly RIGHT_LENTICULAR_BRACKET: "】";
|
|
68
86
|
};
|
|
69
87
|
/** All terminal punctuation chars for regex character classes (ASCII through CJK/Arabic/Greek). */
|
|
70
88
|
export declare const TERMINAL_PUNCTUATION: readonly ["!", "?", ".", ",", ";", ":", "…", "⁇", "⁈", "⁉", "‼", "‽", "!", "?", ".", ",", ";", ":", "。", "、", "؟", "؛", ";"];
|
|
89
|
+
/**
|
|
90
|
+
* Punctuation that opens a construct and so binds rightward, to the text after
|
|
91
|
+
* it rather than the text before: brackets, the Spanish inverted marks, and the
|
|
92
|
+
* opening quote forms (including the low-9 openers German and Polish use).
|
|
93
|
+
* Guillemets follow the French convention where `«` opens; German inverts them.
|
|
94
|
+
*
|
|
95
|
+
* The counterpart to {@link TERMINAL_PUNCTUATION}, and like it, spans ASCII
|
|
96
|
+
* through CJK. Straight `"` and `'` are absent: their shape is ambiguous until
|
|
97
|
+
* classified, which is what {@link niceQuotes} and {@link classifyApostrophes}
|
|
98
|
+
* settle, so a consumer that wants to treat one as an opener owns that call.
|
|
99
|
+
*/
|
|
100
|
+
export declare const OPENING_PUNCTUATION: readonly string[];
|
|
101
|
+
/**
|
|
102
|
+
* Closing brackets, which may not begin a line. Scoped to brackets because the
|
|
103
|
+
* other marks barred from a line start are {@link TERMINAL_PUNCTUATION} and the
|
|
104
|
+
* closing quote forms in {@link UNICODE_SYMBOLS}; the three together are what a
|
|
105
|
+
* consumer keeps from stranding at a soft wrap.
|
|
106
|
+
*/
|
|
107
|
+
export declare const CLOSING_BRACKETS: readonly string[];
|
|
71
108
|
/**
|
|
72
109
|
* Character class pattern for Latin letters including European accented characters.
|
|
73
110
|
* Use inside regex character classes: `[${LATIN_LETTERS}]`
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FlB,CAAA;AAEV,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,8HAYvB,CAAA;AAqBV;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAgD,CAAA;AAE9F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,qGAAqG,CAAA;AAE/H;;;;;GAKG;AACH,eAAO,MAAM,cAAc,wGAAwB,CAAA;AAEnD,sEAAsE;AACtE,eAAO,MAAM,WAAW,QAAuD,CAAA;AAE/E,qEAAqE;AACrE,eAAO,MAAM,UAAU,QAAoD,CAAA;AAE3E,6FAA6F;AAC7F,eAAO,MAAM,eAAe,QAAwC,CAAA;AAEpE,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,QAAyC,CAAA;AAEvE,+DAA+D;AAC/D,eAAO,MAAM,OAAO,QAAO,CAAA;AAE3B,gFAAgF;AAChF,eAAO,MAAM,aAAa,QAAiC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAA;AAEF,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAEvC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAGxC,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,gBAAgB;AAChB,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
package/dist/constants.js
CHANGED
|
@@ -72,6 +72,27 @@ export const UNICODE_SYMBOLS = {
|
|
|
72
72
|
ARABIC_SEMICOLON: "\u061B", // ؛
|
|
73
73
|
// Greek punctuation
|
|
74
74
|
GREEK_QUESTION_MARK: "\u037E", // ; (visually identical to ASCII semicolon)
|
|
75
|
+
// Spanish inverted openers
|
|
76
|
+
INVERTED_EXCLAMATION: "\u00A1", // ¡
|
|
77
|
+
INVERTED_QUESTION: "\u00BF", // ¿
|
|
78
|
+
// CJK fullwidth brackets
|
|
79
|
+
FULLWIDTH_LEFT_PAREN: "\uFF08", // (
|
|
80
|
+
FULLWIDTH_RIGHT_PAREN: "\uFF09", // )
|
|
81
|
+
FULLWIDTH_LEFT_BRACKET: "\uFF3B", // [
|
|
82
|
+
FULLWIDTH_RIGHT_BRACKET: "\uFF3D", // ]
|
|
83
|
+
FULLWIDTH_LEFT_BRACE: "\uFF5B", // {
|
|
84
|
+
FULLWIDTH_RIGHT_BRACE: "\uFF5D", // }
|
|
85
|
+
// CJK ideographic brackets
|
|
86
|
+
LEFT_ANGLE_BRACKET: "\u3008", // 〈
|
|
87
|
+
RIGHT_ANGLE_BRACKET: "\u3009", // 〉
|
|
88
|
+
LEFT_DOUBLE_ANGLE_BRACKET: "\u300A", // 《
|
|
89
|
+
RIGHT_DOUBLE_ANGLE_BRACKET: "\u300B", // 》
|
|
90
|
+
LEFT_CORNER_BRACKET: "\u300C", // 「
|
|
91
|
+
RIGHT_CORNER_BRACKET: "\u300D", // 」
|
|
92
|
+
LEFT_WHITE_CORNER_BRACKET: "\u300E", // 『
|
|
93
|
+
RIGHT_WHITE_CORNER_BRACKET: "\u300F", // 』
|
|
94
|
+
LEFT_LENTICULAR_BRACKET: "\u3010", // 【
|
|
95
|
+
RIGHT_LENTICULAR_BRACKET: "\u3011", // 】
|
|
75
96
|
};
|
|
76
97
|
/** All terminal punctuation chars for regex character classes (ASCII through CJK/Arabic/Greek). */
|
|
77
98
|
export const TERMINAL_PUNCTUATION = [
|
|
@@ -87,6 +108,52 @@ export const TERMINAL_PUNCTUATION = [
|
|
|
87
108
|
UNICODE_SYMBOLS.ARABIC_QUESTION_MARK, UNICODE_SYMBOLS.ARABIC_SEMICOLON,
|
|
88
109
|
UNICODE_SYMBOLS.GREEK_QUESTION_MARK,
|
|
89
110
|
];
|
|
111
|
+
/**
|
|
112
|
+
* Bracket pairs, opening first, ASCII through the fullwidth and CJK forms.
|
|
113
|
+
* {@link OPENING_PUNCTUATION} and {@link CLOSING_BRACKETS} are both projections
|
|
114
|
+
* of this list, so a bracket can never be listed on one side only.
|
|
115
|
+
*/
|
|
116
|
+
const BRACKET_PAIRS = [
|
|
117
|
+
["(", ")"],
|
|
118
|
+
["[", "]"],
|
|
119
|
+
["{", "}"],
|
|
120
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_PAREN, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_PAREN],
|
|
121
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_BRACKET, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_BRACKET],
|
|
122
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_BRACE, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_BRACE],
|
|
123
|
+
[UNICODE_SYMBOLS.LEFT_ANGLE_BRACKET, UNICODE_SYMBOLS.RIGHT_ANGLE_BRACKET],
|
|
124
|
+
[UNICODE_SYMBOLS.LEFT_DOUBLE_ANGLE_BRACKET, UNICODE_SYMBOLS.RIGHT_DOUBLE_ANGLE_BRACKET],
|
|
125
|
+
[UNICODE_SYMBOLS.LEFT_CORNER_BRACKET, UNICODE_SYMBOLS.RIGHT_CORNER_BRACKET],
|
|
126
|
+
[UNICODE_SYMBOLS.LEFT_WHITE_CORNER_BRACKET, UNICODE_SYMBOLS.RIGHT_WHITE_CORNER_BRACKET],
|
|
127
|
+
[UNICODE_SYMBOLS.LEFT_LENTICULAR_BRACKET, UNICODE_SYMBOLS.RIGHT_LENTICULAR_BRACKET],
|
|
128
|
+
];
|
|
129
|
+
/**
|
|
130
|
+
* Punctuation that opens a construct and so binds rightward, to the text after
|
|
131
|
+
* it rather than the text before: brackets, the Spanish inverted marks, and the
|
|
132
|
+
* opening quote forms (including the low-9 openers German and Polish use).
|
|
133
|
+
* Guillemets follow the French convention where `«` opens; German inverts them.
|
|
134
|
+
*
|
|
135
|
+
* The counterpart to {@link TERMINAL_PUNCTUATION}, and like it, spans ASCII
|
|
136
|
+
* through CJK. Straight `"` and `'` are absent: their shape is ambiguous until
|
|
137
|
+
* classified, which is what {@link niceQuotes} and {@link classifyApostrophes}
|
|
138
|
+
* settle, so a consumer that wants to treat one as an opener owns that call.
|
|
139
|
+
*/
|
|
140
|
+
export const OPENING_PUNCTUATION = [
|
|
141
|
+
...BRACKET_PAIRS.map(([opening]) => opening),
|
|
142
|
+
UNICODE_SYMBOLS.INVERTED_EXCLAMATION,
|
|
143
|
+
UNICODE_SYMBOLS.INVERTED_QUESTION,
|
|
144
|
+
UNICODE_SYMBOLS.LEFT_DOUBLE_QUOTE,
|
|
145
|
+
UNICODE_SYMBOLS.LEFT_SINGLE_QUOTE,
|
|
146
|
+
UNICODE_SYMBOLS.LEFT_GUILLEMET,
|
|
147
|
+
UNICODE_SYMBOLS.DOUBLE_LOW_9_QUOTE,
|
|
148
|
+
UNICODE_SYMBOLS.SINGLE_LOW_9_QUOTE,
|
|
149
|
+
];
|
|
150
|
+
/**
|
|
151
|
+
* Closing brackets, which may not begin a line. Scoped to brackets because the
|
|
152
|
+
* other marks barred from a line start are {@link TERMINAL_PUNCTUATION} and the
|
|
153
|
+
* closing quote forms in {@link UNICODE_SYMBOLS}; the three together are what a
|
|
154
|
+
* consumer keeps from stranding at a soft wrap.
|
|
155
|
+
*/
|
|
156
|
+
export const CLOSING_BRACKETS = BRACKET_PAIRS.map(([, closing]) => closing);
|
|
90
157
|
/**
|
|
91
158
|
* Character class pattern for Latin letters including European accented characters.
|
|
92
159
|
* Use inside regex character classes: `[${LATIN_LETTERS}]`
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,QAAQ;IAClB,cAAc,EAAE,QAAQ;IACxB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,gBAAgB,EAAE,QAAQ;IAC1B,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,QAAQ;IACvB,KAAK,EAAE,QAAQ;IACf,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,iBAAiB,EAAE,QAAQ;IAC3B,kBAAkB,EAAE,QAAQ;IAC5B,iBAAiB,EAAE,QAAQ;IAC3B,kBAAkB,EAAE,QAAQ;IAC5B,0BAA0B,EAAE,QAAQ;IACpC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ,EAAoB,0DAA0D;IAC7F,WAAW,EAAE,QAAQ,EAAc,0DAA0D;IAC7F,kBAAkB,EAAE,QAAQ,EAAO,IAAI;IACvC,kBAAkB,EAAE,QAAQ,EAAM,IAAI;IACtC,cAAc,EAAE,QAAQ,EAAU,IAAI;IACtC,eAAe,EAAE,QAAQ,EAAS,IAAI;IACtC,+BAA+B;IAC/B,cAAc,EAAE,cAAc,EAAE,KAAK;IACrC,cAAc,EAAE,cAAc,EAAE,KAAK;IACrC,cAAc,EAAE,cAAc,EAAE,KAAK;IACrC,cAAc,EAAE,cAAc,EAAE,KAAK;IACrC,wBAAwB;IACxB,eAAe,EAAE,QAAQ,EAAE,IAAI;IAC/B,oBAAoB,EAAE,QAAQ,EAAE,IAAI;IACpC,oBAAoB,EAAE,QAAQ,EAAE,IAAI;IACpC,kBAAkB,EAAE,QAAQ,EAAE,IAAI;IAClC,WAAW,EAAE,QAAQ,EAAE,IAAI;IAC3B,4BAA4B;IAC5B,qBAAqB,EAAE,QAAQ,EAAE,IAAI;IACrC,kBAAkB,EAAE,QAAQ,EAAE,IAAI;IAClC,gBAAgB,EAAE,QAAQ,EAAE,IAAI;IAChC,eAAe,EAAE,QAAQ,EAAE,IAAI;IAC/B,mBAAmB,EAAE,QAAQ,EAAE,IAAI;IACnC,eAAe,EAAE,QAAQ,EAAE,IAAI;IAC/B,8BAA8B;IAC9B,qBAAqB,EAAE,QAAQ,EAAE,IAAI;IACrC,iBAAiB,EAAE,QAAQ,EAAE,IAAI;IACjC,qBAAqB;IACrB,oBAAoB,EAAE,QAAQ,EAAE,IAAI;IACpC,gBAAgB,EAAE,QAAQ,EAAE,IAAI;IAChC,oBAAoB;IACpB,mBAAmB,EAAE,QAAQ,EAAE,4CAA4C;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { UNICODE_SYMBOLS } from "./constants.js";
|
|
1
|
+
export { CLOSING_BRACKETS, OPENING_PUNCTUATION, TERMINAL_PUNCTUATION, UNICODE_SYMBOLS, } from "./constants.js";
|
|
2
2
|
export { DASH_STYLES, type DashOptions, type DashStyle, dashWordJoiner, hyphenReplace, } from "./dashes.js";
|
|
3
3
|
export { nbspTransform } from "./nbsp.js";
|
|
4
4
|
export { buildProseView, definePass, type ProseNode, type ProsePass, type ProseView, replaceAllInView, type ReplaceAllOptions, withProseView, } from "./prose-view.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,cAAc,EACd,UAAU,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC3H,OAAO,EAAE,KAAK,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAM9D,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGtH,eAAO,MAAM,0BAA0B,KAA6C,CAAA;AAqDpF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAOnF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAE9E"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { UNICODE_SYMBOLS } from "./constants.js";
|
|
1
|
+
export { CLOSING_BRACKETS, OPENING_PUNCTUATION, TERMINAL_PUNCTUATION, UNICODE_SYMBOLS, } from "./constants.js";
|
|
2
2
|
export { DASH_STYLES, dashWordJoiner, hyphenReplace, } from "./dashes.js";
|
|
3
3
|
export { nbspTransform } from "./nbsp.js";
|
|
4
4
|
export { buildProseView, definePass, replaceAllInView, withProseView, } from "./prose-view.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/nbsp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"AACA,OAAO,EAA8F,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAiB9J,wEAAwE;AACxE,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAqClC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAcvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EASpD,CAAA;
|
|
1
|
+
{"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"AACA,OAAO,EAA8F,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAiB9J,wEAAwE;AACxE,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAqClC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAcvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EASpD,CAAA;AA+ED,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAuC7E,eAAO,MAAM,wBAAwB,qCAAkD,CAAA;AAgFvF,eAAO,MAAM,kBAAkB,qCAA4C,CAAA;AAkH3E,eAAO,MAAM,+BAA+B,qCAAyD,CAAA;AAErG,eAAO,MAAM,uBAAuB,qCAAiD,CAAA;AAErF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAE7E,eAAO,MAAM,yBAAyB,qCAAmD,CAAA;AAEzF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAc7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA"}
|
package/dist/nbsp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js";
|
|
1
|
+
import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHAR_RE, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js";
|
|
2
2
|
import { boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, replaceAllInView } from "./prose-view.js";
|
|
3
3
|
const { NBSP, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, COPYRIGHT, REGISTERED, TRADEMARK, } = UNICODE_SYMBOLS;
|
|
4
4
|
const SPACE = `[${SPACE_CHARS}]`;
|
|
@@ -109,6 +109,15 @@ function isContractionFragment(text, offset) {
|
|
|
109
109
|
APOSTROPHE_CHARS.includes(text[offset - 1]) &&
|
|
110
110
|
LATIN_LETTER_RE.test(text[offset - 2]));
|
|
111
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* True when the space at `index` opens a run of two or more spaces. Gluing such
|
|
114
|
+
* a space strands the NBSP next to a space that still renders, widening the gap
|
|
115
|
+
* instead of binding the two words.
|
|
116
|
+
*/
|
|
117
|
+
function opensSpaceRun(text, index) {
|
|
118
|
+
// `slice` yields "" past the end of the text, which no space char matches.
|
|
119
|
+
return SPACE_CHAR_RE.test(text.slice(index + 1, index + 2));
|
|
120
|
+
}
|
|
112
121
|
/**
|
|
113
122
|
* True when the word starting at `start` is already glued onward by an NBSP
|
|
114
123
|
* (a unit, initial, or honorific chain). Binding a short word to it would
|
|
@@ -124,9 +133,10 @@ function nextWordGluesForward(text, start) {
|
|
|
124
133
|
}
|
|
125
134
|
return false;
|
|
126
135
|
}
|
|
127
|
-
// Skips contraction fragments
|
|
128
|
-
// single line-break atom: preceded by NBSP,
|
|
129
|
-
// match, or followed by a word that is itself
|
|
136
|
+
// Skips contraction fragments, spaces opening a multi-space run, and any glue
|
|
137
|
+
// that would bind 3+ words into a single line-break atom: preceded by NBSP,
|
|
138
|
+
// back-to-back with the previous match, or followed by a word that is itself
|
|
139
|
+
// glued onward.
|
|
130
140
|
export const nbspAfterShortWords = makeProsePass(nbspAfterShortWordsOverView);
|
|
131
141
|
function nbspAfterShortWordsOverView(view) {
|
|
132
142
|
const pattern = cachedRegExp(`(?<=^|${SPACE}|${PUNCTUATION_OR_QUOTE}|>)(?<shortWord>[${LATIN_LETTERS}]{1,2})${SPACE}`, "gmu");
|
|
@@ -145,6 +155,8 @@ function nbspAfterShortWordsOverView(view) {
|
|
|
145
155
|
return null;
|
|
146
156
|
if (isContractionFragment(clean, offset))
|
|
147
157
|
return null;
|
|
158
|
+
if (opensSpaceRun(clean, offset + match[0].length - 1))
|
|
159
|
+
return null;
|
|
148
160
|
if (nextWordGluesForward(clean, offset + match[0].length))
|
|
149
161
|
return null;
|
|
150
162
|
previousMatchEnd = offset + match[0].length;
|
package/dist/nbsp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nbsp.js","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nbsp.js","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -73,6 +73,27 @@ export const UNICODE_SYMBOLS = {
|
|
|
73
73
|
ARABIC_SEMICOLON: "\u061B", // ؛
|
|
74
74
|
// Greek punctuation
|
|
75
75
|
GREEK_QUESTION_MARK: "\u037E", // ; (visually identical to ASCII semicolon)
|
|
76
|
+
// Spanish inverted openers
|
|
77
|
+
INVERTED_EXCLAMATION: "\u00A1", // ¡
|
|
78
|
+
INVERTED_QUESTION: "\u00BF", // ¿
|
|
79
|
+
// CJK fullwidth brackets
|
|
80
|
+
FULLWIDTH_LEFT_PAREN: "\uFF08", // (
|
|
81
|
+
FULLWIDTH_RIGHT_PAREN: "\uFF09", // )
|
|
82
|
+
FULLWIDTH_LEFT_BRACKET: "\uFF3B", // [
|
|
83
|
+
FULLWIDTH_RIGHT_BRACKET: "\uFF3D", // ]
|
|
84
|
+
FULLWIDTH_LEFT_BRACE: "\uFF5B", // {
|
|
85
|
+
FULLWIDTH_RIGHT_BRACE: "\uFF5D", // }
|
|
86
|
+
// CJK ideographic brackets
|
|
87
|
+
LEFT_ANGLE_BRACKET: "\u3008", // 〈
|
|
88
|
+
RIGHT_ANGLE_BRACKET: "\u3009", // 〉
|
|
89
|
+
LEFT_DOUBLE_ANGLE_BRACKET: "\u300A", // 《
|
|
90
|
+
RIGHT_DOUBLE_ANGLE_BRACKET: "\u300B", // 》
|
|
91
|
+
LEFT_CORNER_BRACKET: "\u300C", // 「
|
|
92
|
+
RIGHT_CORNER_BRACKET: "\u300D", // 」
|
|
93
|
+
LEFT_WHITE_CORNER_BRACKET: "\u300E", // 『
|
|
94
|
+
RIGHT_WHITE_CORNER_BRACKET: "\u300F", // 』
|
|
95
|
+
LEFT_LENTICULAR_BRACKET: "\u3010", // 【
|
|
96
|
+
RIGHT_LENTICULAR_BRACKET: "\u3011", // 】
|
|
76
97
|
} as const
|
|
77
98
|
|
|
78
99
|
/** All terminal punctuation chars for regex character classes (ASCII through CJK/Arabic/Greek). */
|
|
@@ -90,6 +111,55 @@ export const TERMINAL_PUNCTUATION = [
|
|
|
90
111
|
UNICODE_SYMBOLS.GREEK_QUESTION_MARK,
|
|
91
112
|
] as const
|
|
92
113
|
|
|
114
|
+
/**
|
|
115
|
+
* Bracket pairs, opening first, ASCII through the fullwidth and CJK forms.
|
|
116
|
+
* {@link OPENING_PUNCTUATION} and {@link CLOSING_BRACKETS} are both projections
|
|
117
|
+
* of this list, so a bracket can never be listed on one side only.
|
|
118
|
+
*/
|
|
119
|
+
const BRACKET_PAIRS: readonly (readonly [string, string])[] = [
|
|
120
|
+
["(", ")"],
|
|
121
|
+
["[", "]"],
|
|
122
|
+
["{", "}"],
|
|
123
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_PAREN, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_PAREN],
|
|
124
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_BRACKET, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_BRACKET],
|
|
125
|
+
[UNICODE_SYMBOLS.FULLWIDTH_LEFT_BRACE, UNICODE_SYMBOLS.FULLWIDTH_RIGHT_BRACE],
|
|
126
|
+
[UNICODE_SYMBOLS.LEFT_ANGLE_BRACKET, UNICODE_SYMBOLS.RIGHT_ANGLE_BRACKET],
|
|
127
|
+
[UNICODE_SYMBOLS.LEFT_DOUBLE_ANGLE_BRACKET, UNICODE_SYMBOLS.RIGHT_DOUBLE_ANGLE_BRACKET],
|
|
128
|
+
[UNICODE_SYMBOLS.LEFT_CORNER_BRACKET, UNICODE_SYMBOLS.RIGHT_CORNER_BRACKET],
|
|
129
|
+
[UNICODE_SYMBOLS.LEFT_WHITE_CORNER_BRACKET, UNICODE_SYMBOLS.RIGHT_WHITE_CORNER_BRACKET],
|
|
130
|
+
[UNICODE_SYMBOLS.LEFT_LENTICULAR_BRACKET, UNICODE_SYMBOLS.RIGHT_LENTICULAR_BRACKET],
|
|
131
|
+
]
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Punctuation that opens a construct and so binds rightward, to the text after
|
|
135
|
+
* it rather than the text before: brackets, the Spanish inverted marks, and the
|
|
136
|
+
* opening quote forms (including the low-9 openers German and Polish use).
|
|
137
|
+
* Guillemets follow the French convention where `«` opens; German inverts them.
|
|
138
|
+
*
|
|
139
|
+
* The counterpart to {@link TERMINAL_PUNCTUATION}, and like it, spans ASCII
|
|
140
|
+
* through CJK. Straight `"` and `'` are absent: their shape is ambiguous until
|
|
141
|
+
* classified, which is what {@link niceQuotes} and {@link classifyApostrophes}
|
|
142
|
+
* settle, so a consumer that wants to treat one as an opener owns that call.
|
|
143
|
+
*/
|
|
144
|
+
export const OPENING_PUNCTUATION: readonly string[] = [
|
|
145
|
+
...BRACKET_PAIRS.map(([opening]) => opening),
|
|
146
|
+
UNICODE_SYMBOLS.INVERTED_EXCLAMATION,
|
|
147
|
+
UNICODE_SYMBOLS.INVERTED_QUESTION,
|
|
148
|
+
UNICODE_SYMBOLS.LEFT_DOUBLE_QUOTE,
|
|
149
|
+
UNICODE_SYMBOLS.LEFT_SINGLE_QUOTE,
|
|
150
|
+
UNICODE_SYMBOLS.LEFT_GUILLEMET,
|
|
151
|
+
UNICODE_SYMBOLS.DOUBLE_LOW_9_QUOTE,
|
|
152
|
+
UNICODE_SYMBOLS.SINGLE_LOW_9_QUOTE,
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Closing brackets, which may not begin a line. Scoped to brackets because the
|
|
157
|
+
* other marks barred from a line start are {@link TERMINAL_PUNCTUATION} and the
|
|
158
|
+
* closing quote forms in {@link UNICODE_SYMBOLS}; the three together are what a
|
|
159
|
+
* consumer keeps from stranding at a soft wrap.
|
|
160
|
+
*/
|
|
161
|
+
export const CLOSING_BRACKETS: readonly string[] = BRACKET_PAIRS.map(([, closing]) => closing)
|
|
162
|
+
|
|
93
163
|
/**
|
|
94
164
|
* Character class pattern for Latin letters including European accented characters.
|
|
95
165
|
* Use inside regex character classes: `[${LATIN_LETTERS}]`
|
package/src/index.ts
CHANGED
package/src/nbsp.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js"
|
|
1
|
+
import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHAR_RE, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js"
|
|
2
2
|
import { boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, type ProseView, replaceAllInView } from "./prose-view.js"
|
|
3
3
|
|
|
4
4
|
const {
|
|
@@ -132,6 +132,16 @@ function isContractionFragment(text: string, offset: number): boolean {
|
|
|
132
132
|
)
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
+
/**
|
|
136
|
+
* True when the space at `index` opens a run of two or more spaces. Gluing such
|
|
137
|
+
* a space strands the NBSP next to a space that still renders, widening the gap
|
|
138
|
+
* instead of binding the two words.
|
|
139
|
+
*/
|
|
140
|
+
function opensSpaceRun(text: string, index: number): boolean {
|
|
141
|
+
// `slice` yields "" past the end of the text, which no space char matches.
|
|
142
|
+
return SPACE_CHAR_RE.test(text.slice(index + 1, index + 2))
|
|
143
|
+
}
|
|
144
|
+
|
|
135
145
|
/**
|
|
136
146
|
* True when the word starting at `start` is already glued onward by an NBSP
|
|
137
147
|
* (a unit, initial, or honorific chain). Binding a short word to it would
|
|
@@ -146,9 +156,10 @@ function nextWordGluesForward(text: string, start: number): boolean {
|
|
|
146
156
|
return false
|
|
147
157
|
}
|
|
148
158
|
|
|
149
|
-
// Skips contraction fragments
|
|
150
|
-
// single line-break atom: preceded by NBSP,
|
|
151
|
-
// match, or followed by a word that is itself
|
|
159
|
+
// Skips contraction fragments, spaces opening a multi-space run, and any glue
|
|
160
|
+
// that would bind 3+ words into a single line-break atom: preceded by NBSP,
|
|
161
|
+
// back-to-back with the previous match, or followed by a word that is itself
|
|
162
|
+
// glued onward.
|
|
152
163
|
export const nbspAfterShortWords = makeProsePass(nbspAfterShortWordsOverView)
|
|
153
164
|
|
|
154
165
|
function nbspAfterShortWordsOverView(view: ProseView): void {
|
|
@@ -170,6 +181,7 @@ function nbspAfterShortWordsOverView(view: ProseView): void {
|
|
|
170
181
|
if (view.hasBoundary(offset)) return null
|
|
171
182
|
if (offset > 0 && NBSP_CHARS.includes(clean[offset - 1])) return null
|
|
172
183
|
if (isContractionFragment(clean, offset)) return null
|
|
184
|
+
if (opensSpaceRun(clean, offset + match[0].length - 1)) return null
|
|
173
185
|
if (nextWordGluesForward(clean, offset + match[0].length)) return null
|
|
174
186
|
previousMatchEnd = offset + match[0].length
|
|
175
187
|
// Edit only the space so any boundary keeps its side of the NBSP.
|