3个版本

使用旧的Rust 2015

0.2.2 2024年3月13日
0.2.1 2020年4月6日
0.2.0 2018年1月27日

#112 in 开发工具

MIT 许可证

585KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments Python 191 SLoC // 0.1% comments Zsh 65 SLoC // 0.4% comments BASH 65 SLoC // 0.4% comments RPM Specfile 41 SLoC // 0.2% comments Shell 7 SLoC // 0.2% comments

pretty-git-prompt

Build Status

在美观的shell提示符中显示当前git仓库信息。

Preview of pretty-git-prompt

功能

  • 您可以选择显示以下值
    • git仓库状态(解决 merge 冲突,交互式 rebase,...)
    • 当前分支名称。
    • 变更、新添加、已暂存、冲突的文件数量。
    • 暂存区中项目的数量。
  • 您可以跟踪与任意分支的差异。
  • 输出中的每个值都可以通过配置文件完全配置。
  • 示例配置文件具有颜色功能。
  • 该工具支持 zshbash
  • pretty-git-prompt是用Rust编程语言编写的,并提供为一个单一、静态链接的二进制文件。

开发状态

该工具已准备好使用。

如何尝试使用它?

非常简单!如果您只是想查看其运行情况,则无需安装pretty-git-prompt。有一个make目标可以启动带有完整环境的docker容器。

准备环境需要一些时间(创建构建环境、编译工具、运行演示)。

只需克隆此git仓库

$ git clone https://github.com/TomasTomecek/pretty-git-prompt

然后运行...

zsh

$ make zsh-demo

您应该看到以下内容

Preview using zsh.

这是一个交互式shell,您可以尝试使用它。

bash

如果您想查看bash shell中的工具

$ make bash-demo

Preview using bash.

这个演示是我验证工具正确性的方法之一。

安装

如果您想在shell中添加pretty-git-prompt,本节包含有关如何进行操作的信息。

获取 pretty-git-prompt 二进制文件

GitHub发布版

通过 最新GitHub发布版 获取二进制文件。

对于Linux发行版

$ curl -O https://github.com/TomasTomecek/pretty-git-prompt/releases/download/0.2.0/pretty-git-prompt-0.2.0-x86_64-unknown-linux-gnu

或者对于MacOS

$ curl -O https://github.com/TomasTomecek/pretty-git-prompt/releases/download/0.2.0/pretty-git-prompt-0.2.0-x86_64-apple-darwin

自行编译

$ make build

如上所述的演示部分,这需要一些时间。

如果您系统上有rust编译器和cargo,则可以在不使用容器的情况下编译该工具

$ make exec-stable-build

二进制文件将在此路径上可用

$ ls -lha target/release/pretty-git-prompt
-rwxr-xr-x 2 user group 1.7M May  9 21:37 target/release/pretty-git-prompt

shell配置

在深入探讨 .bashrc.zshrc 之前,请确保二进制文件 pretty-git-prompt 已放置到您的 $PATH

$ pretty-git-prompt
master|✚1Δ1

zsh

这似乎是所需的最小配置

export LC_ALL=en_US.UTF-8
# Load colors.
autoload -U colors
colors
# Allow for functions in the prompt.
setopt PROMPT_SUBST
RPROMPT='\$(pretty-git-prompt)'

只需将其放入您的 ~/.zshrc 中并尝试。

bash

您应该将此内容粘贴到您的 ~/.bashrc

pretty_prompt() { PS1="$(pretty-git-prompt)\n\$ "; }
export PROMPT_COMMAND="pretty_prompt ; $PROMPT_COMMAND"

有关此解决方案的更多信息,请阅读这些 superuser.comstackoverflow 线程。

解决问题

如果您遇到问题,可以运行带详细输出的工具以帮助您解决问题

$ pretty-git-prompt --debug
Debug messages are enabled.
This is not a git repository: Error { code: -3, klass: 6, message: "could not find repository from \'.\'" }

配置

配置在默认配置文件中有文档说明。因此,这里没有明确写出。您可以通过以下方式获得它

$ pretty-git-prompt create-default-config
Configuration file created at "/home/you/.config/pretty-git-prompt.yml"

此存储库还包含bash和zsh的配色配置

  1. 文件/pretty-git-prompt.yml.bash
  2. 文件/pretty-git-prompt.yml.zsh

如果配置文件中的注释不清晰,请创建一个新问题。

贡献

支持

这是一个开源项目。我不提供任何支持。一切都是尽力而为。

编写代码

此项目基于几个原则

  1. 尽可能可配置。
  2. 美观且实用。
  3. 尽可能少的依赖。
  4. 易于贡献
    • 单条命令构建。
    • 在预测环境中构建。
    • 单条命令测试。

如果您遇到任何问题,请提交它!我会看看。同时,最好的事情是尝试自己修复它。

整个开发环境应该很容易设置,甚至运行测试。

您需要的只是运行 docker 引擎和 make

首先,您需要使用rust和所有依赖项构建容器镜像

$ make nightly-environment

这使用最新的nightly rust。使用nightly是因为 clippy

然后,只需确保所有测试都通过,并且没有引入任何新的警告

$ make test

如果上述两个 make 调用中的任何一个不适用于您,请创建一个问题。

致谢

此工具深受 zsh-git-prompt 的启发。在某个时候,我意识到我需要一个更强大的工具,所以我写了 pretty-git-prompt。

依赖项

~10MB
~258K SLoC