NonGNU-devel ELPA - why-this


Why is this line here? Ask version control
why-this-, 2022-Nov-29, 80.0 KiB
Akib Azmain Turja <>
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET why-this RET

Full description

why-this shows why the current line was changed on the right side of line. It can also show editing history with heat map.

1 Screenshots

blame.png Blame on the right side of current line.

blame-region.png Blame on the right side of each line in region.

annotate.png Editing history with heat map.

2 Install


M-x package-refresh-contents and M-x package-install RET why-this.

2.2 Quelpa

Do M-x quelpa RET why-this, Quelpa should get the recipe from MELPA and install it.

2.3 Straight.el

 '(why-this :type git
	    :repo ""))

3 Supported version control systems

Current only two version control systems are supported:

  • Git
  • Mercurial (note: changes must be saved to be shown)

4 Usage

Type M-x why-this-mode to enable showing blame.

Type M-x why-this to show blame on echo area.

Type M-x why-this-annotate to show editing history on a dedicated buffer.

5 Configuration

Put the following in your init file to enable why-this-mode in every possible buffer:


Note: why-this-mode won't be enabled on unsupported buffer.

Output by why-this-annotate may be hard to read depending on the theme. Put the following in your init file to change the colors:

  • For dark theme users:

    (set-face-background 'why-this-annotate-heat-map-cold "#203448")
    (set-face-background 'why-this-annotate-heat-map-warm "#382f27")
  • For light theme users:

    (set-face-background 'why-this-annotate-heat-map-cold "#dde3f4")
    (set-face-background 'why-this-annotate-heat-map-warm "#f0e0d4")

To disable the heat map:

(setq why-this-annotate-enable-heat-map nil)

Hovering on the message shows a tooltip, to disable it:

(setq why-this-enable-tooltip nil)

To get a list of all user options M-x customize-group RET why-this.

Old versions

why-this- KiB