NonGNU ELPA - why-this


Why is this line here? Ask version control
why-this-2.0.4.tar (.sig), 2024-Mar-31, 80.0 KiB
Akib Azmain Turja <>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

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

2.1. MELPA

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-2.0.3.tar.lz2022-Nov-2718.5 KiB