Slate.js — фигурные скобки не работают, как указано

#javascript #reactjs #slatejs

Вопрос:

Пытаюсь переработать пример с упоминаниями, чтобы использовать две фигурные скобки ( {{ ) вместо @ символа для запуска всплывающего окна. В конечном итоге хотелось бы, чтобы выделенный текст отображался как:

{{R2-D2}} вместо @R2-D2 .

Проблема, по-видимому, в том, что beforeText вы не получаете полное слово с момента разрыва строки. Для каждого введенного текста он переходит и удаляет переднюю скобку, поэтому замененное регулярное выражение в beforeMatch (сейчас beforeText.match(/^({{2})(w )$/) ) не разрешается.

Для: like {
До того, как текст будет: like {

Для: like {{
До того, как текст будет: like {{

Для: like {{R
До того, как текст будет: {R

Как я могу заставить beforeText не переходить к удалению первой скобки при вводе первой буквы? Я пытался добавить опцию расстояния в .before (), но это дает тот же результат.