fringe-helper

Homepage: http://nschum.de/src/emacs/fringe-helper

Author: Nikolaj Schumacher

Updated:

Summary

Helper functions for fringe bitmaps

Commentary

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))

Dependencies

Reverse dependencies