(package-initialize) (require 'flymake) ;;(require 'diff-hl) (require 'diff-mode) (defun fringe-bitmap-test () (interactive) (pop-to-buffer (get-buffer-create "*fringe-bitmap-test*")) (erase-buffer) (dolist (bitmap fringe-bitmaps) (insert (format "%s %s\n%s" (propertize "x" 'display `(left-fringe ,bitmap error)) bitmap (propertize "\n" 'face '(:height 1)))))) (define-fringe-bitmap 'empty-line [#b00000000 #b11111111 #b00000000] nil nil '(top t)) (define-fringe-bitmap 'right-curly-arrow [#b01111100 #b01111110 #b00000011 #b00000011 #b00000011 #b01000011 #b01100111 #b01101111 #b01111110 #b01111000 #b01111110 #b01111111]) (define-fringe-bitmap 'left-curly-arrow [#b00111110 #b01111110 #b11000000 #b11000000 #b11000000 #b11000010 #b11100110 #b11110110 #b01111110 #b00011110 #b01111110 #b11111110]) (define-fringe-bitmap 'hollow-rectangle [#b11111111 #b11111111 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11111111 #b11111111]) (define-fringe-bitmap 'vertical-bar [#b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000]) (define-fringe-bitmap 'horizontal-bar [#b11111111 #b11111111 #b11111111] nil nil 'bottom) (define-fringe-bitmap 'filled-rectangle [#b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111]) (define-fringe-bitmap 'filled-square [#b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111 #b11111111]) (define-fringe-bitmap 'hollow-square [#b11111111 #b11111111 #b11000011 #b11000011 #b11000011 #b11000011 #b11000011 #b11111111 #b11111111]) (define-fringe-bitmap 'down-arrow [#b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b11011011 #b11011011 #b11111111 #b01111110 #b00111100 #b00011000]) (define-fringe-bitmap 'up-arrow [#b00011000 #b00111100 #b01111110 #b11111111 #b11011011 #b11011011 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000 #b00011000]) (define-fringe-bitmap 'right-arrow [#b01100000 #b01110000 #b00111000 #b00011100 #b00001110 #b11111111 #b11111111 #b00001110 #b00011100 #b00111000 #b01110000 #b01100000]) (define-fringe-bitmap 'left-arrow [#b00000110 #b00001110 #b00011100 #b00111000 #b01110000 #b11111111 #b11111111 #b01110000 #b00111000 #b00011100 #b00001110 #b00000110]) (define-fringe-bitmap 'bottom-right-angle [#b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b11111111 #b11111111 #b11111110] nil nil 'bottom) (define-fringe-bitmap 'top-right-angle [#b11111110 #b11111111 #b11111111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111] nil nil 'top) (define-fringe-bitmap 'bottom-left-angle [#b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11111111 #b11111111 #b01111111] nil nil 'top) (define-fringe-bitmap 'top-left-angle [#b01111111 #b11111111 #b11111111 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000] nil nil 'top) (define-fringe-bitmap 'left-bracket [#b01111111 #b11111111 #b11111111 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11100000 #b11111111 #b11111111 #b01111111]) (define-fringe-bitmap 'right-bracket [#b11111110 #b11111111 #b11111111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b00000111 #b11111111 #b11111111 #b11111110]) (define-fringe-bitmap 'exclamation-mark [#b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00000000 #b00000000 #b00111000 #b00111000 #b00111000]) (define-fringe-bitmap 'left-triangle [#b00000011 #b00000111 #b00001111 #b00011111 #b00111111 #b01111111 #b11111111 #b11111111 #b01111111 #b00111111 #b00011111 #b00001111 #b00000111 #b00000011]) (define-fringe-bitmap 'right-triangle [#b11000000 #b11100000 #b11110000 #b11111000 #b11111100 #b11111110 #b11111111 #b11111111 #b11111110 #b11111100 #b11111000 #b11110000 #b11100000 #b11000000]) (define-fringe-bitmap 'question-mark [#b00111100 #b01111110 #b11101111 #b11100111 #b11100111 #b11100111 #b00000111 #b00001110 #b00011100 #b00011100 #b00111000 #b00111000 #b00000000 #b00000000 #b00111000 #b00111000 #b00111000]) (with-eval-after-load 'diff-mode (define-fringe-bitmap 'diff-fringe-add [#b00011000 #b00011000 #b00011000 #b11111111 #b11111111 #b00011000 #b00011000 #b00011000]) (define-fringe-bitmap 'diff-fringe-del [#b11111111 #b11111111 #b11111111]) (define-fringe-bitmap 'diff-fringe-rep [#b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00000000 #b00000000 #b00111000 #b00111000 #b00111000])) (with-eval-after-load 'flymake (define-fringe-bitmap 'flymake-double-exclamation-mark [#b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b11100111 #b00000000 #b00000000 #b11100111 #b11100111 #b11100111])) (advice-add 'diff-hl-define-bitmaps :after (lambda () (define-fringe-bitmap 'diff-hl-bmp-insert [#b00011000 #b00011000 #b00011000 #b11111111 #b11111111 #b00011000 #b00011000 #b00011000]) (define-fringe-bitmap 'diff-hl-bmp-delete [#b11111111 #b11111111 #b11111111]) (define-fringe-bitmap 'diff-hl-bmp-i [#b00111000 #b00111000 #b00111000 #b00000000 #b00000000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000 #b00111000])))