| 12345678910111213141516171819202122232425262728293031 |
- import { keymap } from 'prosemirror-keymap';
- import type { Schema } from 'prosemirror-model';
- import { history } from 'prosemirror-history';
- import { baseKeymap } from 'prosemirror-commands';
- import { dropCursor } from 'prosemirror-dropcursor';
- import { gapCursor } from 'prosemirror-gapcursor';
- import { buildKeymap } from './keymap';
- import { buildInputRules } from './inputrules';
- import { placeholderPlugin } from './placeholder';
- export interface PluginOptions {
- placeholder?: string;
- }
- export const buildPlugins = (schema: Schema, options?: PluginOptions) => {
- const placeholder = options?.placeholder;
- const plugins = [
- buildInputRules(schema),
- keymap(buildKeymap(schema)),
- keymap(baseKeymap),
- dropCursor(),
- gapCursor(),
- history(),
- ];
- if (placeholder) plugins.push(placeholderPlugin(placeholder));
- return plugins;
- };
|