mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Add Markdown visual editor support
GitOrigin-RevId: 4ec2ffb276c729a58f82ccb26ed571f4187a4178
This commit is contained in:
committed by
Copybot
parent
e38f4e18e4
commit
5cf1b43ce7
@@ -9,6 +9,7 @@ import {
|
||||
import { visualHighlightStyle, visualTheme } from './visual-theme'
|
||||
import { atomicDecorations } from './atomic-decorations'
|
||||
import { markDecorations } from './mark-decorations'
|
||||
import importOverleafModules from '../../../../../macros/import-overleaf-module.macro'
|
||||
import { EditorView, ViewPlugin } from '@codemirror/view'
|
||||
import { visualKeymap } from './visual-keymap'
|
||||
import { mousedown, mouseDownEffect } from './selection'
|
||||
@@ -27,6 +28,15 @@ type Options = {
|
||||
previewByPath: (path: string) => PreviewPath | null
|
||||
}
|
||||
|
||||
// Language-specific visual editor extensions provided by modules (e.g. the
|
||||
// markdown visual editor). They live in the visual bundle so they are only
|
||||
// active in visual mode and react to switching editor modes.
|
||||
const visualEditorExtensions: Array<(options: Options) => Extension> =
|
||||
importOverleafModules('sourceEditorVisualExtensions').map(
|
||||
(item: { import: { extension: (options: Options) => Extension } }) =>
|
||||
item.import.extension
|
||||
)
|
||||
|
||||
const visualConf = new Compartment()
|
||||
|
||||
export const toggleVisualEffect = StateEffect.define<boolean>()
|
||||
@@ -171,6 +181,7 @@ const extension = (options: Options) => [
|
||||
mousedown,
|
||||
listItemMarker,
|
||||
atomicDecorations(options),
|
||||
visualEditorExtensions.map(extension => extension(options)),
|
||||
markDecorations, // NOTE: must be after atomicDecorations, so that mark decorations wrap inline widgets
|
||||
visualKeymap,
|
||||
commandTooltip,
|
||||
|
||||
Reference in New Issue
Block a user