1
0
Fork 0

emacs line numbers

This commit is contained in:
Jeremy Kaplan 2016-12-15 20:35:21 -05:00
commit e75182bc5d

View file

@ -15,6 +15,7 @@
haskell-mode haskell-mode
js2-mode js2-mode
markdown-mode markdown-mode
nlinum
php-mode php-mode
scala-mode scala-mode
typescript-mode typescript-mode
@ -84,7 +85,7 @@
'(mouse-wheel-mode nil) '(mouse-wheel-mode nil)
'(package-selected-packages '(package-selected-packages
(quote (quote
(yaml-mode web-mode typescript-mode scala-mode php-mode markdown-mode js2-mode haskell-mode evil-surround evil-leader evil autopair))) (nlinum coffee-mode yaml-mode web-mode typescript-mode scala-mode php-mode markdown-mode js2-mode haskell-mode evil-surround evil-leader evil autopair)))
'(require-final-newline t) '(require-final-newline t)
'(scheme-program-name "racket") '(scheme-program-name "racket")
'(show-paren-delay 0) '(show-paren-delay 0)
@ -113,7 +114,7 @@
;; longlines mode everywhere ;; longlines mode everywhere
(global-visual-line-mode t) (global-visual-line-mode t)
;; show line/column numbers ;; show line/column numbers in statusbar
(setq line-number-mode t) (setq line-number-mode t)
(setq column-number-mode t) (setq column-number-mode t)
@ -168,23 +169,17 @@
(require 'markdown-mode) (require 'markdown-mode)
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)) (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
;; linum-mode ;; line numbers
(add-hook 'prog-mode-hook (lambda () (linum-mode 1))) (defun my-nlinum-mode-hook ()
(unless window-system (when nlinum-mode
(add-hook 'linum-before-numbering-hook (setq-local nlinum-format
(lambda () (concat "%" (number-to-string
(setq-local linum-format-fmt ;; Guesstimate number of buffer lines.
(let ((w (length (number-to-string (ceiling (log (max 1 (/ (buffer-size) 80)) 10)))
(count-lines (point-min) (point-max)))))) "d "))))
(concat "%" (number-to-string w) "d")))))) (add-hook 'nlinum-mode-hook #'my-nlinum-mode-hook)
(defun linum-format-func (line) (add-hook 'prog-mode-hook (lambda () (nlinum-mode 1)))
(concat
(propertize (format linum-format-fmt line) 'face 'linum)
(propertize " " 'face 'linum)))
(unless window-system
(setq linum-format 'linum-format-func))
;; delete trailing whitespace on save ;; delete trailing whitespace on save
(add-hook 'prog-mode-hook (lambda () (add-to-list 'write-file-functions 'delete-trailing-whitespace))) (add-hook 'prog-mode-hook (lambda () (add-to-list 'write-file-functions 'delete-trailing-whitespace)))