/* * SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import type { CheatsheetExtension } from '../../../components/cheatsheet/cheatsheet-extension' import { basicCompletion, codeFenceRegex } from '../../../components/editor-page/editor-pane/autocompletions/basic-completion' import type { MarkdownRendererExtension } from '../../../components/markdown-renderer/extensions/_base-classes/markdown-renderer-extension' import { AppExtension } from '../../_base-classes/app-extension' import { AbcjsMarkdownExtension } from './abcjs-markdown-extension' import type { CompletionSource } from '@codemirror/autocomplete' export class AbcjsAppExtension extends AppExtension { buildMarkdownRendererExtensions(): MarkdownRendererExtension[] { return [new AbcjsMarkdownExtension()] } buildCheatsheetExtensions(): CheatsheetExtension[] { return [{ i18nKey: 'abcjs', categoryI18nKey: 'charts', readMoreUrl: new URL('https://www.abcjs.net/') }] } buildAutocompletion(): CompletionSource[] { return [basicCompletion(codeFenceRegex, '```abc\n\n```')] } }