diff --git a/app/editor/extensions/BlockMenu.tsx b/app/editor/extensions/BlockMenu.tsx index 8413b1a7a..74d9bc944 100644 --- a/app/editor/extensions/BlockMenu.tsx +++ b/app/editor/extensions/BlockMenu.tsx @@ -12,8 +12,9 @@ import BlockMenu from "../components/BlockMenu"; export default class BlockMenuExtension extends Suggestion { get defaultOptions() { return { - openRegex: /^\/(\w+)?$/, - closeRegex: /(^(?!\/(\w+)?)(.*)$|^\/(([\w\W]+)\s.*|\s)$|^\/((\W)+)$)/, + // ported from https://github.com/tc39/proposal-regexp-unicode-property-escapes#unicode-aware-version-of-w + openRegex: /(?:^|\s|\()\/([\p{L}\p{M}\d]+)?$/u, + closeRegex: /(?:^|\s|\()\/(([\p{L}\p{M}\d]*\s+)|(\s+[\p{L}\p{M}\d]+))$/u, }; } diff --git a/app/editor/extensions/EmojiMenu.tsx b/app/editor/extensions/EmojiMenu.tsx index 813fecc02..ea8524b88 100644 --- a/app/editor/extensions/EmojiMenu.tsx +++ b/app/editor/extensions/EmojiMenu.tsx @@ -24,7 +24,6 @@ export default class EmojiMenuExtension extends Suggestion { ), closeRegex: /(?:^|\s|\():(([0-9a-zA-Z_+-]*\s+)|(\s+[0-9a-zA-Z_+-]+)|[^0-9a-zA-Z_+-]+)$/, - enabledInTable: true, }; } diff --git a/app/editor/extensions/MentionMenu.tsx b/app/editor/extensions/MentionMenu.tsx index a7f4119f8..6f1943b0c 100644 --- a/app/editor/extensions/MentionMenu.tsx +++ b/app/editor/extensions/MentionMenu.tsx @@ -10,7 +10,6 @@ export default class MentionMenuExtension extends Suggestion { // ported from https://github.com/tc39/proposal-regexp-unicode-property-escapes#unicode-aware-version-of-w openRegex: /(?:^|\s|\()@([\p{L}\p{M}\d]+)?$/u, closeRegex: /(?:^|\s|\()@(([\p{L}\p{M}\d]*\s+)|(\s+[\p{L}\p{M}\d]+))$/u, - enabledInTable: true, }; } diff --git a/app/editor/extensions/Suggestion.ts b/app/editor/extensions/Suggestion.ts index 491db01ee..5394d76dc 100644 --- a/app/editor/extensions/Suggestion.ts +++ b/app/editor/extensions/Suggestion.ts @@ -2,7 +2,6 @@ import { action, observable } from "mobx"; import { InputRule } from "prosemirror-inputrules"; import { NodeType, Schema } from "prosemirror-model"; import { EditorState, Plugin } from "prosemirror-state"; -import { isInTable } from "prosemirror-tables"; import Extension from "@shared/editor/lib/Extension"; import { SuggestionsMenuPlugin } from "@shared/editor/plugins/Suggestions"; import { isInCode } from "@shared/editor/queries/isInCode"; @@ -50,8 +49,7 @@ export default class Suggestion extends Extension { match && (parent.type.name === "paragraph" || parent.type.name === "heading") && - (!isInCode(state) || this.options.enabledInCode) && - (!isInTable(state) || this.options.enabledInTable) + (!isInCode(state) || this.options.enabledInCode) ) { this.state.open = true; this.state.query = match[1]; diff --git a/shared/editor/plugins/Suggestions.ts b/shared/editor/plugins/Suggestions.ts index ffc953f47..2e1f0ccd7 100644 --- a/shared/editor/plugins/Suggestions.ts +++ b/shared/editor/plugins/Suggestions.ts @@ -8,7 +8,6 @@ type Options = { openRegex: RegExp; closeRegex: RegExp; enabledInCode: true; - enabledInTable: true; }; type ExtensionState = {