24
25
constructor(wordSeparators: string, intlSegmenterLocales: Intl.UnicodeBCP47LocaleIdentifier[]) {
27
>
this.intlSegmenterLocales = intlSegmenterLocales;
28
>
if (this.intlSegmenterLocales.length > 0) {
29
this._segmenter = safeIntl.Segmenter(this.intlSegmenterLocales, { granularity: 'word' });
31
>
this._segmenter = null;
32
>
}
33
>
34
>
for (let i = 0, len = wordSeparators.length; i < len; i++) {
35
>
this.set(wordSeparators.charCodeAt(i), WordCharacterClass.WordSeparator);
36
>
}
37
>
38
>
this.set(CharCode.Space, WordCharacterClass.Whitespace);
39
>
this.set(CharCode.Tab, WordCharacterClass.Whitespace);
40
>
}
41
42
public findPrevIntlWordBeforeOrAtOffset(line: string, offset: number): IntlWordSegmentData | null {