Skip to content

emacsmirror/fixmee

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Overview

Quickly navigate to FIXME notices in Emacs.

fixmee_context_menu

Quickstart

(require 'fixmee)
(require 'button-lock)

(global-fixmee-mode 1)
 
;; right-click on the word "fixme" in a comment
 
;; for next-error support:
;;
;; M-x fixmee-view-listing RET

Explanation

Fixmee-mode tracks fixme notices in code comments, highlights them, ranks them by urgency, and lets you navigate to them quickly.

A distinguishing feature of this library is that it tracks the urgency of each notice, allowing the user to jump directly to the most important problems.

Urgency of "fixme" notices is indicated by repetitions of the final character. For example, one might write FIXMEEEEEEEEE for an important issue. The fixmee-goto-nextmost-urgent command will navigate to the longest notice first.

Alternatively, a user-specified function can provided for determining urgency by setting a value for fixmee-measure-urgency-function.

To use fixmee-mode, add the following to your ~/.emacs file

(require 'fixmee)
(require 'button-lock)
(global-fixmee-mode 1)

Then, open some buffers and right-click on the word "fixme" in a comment

or press

C-c f

or

M-x fixmee RET

or

roll the mouse wheel when hovering over the text "fixm" in the modeline.

or

execute `fixmee-view-listing` to navigate using `next-error` conventions.

Key Bindings

The default key bindings are

Keystrokes Function
C-c f fixmee-goto-nextmost-urgent
C-c F fixmee-goto-prevmost-urgent
C-c v fixmee-view-listing
M-n fixmee-goto-next-by-position ; only when the point is
M-p fixmee-goto-previous-by-position ; inside a fixme notice

To constrain the nextmost/prevmost-urgent commands to the current buffer only, use a universal prefix argument, eg

C-u C-c f

When the smartrep package is installed, the C-c prefix need not be used for consecutive fixmee-mode keyboard commands. Instead, just keep pressing f (or whichever key you set in customize).

There is also a context menu and mouse-wheel bindings on the minor-mode lighter in the modeline:

Mouse action Effect
mouse-1 context menu
wheel-down next by urgency
wheel-up previous by urgency
M-wheel-down next by position
M-wheel-up previous by position

Patterns

The following fixme patterns are supported by default:

@@@
XXX         ; only this one is case-sensitive
todo
fixme

Compatibility and Requirements

GNU Emacs version 24.5-devel     : not tested
GNU Emacs version 24.4           : yes
GNU Emacs version 24.3           : yes
GNU Emacs version 23.3           : yes
GNU Emacs version 22.2           : yes, with some limitations
GNU Emacs version 21.x and lower : unknown

Requires:
button-lock.el,
tabulated-list.el (included with Emacs 24.x)

Uses if present: nav-flash.el, back-button.el, string-utils.el, smartrep.el

Packages

No packages published

Languages

  • Emacs Lisp 89.1%
  • Makefile 10.9%