×

Powerline Go用Go编写的低延迟Shell提示

消耗积分:0 | 格式:zip | 大小:0.16 MB | 2022-05-25

分享资料个

授权协议 GPLv3
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件

软件简介

用于 shell 且具有 Powerline 样式的提示

pYYBAGKCLP6AKb1xAAF8nCN25IM999.png

  • 显示关于 git/hg 分支的一些重要细节

  • 如果最后一个命令以失败代码退出,则更改颜色

  • 如果对目录树过于深入,请使用省略号缩短显示的路径

  • 显示当前的 Python virtualenv 环境

  • 使用 rbenv 显示当前的 Ruby 版本

  • 显示您是否在 nix shell 中

  • 很容易定制和扩展

安装

需要 Go 1.12+

powerline-go使用 ANSI 颜色代码,但是可能需要将 $TERM 设置为xterm-256color才能工作。

预编译的二进制文件

在 release 选项卡中为 x64 Linux 和 macOS 提供了预编译的二进制文件

其他平台

  • 安装(和更新)包
go install github.com/justjanne/powerline-go@latest
  • 默认情况下它将在 $GOPATH/bin中,如果想更改它,可以设置$GOPATH和/或$GOBIN,但也需要更改以下脚本中的路径。

Bash

将以下内容添加到.bashrc中(Mac 上为.profile):

function _update_ps1() {
    PS1="$($GOPATH/bin/powerline-go -error $? -jobs $(jobs -p | wc -l))"

    # Uncomment the following line to automatically clear errors after showing
    # them once. This not only clears the error for powerline-go, but also for
    # everything else you run in that shell. Don't enable this if you're not
    # sure this is what you want.

    #set "?"
}

if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

目前,使用 bash 时不支持右键提示。

ZSH

将以下内容添加到.zshrc:

function powerline_precmd() {
    PS1="$($GOPATH/bin/powerline-go -error $? -jobs ${${(%):%j}:-0})"

    # Uncomment the following line to automatically clear errors after showing
    # them once. This not only clears the error for powerline-go, but also for
    # everything else you run in that shell. Don't enable this if you're not
    # sure this is what you want.

    #set "?"
}

function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}

if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
    install_powerline_precmd
fi

Fish

重新在~/.config/fish/config.fish定义fish_prompt

function fish_prompt
    eval $GOPATH/bin/powerline-go -error $status -jobs (count (jobs -p))
end
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !