更新emacs / spacemacs

时间:2015-12-08 18:50:17

标签: emacs line-numbers evil-mode spacemacs

尝试将行编号右侧与分隔符空间对齐,并且与Spacemacs中突出显示的行相同的背景颜色非常复杂。特别是当它在linum和linum-relative中同时进行时。

我不知道这段代码是否合适,但到目前为止它仍在管理:

(defun dotspacemacs/user-config ()
  "Configuration function for user code.
 This function is called at the very end of Spacemacs initialization after
layers configuration. You are free to put any user code."
  (global-linum-mode t)
  (unless window-system
    (add-hook 'linum-before-numbering-hook
              (lambda ()
                (setq-local my-linum-format-fmt
                            (let ((w (length (number-to-string
                                              (count-lines (point-min) (point-max))))))
                              (concat "%" (number-to-string w) "d"))))
              (set-face-attribute 'linum nil
                                  :background (face-background 'hl-line nil t))))

  (defface my-linum-hl
    `((t :inherit linum :background ,(face-background 'hl-line nil t)))
    "Face for the current line number."
    :group 'linum)

  (defun my-linum-format-func (line)
    (concat
     (propertize (format my-linum-format-fmt line) 'face 'my-linum-hl)
     (propertize " " 'face 'my-linum-hl)))

  (unless window-system
    (setq linum-format 'my-linum-format-func))

  ;; linum-relative
  (linum-relative-toggle)
  (unless window-system
    (setq-local my-linum-relative-format-fmt
                (let ((w (length (number-to-string
                                  (count-lines (point-min) (point-max))))))
                  (concat "%" (number-to-string w) "s "))))

  (unless window-system
    (setq linum-relative-format my-linum-relative-format-fmt))
)

问题是:当我在Emacs内部更改主题时,数字背景颜色不会更改为正确的颜色。颜色保持不变。在颜色主题更改后,如何让emacs更新linum和linum相对背景颜色?

0 个答案:

没有答案