diff --git a/packages/ckeditor5-admonition/src/admonition.ts b/packages/ckeditor5-admonition/src/admonition.ts index 7c5fcc123..b09dfb78d 100644 --- a/packages/ckeditor5-admonition/src/admonition.ts +++ b/packages/ckeditor5-admonition/src/admonition.ts @@ -11,6 +11,7 @@ import { Plugin } from 'ckeditor5/src/core.js'; import AdmonitionEditing from './admonitionediting.js'; import AdmonitionUI from './admonitionui.js'; +import AdmonitionAutoformat from './admonitionautoformat.js'; /** * The block quote plugin. @@ -27,7 +28,7 @@ export default class Admonition extends Plugin { * @inheritDoc */ public static get requires() { - return [ AdmonitionEditing, AdmonitionUI ] as const; + return [ AdmonitionEditing, AdmonitionUI, AdmonitionAutoformat ] as const; } /** diff --git a/packages/ckeditor5-admonition/src/admonitionautoformat.ts b/packages/ckeditor5-admonition/src/admonitionautoformat.ts new file mode 100644 index 000000000..28172f5a1 --- /dev/null +++ b/packages/ckeditor5-admonition/src/admonitionautoformat.ts @@ -0,0 +1,20 @@ +import Plugin from "@ckeditor/ckeditor5-core/src/plugin"; +import Autoformat from "@ckeditor/ckeditor5-autoformat/src/autoformat"; +import blockAutoformatEditing from "@ckeditor/ckeditor5-autoformat/src/blockautoformatediting"; + +export default class AdmonitionAutoformat extends Plugin { + static get requires() { + return [ Autoformat ]; + } + + afterInit() { + if (!this.editor.commands.get("admonition")) { + return; + } + + const instance = (this as any); + blockAutoformatEditing(this.editor, instance, /^\!\!\[*\! (.+) $/, (match) => { + console.log("Got match ", match); + }); + } +} diff --git a/packages/ckeditor5-admonition/src/index.ts b/packages/ckeditor5-admonition/src/index.ts index 56b7ade58..073365f5d 100644 --- a/packages/ckeditor5-admonition/src/index.ts +++ b/packages/ckeditor5-admonition/src/index.ts @@ -10,6 +10,7 @@ export { default as Admonition } from './admonition.js'; export { default as AdmonitionEditing } from './admonitionediting.js'; export { default as AdmonitionUI } from './admonitionui.js'; +export { default as AdmonitionAutoformat } from './admonitionautoformat.js'; export type { default as AdmonitionCommand } from './admonitioncommand.js'; import './augmentation.js';