1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-21 09:38:01 +02:00
joplin/packages/app-mobile/utils/initializeCommandService.ts
Henry Heino 55cafb8891
Android: Add support for Markdown editor plugins (#10086)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2024-03-11 15:02:15 +00:00

30 lines
1.2 KiB
TypeScript

import Setting from '@joplin/lib/models/Setting';
import CommandService, { CommandDeclaration, CommandRuntime } from '@joplin/lib/services/CommandService';
import stateToWhenClauseContext from '@joplin/lib/services/commands/stateToWhenClauseContext';
import { AppState } from './types';
import { Store } from 'redux';
import editorCommandDeclarations from '../components/NoteEditor/commandDeclarations';
import libCommands from '@joplin/lib/commands';
interface CommandSpecification {
declaration: CommandDeclaration;
runtime: ()=> CommandRuntime;
}
const registerCommands = (commands: CommandSpecification[]) => {
for (const command of commands) {
CommandService.instance().registerDeclaration(command.declaration);
CommandService.instance().registerRuntime(command.declaration.name, command.runtime());
}
};
const initializeCommandService = (store: Store<AppState, any>) => {
CommandService.instance().initialize(store, Setting.value('env') === 'dev', stateToWhenClauseContext);
for (const declaration of editorCommandDeclarations) {
CommandService.instance().registerDeclaration(declaration);
}
registerCommands(libCommands);
};
export default initializeCommandService;