emacs 26で入ったdisplay-line-numbersを利用する

emacsで左側に行数を表示するlinum-modeは重いことで有名だった。 軽くするためにはいろいろと設定しなくてはいけなかった.

しかし, emacs26でついに行数表示のネイティブ実装であるdiplay-line-numbers-modeが実装された.

(if (version<= "26.0.50" emacs-version)
      (global-display-line-numbers-mode))

個人的にはemacs -nwで起動したときに行数表示の色が見にくかったので以下のようにしている

(if (version<= "26.0.50" emacs-version)
    (progn
      (global-display-line-numbers-mode)
      (defun display-line-numbers-color-on-after-init (frame)
        "Hook function executed after FRAME is generated."
        (unless (display-graphic-p frame)
          (set-face-background
           'line-number
           (plist-get base16-solarized-dark-colors :base01))))
      (add-hook 'after-make-frame-functions
                (lambda (frame)
                  (display-line-numbers-color-on-after-init frame)))
      ))