diff --git a/app/scenes/Document/components/MultiplayerEditor.tsx b/app/scenes/Document/components/MultiplayerEditor.tsx index dc3992f5d..d37ad3ce8 100644 --- a/app/scenes/Document/components/MultiplayerEditor.tsx +++ b/app/scenes/Document/components/MultiplayerEditor.tsx @@ -5,6 +5,7 @@ import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; import { IndexeddbPersistence } from "y-indexeddb"; import * as Y from "yjs"; +import MultiplayerExtension from "@shared/editor/extensions/Multiplayer"; import Editor, { Props as EditorProps } from "~/components/Editor"; import env from "~/env"; import useCurrentToken from "~/hooks/useCurrentToken"; @@ -14,7 +15,6 @@ import useIsMounted from "~/hooks/useIsMounted"; import usePageVisibility from "~/hooks/usePageVisibility"; import useStores from "~/hooks/useStores"; import useToasts from "~/hooks/useToasts"; -import MultiplayerExtension from "~/multiplayer/MultiplayerExtension"; import Logger from "~/utils/Logger"; import { supportsPassiveListener } from "~/utils/browser"; import { homePath } from "~/utils/routeHelpers"; diff --git a/shared/editor/plugins/BlockMenuTrigger.tsx b/shared/editor/extensions/BlockMenuTrigger.tsx similarity index 100% rename from shared/editor/plugins/BlockMenuTrigger.tsx rename to shared/editor/extensions/BlockMenuTrigger.tsx diff --git a/shared/editor/plugins/ClipboardTextSerializer.ts b/shared/editor/extensions/ClipboardTextSerializer.ts similarity index 100% rename from shared/editor/plugins/ClipboardTextSerializer.ts rename to shared/editor/extensions/ClipboardTextSerializer.ts diff --git a/shared/editor/plugins/DateTime.ts b/shared/editor/extensions/DateTime.ts similarity index 100% rename from shared/editor/plugins/DateTime.ts rename to shared/editor/extensions/DateTime.ts diff --git a/shared/editor/plugins/Folding.tsx b/shared/editor/extensions/Folding.tsx similarity index 100% rename from shared/editor/plugins/Folding.tsx rename to shared/editor/extensions/Folding.tsx diff --git a/shared/editor/plugins/History.ts b/shared/editor/extensions/History.ts similarity index 100% rename from shared/editor/plugins/History.ts rename to shared/editor/extensions/History.ts diff --git a/shared/editor/plugins/Keys.ts b/shared/editor/extensions/Keys.ts similarity index 100% rename from shared/editor/plugins/Keys.ts rename to shared/editor/extensions/Keys.ts diff --git a/shared/editor/plugins/Math.ts b/shared/editor/extensions/Math.ts similarity index 100% rename from shared/editor/plugins/Math.ts rename to shared/editor/extensions/Math.ts diff --git a/shared/editor/plugins/MaxLength.ts b/shared/editor/extensions/MaxLength.ts similarity index 100% rename from shared/editor/plugins/MaxLength.ts rename to shared/editor/extensions/MaxLength.ts diff --git a/shared/editor/plugins/Mermaid.ts b/shared/editor/extensions/Mermaid.ts similarity index 100% rename from shared/editor/plugins/Mermaid.ts rename to shared/editor/extensions/Mermaid.ts diff --git a/app/multiplayer/MultiplayerExtension.ts b/shared/editor/extensions/Multiplayer.ts similarity index 93% rename from app/multiplayer/MultiplayerExtension.ts rename to shared/editor/extensions/Multiplayer.ts index 52d60f995..731010bab 100644 --- a/app/multiplayer/MultiplayerExtension.ts +++ b/shared/editor/extensions/Multiplayer.ts @@ -7,9 +7,9 @@ import { } from "@getoutline/y-prosemirror"; import { keymap } from "prosemirror-keymap"; import * as Y from "yjs"; -import { Extension } from "~/editor"; +import Extension from "../lib/Extension"; -export default class MultiplayerExtension extends Extension { +export default class Multiplayer extends Extension { get name() { return "multiplayer"; } diff --git a/shared/editor/plugins/PasteHandler.ts b/shared/editor/extensions/PasteHandler.ts similarity index 100% rename from shared/editor/plugins/PasteHandler.ts rename to shared/editor/extensions/PasteHandler.ts diff --git a/shared/editor/plugins/Placeholder.ts b/shared/editor/extensions/Placeholder.ts similarity index 100% rename from shared/editor/plugins/Placeholder.ts rename to shared/editor/extensions/Placeholder.ts diff --git a/shared/editor/plugins/PreventTab.ts b/shared/editor/extensions/PreventTab.ts similarity index 100% rename from shared/editor/plugins/PreventTab.ts rename to shared/editor/extensions/PreventTab.ts diff --git a/shared/editor/plugins/Prism.ts b/shared/editor/extensions/Prism.ts similarity index 100% rename from shared/editor/plugins/Prism.ts rename to shared/editor/extensions/Prism.ts diff --git a/shared/editor/plugins/SmartText.ts b/shared/editor/extensions/SmartText.ts similarity index 100% rename from shared/editor/plugins/SmartText.ts rename to shared/editor/extensions/SmartText.ts diff --git a/shared/editor/plugins/TrailingNode.ts b/shared/editor/extensions/TrailingNode.ts similarity index 100% rename from shared/editor/plugins/TrailingNode.ts rename to shared/editor/extensions/TrailingNode.ts diff --git a/shared/editor/nodes/CodeFence.ts b/shared/editor/nodes/CodeFence.ts index c06b6330f..f865dd57e 100644 --- a/shared/editor/nodes/CodeFence.ts +++ b/shared/editor/nodes/CodeFence.ts @@ -56,11 +56,10 @@ import zig from "refractor/lang/zig"; import { Dictionary } from "~/hooks/useDictionary"; import { UserPreferences } from "../../types"; import Storage from "../../utils/Storage"; - import toggleBlockType from "../commands/toggleBlockType"; +import Mermaid from "../extensions/Mermaid"; +import Prism, { LANGUAGES } from "../extensions/Prism"; import { MarkdownSerializerState } from "../lib/markdown/serializer"; -import Mermaid from "../plugins/Mermaid"; -import Prism, { LANGUAGES } from "../plugins/Prism"; import isInCode from "../queries/isInCode"; import { Dispatch } from "../types"; import Node from "./Node"; diff --git a/shared/editor/nodes/Emoji.tsx b/shared/editor/nodes/Emoji.tsx index 792332fc2..9c03b602a 100644 --- a/shared/editor/nodes/Emoji.tsx +++ b/shared/editor/nodes/Emoji.tsx @@ -3,8 +3,8 @@ import Token from "markdown-it/lib/token"; import { InputRule } from "prosemirror-inputrules"; import { NodeSpec, Node as ProsemirrorNode, NodeType } from "prosemirror-model"; import { EditorState, TextSelection, Plugin } from "prosemirror-state"; +import { run } from "../extensions/BlockMenuTrigger"; import { MarkdownSerializerState } from "../lib/markdown/serializer"; -import { run } from "../plugins/BlockMenuTrigger"; import isInCode from "../queries/isInCode"; import emojiRule from "../rules/emoji"; import { Dispatch, EventType } from "../types"; diff --git a/shared/editor/nodes/Math.ts b/shared/editor/nodes/Math.ts index a3800bad0..08cc6f0fb 100644 --- a/shared/editor/nodes/Math.ts +++ b/shared/editor/nodes/Math.ts @@ -18,8 +18,8 @@ import { Node as ProsemirrorNode, } from "prosemirror-model"; import { EditorState, Plugin } from "prosemirror-state"; +import MathPlugin from "../extensions/Math"; import { MarkdownSerializerState } from "../lib/markdown/serializer"; -import MathPlugin from "../plugins/Math"; import mathRule, { REGEX_INLINE_MATH_DOLLARS } from "../rules/math"; import { Dispatch } from "../types"; import Node from "./Node"; diff --git a/shared/editor/nodes/Mention.ts b/shared/editor/nodes/Mention.ts index 05590a320..1a53d5c7b 100644 --- a/shared/editor/nodes/Mention.ts +++ b/shared/editor/nodes/Mention.ts @@ -2,8 +2,8 @@ import Token from "markdown-it/lib/token"; import { InputRule } from "prosemirror-inputrules"; import { NodeSpec, Node as ProsemirrorNode, NodeType } from "prosemirror-model"; import { EditorState, TextSelection, Plugin } from "prosemirror-state"; +import { run } from "../extensions/BlockMenuTrigger"; import { MarkdownSerializerState } from "../lib/markdown/serializer"; -import { run } from "../plugins/BlockMenuTrigger"; import isInCode from "../queries/isInCode"; import mentionRule from "../rules/mention"; import { Dispatch, EventType } from "../types"; diff --git a/shared/editor/nodes/index.ts b/shared/editor/nodes/index.ts index 58b76409c..2e65bc2e0 100644 --- a/shared/editor/nodes/index.ts +++ b/shared/editor/nodes/index.ts @@ -1,3 +1,15 @@ +import BlockMenuTrigger from "../extensions/BlockMenuTrigger"; +import ClipboardTextSerializer from "../extensions/ClipboardTextSerializer"; +import DateTime from "../extensions/DateTime"; +import Folding from "../extensions/Folding"; +import History from "../extensions/History"; +import Keys from "../extensions/Keys"; +import MaxLength from "../extensions/MaxLength"; +import PasteHandler from "../extensions/PasteHandler"; +import Placeholder from "../extensions/Placeholder"; +import PreventTab from "../extensions/PreventTab"; +import SmartText from "../extensions/SmartText"; +import TrailingNode from "../extensions/TrailingNode"; import Extension from "../lib/Extension"; import Bold from "../marks/Bold"; import Code from "../marks/Code"; @@ -9,18 +21,6 @@ import Mark from "../marks/Mark"; import TemplatePlaceholder from "../marks/Placeholder"; import Strikethrough from "../marks/Strikethrough"; import Underline from "../marks/Underline"; -import BlockMenuTrigger from "../plugins/BlockMenuTrigger"; -import ClipboardTextSerializer from "../plugins/ClipboardTextSerializer"; -import DateTime from "../plugins/DateTime"; -import Folding from "../plugins/Folding"; -import History from "../plugins/History"; -import Keys from "../plugins/Keys"; -import MaxLength from "../plugins/MaxLength"; -import PasteHandler from "../plugins/PasteHandler"; -import Placeholder from "../plugins/Placeholder"; -import PreventTab from "../plugins/PreventTab"; -import SmartText from "../plugins/SmartText"; -import TrailingNode from "../plugins/TrailingNode"; import Attachment from "./Attachment"; import Blockquote from "./Blockquote"; import BulletList from "./BulletList";