{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-completion/generateCompletion.ts"],
  "sourcesContent": ["import renderHelp from 'render-help';\nimport { docsUrl } from '../cli-utils/index.ts';\nimport { getCompletionScript, SUPPORTED_SHELLS } from '@pnpm/tabtab';\nimport { getShellFromParams } from './getShell.ts';\n\nexport const commandNames = ['completion'];\n\nexport const skipPackageManagerCheck = true;\n\nexport const rcOptionsTypes = (): Record<string, unknown> => ({});\n\nexport const cliOptionsTypes = (): Record<string, unknown> => ({});\n\nexport function help(): string {\n  return renderHelp({\n    description: 'Print shell completion code to stdout',\n    url: docsUrl('completion'),\n    usages: SUPPORTED_SHELLS.map((shell) => `pnpm completion ${shell}`),\n  });\n}\n\nexport type Context = {\n  readonly log: (output: string) => void;\n};\n\nexport type CompletionGenerator = (\n  _opts: unknown,\n  params: string[]\n) => Promise<void>;\n\nexport function createCompletionGenerator(ctx: Context): CompletionGenerator {\n  return async function handler(\n    _opts: unknown,\n    params: string[]\n  ): Promise<void> {\n    const shell = getShellFromParams(params);\n\n    const output = await getCompletionScript({\n      name: 'pnpm',\n      completer: 'pnpm',\n      shell,\n    });\n\n    ctx.log(output);\n  };\n}\n\nexport const handler: CompletionGenerator = createCompletionGenerator({\n  // eslint-disable-next-line no-console\n  log: console.log,\n});\n"],
  "mappings": "AAAA,OAAO,gBAAgB;AACvB,SAAS,eAAe;AACxB,SAAS,qBAAqB,wBAAwB;AACtD,SAAS,0BAA0B;AAE5B,MAAM,eAAe,CAAC,YAAY;AAElC,MAAM,0BAA0B;AAEhC,MAAM,iBAAiB,OAAgC,CAAC;AAExD,MAAM,kBAAkB,OAAgC,CAAC;AAEzD,SAAS,OAAe;AAC7B,SAAO,WAAW;AAAA,IAChB,aAAa;AAAA,IACb,KAAK,QAAQ,YAAY;AAAA,IACzB,QAAQ,iBAAiB,IAAI,CAAC,UAAU,mBAAmB,KAAK,EAAE;AAAA,EACpE,CAAC;AACH;AAWO,SAAS,0BAA0B,KAAmC;AAC3E,SAAO,eAAeA,SACpB,OACA,QACe;AACf,UAAM,QAAQ,mBAAmB,MAAM;AAEvC,UAAM,SAAS,MAAM,oBAAoB;AAAA,MACvC,MAAM;AAAA,MACN,WAAW;AAAA,MACX;AAAA,IACF,CAAC;AAED,QAAI,IAAI,MAAM;AAAA,EAChB;AACF;AAEO,MAAM,UAA+B,0BAA0B;AAAA;AAAA,EAEpE,KAAK,QAAQ;AACf,CAAC;",
  "names": ["handler"]
}
