mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-18 00:54:43 -04:00
refactor: organize app extensions
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
8cddc96881
commit
1e4709c087
209 changed files with 286 additions and 243 deletions
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
import type { CheatsheetExtension } from '../../../components/editor-page/cheatsheet/cheatsheet-extension'
|
||||
import { regexCompletion } from '../../../components/editor-page/editor-pane/autocompletions/regex-completion'
|
||||
import type { MarkdownRendererExtension } from '../../../components/markdown-renderer/extensions/_base-classes/markdown-renderer-extension'
|
||||
import { AppExtension } from '../../_base-classes/app-extension'
|
||||
import { EmojiMarkdownRendererExtension } from './emoji-markdown-renderer-extension'
|
||||
import { emojiShortcodes } from './mapping'
|
||||
import type { CompletionSource } from '@codemirror/autocomplete'
|
||||
import { t } from 'i18next'
|
||||
|
||||
export class EmojiAppExtension extends AppExtension {
|
||||
buildMarkdownRendererExtensions(): MarkdownRendererExtension[] {
|
||||
return [new EmojiMarkdownRendererExtension()]
|
||||
}
|
||||
|
||||
buildCheatsheetExtensions(): CheatsheetExtension[] {
|
||||
return [
|
||||
{
|
||||
i18nKey: 'emoji',
|
||||
readMoreUrl: new URL('https://twemoji.twitter.com/')
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
buildAutocompletion(): CompletionSource[] {
|
||||
return [
|
||||
regexCompletion(
|
||||
/:(?:[\w-+]+:?)?/,
|
||||
emojiShortcodes.map((shortcode) => ({
|
||||
detail: t('editor.autocompletions.emoji') ?? undefined,
|
||||
label: `:${shortcode}:`
|
||||
}))
|
||||
)
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue