Skip to content


Subversion checkout URL

You can clone with
Download ZIP
TDD status on the Emacs mode line
Emacs Lisp
Pull request Compare This branch is 13 commits behind algernon:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

TDD status mode-line widget

Build Status

This little package implements a mode-line widget to track one's current test-driven development state (FAIL, PASS, or REFACTOR). Fully customisable faces and states and all that. The idea is based on a similar solution for Vim.



Once the package is downloaded, either via a git checkout or simply saving the tdd-status-mode-line.el file somewhere on your load path, simply requiring it is all you need. The package adds the TDD status to mode-line-misc-info, you need to have that in your mode-line for the package to work.

The package is also available from Marmalade:

(require 'package)
(add-to-list 'package-archives '("marmalade" . ""))
(package-install 'tdd-status-mode-line)

(require 'tdd-status-mode-line)


The package defines three global key bindings:

  • C-x t n advances the state (from none to FAIL, then to PASS and onto REFACTOR, and finally back to FAIL).
  • C-x t p steps the state back (from PASS to FAIL, etc).
  • C-x t c clears the state and hides the widget.

By default, the TDD state is global. If one wants to make it buffer local, the tdd-status/current-status-index variable needs to be made buffer local:

(require 'tdd-status-mode-line)
(make-variable-buffer-local 'tdd-status/current-status-index)
Something went wrong with that request. Please try again.