@bunli/ plugin- 完成
Bunli CLIs 的 Tab- 动力外壳完成 .
此插件代表脚本生成和动态补全协议( E)complete -- <args>改为: @bomb.sh/tab从 Bunli 生成的元数据中创建 Tab 命令树(.bunli/commands.gen.ts) (中文(简体) ).
安装
bun add @bunli/plugin-completions
设置
import { defineConfig } from '@bunli/core'
import { completionsPlugin } from '@bunli/plugin-completions'
export default defineConfig({
name: 'my-cli',
plugins: [
completionsPlugin({
// generatedPath: '.bunli/commands.gen.ts',
// commandName: 'my-cli',
// executable: 'my-cli',
// includeAliases: true,
// includeGlobalFlags: true
})
]
})
你一定有过 .bunli/commands.gen.ts 可用(运行) bunli generate,或启用您的建筑中的代码.
图标
生成一个补全脚本
my-cli completions zsh
my-cli completions bash
my-cli completions fish
my-cli completions powershell
动态补全协议召回( 被 shell 脚本使用)
my-cli complete -- <args...>
不要在 Bunli 的解析中构建自己的整合 positional 此路径的参数 : Tab 依赖于后端的空字符串 sentinel(''Bunli 解析器会空出字符串 。 实施用途 runtime.args 直接说.
Shell 设置示例
巴许
source <(my-cli completions bash)
日语
source <(my-cli completions zsh)
鱼
my-cli completions fish > ~/.config/fish/completions/my-cli.fish
动力壳
my-cli completions powershell | Out-String | Invoke-Expression
页:1
运行时间包装
@bunli/plugin-completions 发布捆绑的运行时间( i)dist/index.js)已经包括 Tab 。 下游消费者只安装 @bunli/plugin-completions 并且不需要单独的运行时间依赖 @bomb.sh/tab。 。 。 .
@bomb.sh/tab 类型注释
截止 @bomb.sh/[email protected],已发布的软件包参考文献 dist/t.d.ts 但只有舰只 dist/t-<hash>.d.ts. Bunli的单雷波用途 bun patch 在开发/CI期间保持TypeScript所构建的屏蔽,直到上游修复包装.