#line-numbers #file-path #git-diff #style #delta #syntax-highlighting #git-config

bin+lib imuxin-delta-lib

尚未准备好使用:使用 crate git-delta 进行应用

2 个版本

0.0.2 2022 年 9 月 8 日
0.0.1 2022 年 9 月 7 日

#411 in 可视化

MITLGPL-3.0-or-later

1MB
22K SLoC

image

CI Coverage Status Gitter

入门指南

安装它(在大多数包管理器中,该软件包名为 "git-delta",但可执行文件仅为 delta)并将以下内容添加到您的 ~/.gitconfig

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only
[add.interactive]
    useBuiltin = false # required for git 2.37.0

[delta]
    navigate = true    # use n and N to move between diff sections
    light = false      # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)

[merge]
    conflictstyle = diff3

[diff]
    colorMoved = default

Delta 具有许多功能和高度的定制性;请参阅用户手册

功能

  • 使用与 bat 相同的语法高亮主题进行语言语法高亮
  • 使用 Levenshtein 编辑推断算法进行单词级别的差异高亮
  • 带有行换行的并排视图
  • 行号
  • 使用 nN 键绑定在大型差异中移动文件,以及在 log -p 视图中移动差异(--navigate
  • 改进的合并冲突显示
  • 改进的 git blame 显示(语法高亮;--hyperlinks 将提交格式化为链接到 GitHub/GitLab/Bitbucket 等)
  • rggit grepgrep 等中进行语法高亮 grep 输出
  • 支持 Git 的 --color-moved 功能。
  • 可以从差异中直接复制代码(默认情况下,会移除 -/+ 标记)。
  • diff-highlightdiff-so-fancy 模拟模式
  • 可以将提交哈希格式化为终端 超链接 到 GitHub/GitLab/Bitbucket 页面(--hyperlinks)。文件路径也可以格式化为超链接以在您的操作系统中打开。
  • 可定制的框/线装饰,用于突出显示提交、文件和块标题部分。
  • 支持超过20个可定制元素的风格字符串(前景色、背景色、字体属性),使用与git相同的颜色/风格语言。
  • 除了git输出外,还处理传统的统一diff输出。

git、diff和grep输出的语法高亮分页器。

代码不断演变,我们都在花时间学习diff。Delta旨在使这一过程既高效又愉快:它允许您对diff的布局和样式进行大量更改,同时让您尽可能地接近默认的git/diff输出。

image
启用了 line-numbers 的delta
image
启用了 side-by-sideline-numbers 的delta

以下是配置delta使用的git show命令的输出示例:


image image
"Dracula"主题 "GitHub"主题


语法高亮主题

bat一样,delta也提供了所有可用的语法高亮颜色主题。


image image
delta--显示-语法-主题--暗色 delta--显示-语法-主题--亮色

并排视图

[用户手册]

[delta]
    side-by-side = true

默认情况下,并排视图启用了行号,并在左右面板中都有语法高亮:[配置]

image

并排视图会自动换行长行

image

行号

[用户手册]

[delta]
    line-numbers = true
image

合并冲突

[用户手册]

image

git blame

[用户手册]

image

安装和使用

请参阅用户手册delta --help

依赖项

~31–42MB
~686K SLoC