feat(completion): print completion code to stdout (#7597)

* feat(completion): generate-completion

close #3083

* feat: better error message

* test: generate-completion

* feat(completion): add powershell

* chore(deps): update @pnpm/tabtab to 0.3.0

* switch to provided type declarations
* fix typings
* update tests
* update bundle scripts

* refactor: remove unnecessary `??`

* refactor: replace a type def with provided types

* chore(deps): update @pnpm/tabtab to 0.4.0

* feat(cli): rename completion command

* chore(deps): update @pnpm/tabtab to 0.4.1

* refactor: use tabtab's new features

* fix: pass shell

* chore(deps): update @pnpm/tabtab to 0.5.0

* chore(deps): update @pnpm/tabtab to 0.5.1

* fix: remove unused import

* refactor: move completion to plugins

* feat: remove `{install,uninstall}-completion`

Just `pnpm completion` is enough

* test: fix

* refactor: direct import

* refactor: move tests to next to the lib

* refactor: merge 2 packages into 1

* fix: update changeset and remove install-completion
This commit is contained in:
Khải
2024-02-07 05:18:17 +07:00
committed by GitHub
parent 985381c091
commit 004addf63e
30 changed files with 379 additions and 104 deletions

View File

@@ -28,6 +28,9 @@
},
"homepage": "https://github.com/pnpm/pnpm/blob/main/cli/command#readme",
"funding": "https://opencollective.com/pnpm",
"dependencies": {
"@pnpm/tabtab": "^0.5.2"
},
"devDependencies": {
"@pnpm/command": "workspace:*"
},

View File

@@ -1,6 +1,6 @@
export interface Completion { name: string, description?: string }
import { type CompletionItem } from '@pnpm/tabtab'
export type CompletionFunc = (
options: Record<string, unknown>,
params: string[]
) => Promise<Completion[]>
) => Promise<CompletionItem[]>