Skip to content

Регистрация команд

useRegisterCommands()

Регистрирует команды при монтировании компонента и автоматически снимает регистрацию при размонтировании. Команды, зарегистрированные так, не имеют заголовка группы.

ts
function useRegisterCommands<T = unknown>(commands: Command<T>[], name?: string): void

Передайте name, чтобы обратиться к именованному инстансу вместо палитры по умолчанию.

ts
import { useRegisterCommands } from '@macrulez/vue-command-palette'

// В любом setup() компонента
useRegisterCommands([
  {
    id: 'format-doc',
    label: 'Format Document',
    icon: '✨',
    perform: () => formatDocument(),
  },
  {
    id: 'toggle-sidebar',
    label: 'Toggle Sidebar',
    shortcut: ['$mod', 'b'],
    perform: () => sidebar.toggle(),
  },
])

useRegisterGroup()

Регистрирует полную группу команд с label и приоритетом при монтировании, снимает регистрацию при размонтировании.

ts
function useRegisterGroup<T = unknown>(group: CommandGroup<T>, name?: string): void

Передайте name, чтобы обратиться к именованному инстансу вместо палитры по умолчанию.

ts
import { useRegisterGroup } from '@macrulez/vue-command-palette'

useRegisterGroup({
  id: 'editor',
  label: 'Editor',
  priority: 80,
  commands: [
    {
      id: 'editor-format',
      label: 'Format Document',
      description: 'Run Prettier on the current file',
      icon: '✨',
      perform: () => format(),
    },
    {
      id: 'editor-lint',
      label: 'Lint File',
      description: 'Run ESLint and show errors',
      icon: '🔍',
      enabled: () => isFileOpen.value,
      perform: () => lint(),
    },
  ],
})