feat(editor): add basic codemirror autocompletion suggestions

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
Erik Michelson 2023-03-12 18:35:44 +01:00
parent 4956a99ced
commit 61032cb745
23 changed files with 284 additions and 2 deletions

View file

@ -5,8 +5,12 @@
*/
import { AppExtension } from '../../../../extensions/base/app-extension'
import type { CheatsheetExtension } from '../../../editor-page/cheatsheet/cheatsheet-extension'
import { regexCompletion } from '../../../editor-page/editor-pane/autocompletions/regex-completion'
import type { MarkdownRendererExtension } from '../base/markdown-renderer-extension'
import { EmojiMarkdownExtension } from './emoji-markdown-extension'
import { emojiShortcodes } from './mapping'
import type { CompletionSource } from '@codemirror/autocomplete'
import { t } from 'i18next'
export class EmojiAppExtension extends AppExtension {
buildMarkdownRendererExtensions(): MarkdownRendererExtension[] {
@ -21,4 +25,16 @@ export class EmojiAppExtension extends AppExtension {
}
]
}
buildAutocompletion(): CompletionSource[] {
return [
regexCompletion(
/:(?:[\w-+]+:?)?/,
emojiShortcodes.map((shortcode) => ({
detail: t('editor.autocompletions.emoji') ?? undefined,
label: `:${shortcode}:`
}))
)
]
}
}