9 个版本
0.2.1 | 2024年3月6日 |
---|---|
0.2.0 | 2023年12月10日 |
0.1.6 | 2023年9月16日 |
0.1.4 | 2023年4月11日 |
0.1.2 | 2023年3月13日 |
#6 in #blazing
每月 282 次下载
135KB
2.5K SLoC
posh-tabcomplete
适用于 PowerShell 和 pwsh 的闪电般快速的 Tab 补全。
此视频使用了 MenuComplete
绑定在 code $PROFILE
Set-PSReadLineKeyHandler -Key Tab MenuComplete
功能
- 使用 nushell/nu-engine 实现快速启动和执行
- 使用
.nu
文件扩展,内置对常见任务如git
和npm run
的支持 - 支持所有平台。在 windows、WSL、mac 和 linux 上进行了测试
默认情况下,使用 completions.nu。可以在 TABCOMPLETE_FILE
环境变量中指定替代 .nu
文件。
安装
步骤 1. 安装二进制文件
在 发布版 中有可用的二进制文件,或者使用以下命令之一
存储库 | 说明 |
---|---|
crates.io | cargo安装 posh-tabcomplete --锁定 |
步骤 2. 设置 PowerShell
将此行添加到您的配置文件中,您可以通过在 PowerShell 中键入 code $PROFILE
来编辑此文件
Invoke-Expression (&posh-tabcomplete init | Out-String)
内置补全
打包在 completions.nu 中的补全如下
- git 补全。这些也与 git 自动生成的补全 结合使用
- npm 补全
- cargo 补全
基准测试
要运行这些,请运行 ./benchmark/benchmark_all.ps1
基准测试 | 结果 |
---|---|
benchmark/init - 启动时间 |
posh-tabcomplete: 45ms,posh-git: 280ms(6.22 倍更快) |
benchmark/complete - Tab 补全(100 个分支) |
posh-tabcomplete: 104ms,posh-git: 222ms(2.13 倍更快) |
别名/函数支持
支持函数。例如,演示中的 gco
补全
function gco() { git checkout $args }
目前不支持别名补全。
补全过程列表
请参阅 completions.nu
git
分支
检出
cherry-pick
获取
合并
推送
变基
切换
比较
npm
运行
依赖
~62–95MB
~2M SLoC