Frage

In Emacs, ich bin mit einem Farbschema mit einem dunklen Hintergrund und hellen Text. Wenn mit .rst Dateien arbeiten, habe ich einen Modus für das, was rst.el. verwendet Allerdings rst.el Highlights Überschriften mit einem hellen Hintergrundfarbe, die auf es unmöglich!

Leselicht Text macht

Ich denke, dass dies der Abschnitt des Codes in rst.el, die verantwortlich für die Hintergrundfarben ist:

(defgroup rst-faces-defaults nil
  "Values used to generate default faces for section titles on all levels.
Tweak these if you are content with how section title faces are built in
general but you do not like the details."
  :group 'rst-faces
  :version "21.1")

(defun rst-define-level-faces ()
  "Define the faces for the section title text faces from the values."
  ;; All variables used here must be checked in `rst-set-level-default'
  (let ((i 1))
    (while (<= i rst-level-face-max)
      (let ((sym (intern (format "rst-level-%d-face" i)))
        (doc (format "Face for showing section title text at level %d" i))
        (col (format ("gray10")))
    (make-empty-face sym)
    (set-face-doc-string sym doc)
    (set-face-background sym col)
    (set sym sym)
    (setq i (1+ i))))))

(defun rst-set-level-default (sym val)
  "Set a customized value affecting section title text face and recompute the
faces."
  (custom-set-default sym val)
  ;; Also defines the faces initially when all values are available
  (and (boundp 'rst-level-face-max)
       (boundp 'rst-level-face-format-light)
       (boundp 'rst-level-face-base-color)
       (boundp 'rst-level-face-step-light)
       (boundp 'rst-level-face-base-light)
       (rst-define-level-faces)))

;; Faces for displaying items on several levels; these definitions define
;; different shades of grey where the lightest one (i.e. least contrasting) is
;; used for level 1
(defcustom rst-level-face-max 6
  "Maximum depth of levels for which section title faces are defined."
  :group 'rst-faces-defaults
  :type '(integer)
  :set 'rst-set-level-default)
(defcustom rst-level-face-base-color "grey"
  "The base name of the color to be used for creating background colors in
ection title faces for all levels."
  :group 'rst-faces-defaults
  :type '(string)
  :set 'rst-set-level-default)
(defcustom rst-level-face-base-light
  (if (eq frame-background-mode 'dark)
      85
    15)
  "The lightness factor for the base color. This value is used for level 1. The
default depends on whether the value of `frame-background-mode' is `dark' or
not."
  :group 'rst-faces-defaults
  :type '(integer)
  :set 'rst-set-level-default)
(defcustom rst-level-face-format-light "%2d"
  "The format for the lightness factor appended to the base name of the color.
This value is expanded by `format' with an integer."
  :group 'rst-faces-defaults
  :type '(string)
  :set 'rst-set-level-default)
(defcustom rst-level-face-step-light
  (if (eq frame-background-mode 'dark)
     -7
     7)
  "The step width to use for the next color. The formula

    `rst-level-face-base-light'
    + (`rst-level-face-max' - 1) * `rst-level-face-step-light'

must result in a color level which appended to `rst-level-face-base-color'
using `rst-level-face-format-light' results in a valid color such as `grey50'.
This color is used as background for section title text on level
`rst-level-face-max'."
  :group 'rst-faces-defaults
  :type '(integer)
  :set 'rst-set-level-default)

(defcustom rst-adornment-faces-alist
  (let ((alist '((t . font-lock-keyword-face)
         (nil . font-lock-keyword-face)))
    (i 1))
    (while (<= i rst-level-face-max)
      (nconc alist (list (cons i (intern (format "rst-level-%d-face" i)))))
      (setq i (1+ i)))
    alist)
  "Provides faces for the various adornment types. Key is a number (for the
section title text of that level), t (for transitions) or nil (for section
title adornment). If you generally do not like how section title text faces are
set up tweak here. If the general idea is ok for you but you do not like the
details check the Rst Faces Defaults group."
  :group 'rst-faces
  :type '(alist
      :key-type
      (choice
       (integer
        :tag
        "Section level (may not be bigger than `rst-level-face-max')")
       (boolean :tag "transitions (on) / section title adornment (off)"))
      :value-type (face))
  :set-after '(rst-level-face-max))

Ich habe versucht, ‚grau‘ zu etwas zu ändern sonst, aber es hat nichts zu ändern. Jede Hilfe?

War es hilfreich?

Lösung

M-x customize-group rst-faces

Wenn Sie sich mit Code bestehen, dann fertigen Sie verwenden, um einige Dinge zu setzen, Blick auf den generierten Code und als Modell verwenden. Allerdings ist es nicht mehr als gute Form, die sie mit altmodischen .emacs Code zu tun.

Andere Tipps

Leider eine alte Frage zu graben.

Das Feld zu ändern ist Rst Level Face Base Light. Ändern Sie den Wert auf ~ 51 von dem Standard von 85 macht den Text lesbar, sondern behält Hervorhebung von Titeln.

Es nutzt die systematisch benannt grey%2d Farben Schatten des Hintergrunds an Profiltiefe.

Mit

 M-x customize-group rst-faces-default 

und setzen Sie den Wert von Rst Level Face Base Color zu black die Titel leichter zu lesen. Achten Sie darauf, dass Sie den Wert für alle zukünftigen Sitzungen festgelegt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top