Variable: whitespace-display-mappings

whitespace-display-mappings is a customizable variable defined in whitespace.el.gz.

Value

((space-mark 32 [183] [46]) (space-mark 160 [164] [95])
 (newline-mark 10 [36 10]) (tab-mark 9 [187 9] [92 9]))

Documentation

Alist of mappings for displaying characters.

Each element has the following form:

   (KIND CHAR VECTOR...)

Where:

KIND is the kind of character.
        It can be one of the following symbols:

        tab-mark for TAB character

        space-mark for SPACE or HARD SPACE character

        newline-mark for NEWLINE character

CHAR is the character to be mapped.

VECTOR is a vector of characters to be displayed in place of CHAR.
        The first vector that can be displayed by the terminal is used;
        if no display vector for a mapping can be displayed, then
        that character is displayed unmodified.

The NEWLINE character is displayed using the face given by whitespace-newline variable.

This variable is used when whitespace-style includes tab-mark, space-mark or newline-mark.

Source Code

;; Defined in /usr/src/emacs/lisp/whitespace.el.gz
;; Hacked from `visible-whitespace-mappings' in visws.el
(defcustom whitespace-display-mappings
  '(
    (space-mark   ?\     []     [?.])		; space - middle dot
    (space-mark   ?\xA0  []     [?_])		; hard space - currency sign
    ;; NEWLINE is displayed using the face `whitespace-newline'
    (newline-mark ?\n    [?$ ?\n])			; eol - dollar sign
    ;; (newline-mark ?\n    [?↵ ?\n] [?$ ?\n])	; eol - downwards arrow
    ;; (newline-mark ?\n    [?¶ ?\n] [?$ ?\n])	; eol - pilcrow
    ;; (newline-mark ?\n    [?¯ ?\n]  [?$ ?\n])	; eol - overscore
    ;; (newline-mark ?\n    [?¬ ?\n]  [?$ ?\n])	; eol - negation
    ;; (newline-mark ?\n    [?° ?\n]  [?$ ?\n])	; eol - degrees
    ;;
    ;; WARNING: the mapping below has a problem.
    ;; When a TAB occupies exactly one column, it will display the
    ;; character ?\xBB at that column followed by a TAB which goes to
    ;; the next TAB column.
    ;; If this is a problem for you, please, comment the line below.
    (tab-mark     ?\t    [?» ?\t] [?\\ ?\t])	; tab - right guillemet
    )
  "Alist of mappings for displaying characters.

Each element has the following form:

   (KIND CHAR VECTOR...)

Where:

KIND    is the kind of character.
        It can be one of the following symbols:

        tab-mark        for TAB character

        space-mark      for SPACE or HARD SPACE character

        newline-mark    for NEWLINE character

CHAR    is the character to be mapped.

VECTOR  is a vector of characters to be displayed in place of CHAR.
        The first vector that can be displayed by the terminal is used;
        if no display vector for a mapping can be displayed, then
        that character is displayed unmodified.

The NEWLINE character is displayed using the face given by
`whitespace-newline' variable.

This variable is used when `whitespace-style' includes `tab-mark',
`space-mark' or `newline-mark'."
  :type '(repeat
	  (list :tag "Character Mapping"
		(choice :tag "Char Kind"
			(const :tag "Tab" tab-mark)
			(const :tag "Space" space-mark)
			(const :tag "Newline" newline-mark))
		(character :tag "Char")
		(repeat :inline t :tag "Vector List"
			(vector :tag ""
				(repeat :inline t
					:tag "Vector Characters"
					(character :tag "Char"))))))
  :group 'whitespace)