Homepage: http://nschum.de/src/emacs/fringe-helper
Author: Nikolaj Schumacher
Updated:
Helper functions for fringe bitmaps
fringe-helper contains helper functions for fringe bitmaps.
`fringe-helper-define' allows you to to define fringe bitmaps using a visual
string replesentation. For example:
(fringe-helper-define 'test-bitmap '(top repeat)
"XX......"
"..XX...."
"....XX.."
"......XX")
You can also generate arguments for `define-fringe-bitmap' yourself, by
using `fringe-helper-convert'.
fringe-helper also provides a few stock bitmaps. They are loaded on demand
by `fringe-lib-load' and adapt to the current fringe size to a certain
extend.
`fringe-helper-insert' inserts a fringe bitmap at point and
`fringe-helper-insert-region' inserts a fringe bitmap along a region.
`fringe-helper-remove' removes both kinds.
Here's an example for enhancing `flymake-mode' with fringe bitmaps:
(require 'fringe-helper)
(require 'flymake)
(defvar flymake-fringe-overlays nil)
(make-variable-buffer-local 'flymake-fringe-overlays)
(defadvice flymake-make-overlay (after add-to-fringe first
(beg end tooltip-text face mouse-face)
activate compile)
(push (fringe-helper-insert-region
beg end
(fringe-lib-load (if (eq face 'flymake-errline)
fringe-lib-exclamation-mark
fringe-lib-question-mark))
'left-fringe 'font-lock-warning-face)
flymake-fringe-overlays))
(defadvice flymake-delete-own-overlays (after remove-from-fringe activate
compile)
(mapc 'fringe-helper-remove flymake-fringe-overlays)
(setq flymake-fringe-overlays nil))