💥 Drop Emacs 25.x support
Emacs 26.1 is Doom's new minimum supported version Closes #2026
This commit is contained in:
parent
9cb535043c
commit
99cd52e70f
33 changed files with 48 additions and 426 deletions
|
@ -512,79 +512,6 @@ treat Emacs as a non-application window."
|
|||
(defun doom-enable-line-numbers-h () (display-line-numbers-mode +1))
|
||||
(defun doom-disable-line-numbers-h () (display-line-numbers-mode -1))
|
||||
|
||||
;; DEPRECATED `nlinum' is used for Emacs 25 users; 26+ has native line numbers.
|
||||
(use-package! nlinum
|
||||
;; Line number column. A faster (or equivalent, in the worst case) line number
|
||||
;; plugin than `linum-mode'.
|
||||
:unless EMACS26+
|
||||
:defer t
|
||||
:init
|
||||
(defvar doom-line-number-lpad 4
|
||||
"How much padding to place before line numbers.")
|
||||
(defvar doom-line-number-rpad 1
|
||||
"How much padding to place after line numbers.")
|
||||
(defvar doom-line-number-pad-char 32
|
||||
"Character to use for padding line numbers.
|
||||
|
||||
By default, this is a space character. If you use `whitespace-mode' with
|
||||
`space-mark', the whitespace in line numbers will be affected (this can look
|
||||
ugly). In this case, you can change this to ?\u2002, which is a unicode
|
||||
character that looks like a space that `whitespace-mode' won't affect.")
|
||||
:config
|
||||
(setq nlinum-highlight-current-line t)
|
||||
|
||||
;; Fix lingering hl-line overlays (caused by nlinum)
|
||||
(add-hook! 'hl-line-mode-hook
|
||||
(remove-overlays (point-min) (point-max) 'face 'hl-line))
|
||||
|
||||
(defun doom-nlinum-format-fn (line _width)
|
||||
"A more customizable `nlinum-format-function'. See `doom-line-number-lpad',
|
||||
`doom-line-number-rpad' and `doom-line-number-pad-char'. Allows a fix for
|
||||
`whitespace-mode' space-marks appearing inside the line number."
|
||||
(let ((str (number-to-string line)))
|
||||
(setq str (concat (make-string (max 0 (- doom-line-number-lpad (length str)))
|
||||
doom-line-number-pad-char)
|
||||
str
|
||||
(make-string doom-line-number-rpad doom-line-number-pad-char)))
|
||||
(put-text-property 0 (length str) 'face
|
||||
(if (and nlinum-highlight-current-line
|
||||
(= line nlinum--current-line))
|
||||
'nlinum-current-line
|
||||
'linum)
|
||||
str)
|
||||
str))
|
||||
(setq nlinum-format-function #'doom-nlinum-format-fn)
|
||||
|
||||
(add-hook! 'nlinum-mode-hook
|
||||
(defun doom-init-nlinum-width-h ()
|
||||
"Calculate line number column width beforehand (optimization)."
|
||||
(setq nlinum--width
|
||||
(length (save-excursion (goto-char (point-max))
|
||||
(format-mode-line "%l")))))))
|
||||
|
||||
(use-package! nlinum-hl
|
||||
;; Fixes disappearing line numbers in nlinum and other quirks
|
||||
:unless EMACS26+
|
||||
:after nlinum
|
||||
:config
|
||||
;; With `markdown-fontify-code-blocks-natively' enabled in `markdown-mode',
|
||||
;; line numbers tend to vanish next to code blocks.
|
||||
(advice-add #'markdown-fontify-code-block-natively
|
||||
:after #'nlinum-hl-do-markdown-fontify-region)
|
||||
;; When using `web-mode's code-folding an entire range of line numbers will
|
||||
;; vanish in the affected area.
|
||||
(advice-add #'web-mode-fold-or-unfold :after #'nlinum-hl-do-generic-flush)
|
||||
;; Changing fonts can leave nlinum line numbers in their original size; this
|
||||
;; forces them to resize.
|
||||
(add-hook 'after-setting-font-hook #'nlinum-hl-flush-all-windows))
|
||||
|
||||
(use-package! nlinum-relative
|
||||
:unless EMACS26+
|
||||
:defer t
|
||||
:config
|
||||
(setq nlinum-format " %d ")
|
||||
(add-hook 'evil-mode-hook #'nlinum-relative-setup-evil))
|
||||
|
||||
|
||||
;;
|
||||
;;; Theme & font
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue