文件
mynode/packages/app-mobile/utils/initializeCommandService.ts
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

36 行
1.4 KiB
TypeScript

import Setting from '@joplin/lib/models/Setting';
import CommandService, { CommandDeclaration, CommandRuntime } from '@joplin/lib/services/CommandService';
import { AppState } from './types';
import { AnyAction, Store } from 'redux';
import editorCommandDeclarations from '../components/NoteEditor/commandDeclarations';
import noteCommands from '../components/screens/Note/commands';
import globalCommands from '../commands';
import libCommands from '@joplin/lib/commands';
import stateToWhenClauseContext from '../services/commands/stateToWhenClauseContext';
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, AnyAction>) => {
CommandService.instance().initialize(store, Setting.value('env') === 'dev', stateToWhenClauseContext);
for (const declaration of editorCommandDeclarations) {
CommandService.instance().registerDeclaration(declaration);
}
for (const command of noteCommands) {
CommandService.instance().registerDeclaration(command.declaration);
}
registerCommands(globalCommands);
registerCommands(libCommands);
};
export default initializeCommandService;