From 6393e47c778725864c6141b369a2119eeb0774f2 Mon Sep 17 00:00:00 2001 From: William Carroll Date: Thu, 9 Aug 2018 12:02:18 -0400 Subject: [PATCH] Support highlighting fill-column overflows This was previously semi-supported. There were two problems, however: 1. My fill-column value of 80 got out-of-sync with my white-line-column value of 100. Solution: globally define wpc/fill-column, set that to 80, and consume the new const in my config. 2. Nothing was activating whitespace mode. Solution: add whitespace-mode to prog-mode-hook. This SO answer helped tremendously: https://stackoverflow.com/questions/18855510/have-emacs-highlight-characters-over-80 --- emacs.d/wpc/packages/wpc-misc.el | 2 +- emacs.d/wpc/packages/wpc-ui.el | 7 +++++-- emacs.d/wpc/variables.el | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/emacs.d/wpc/packages/wpc-misc.el b/emacs.d/wpc/packages/wpc-misc.el index 4edcdcda0..ee80e019a 100644 --- a/emacs.d/wpc/packages/wpc-misc.el +++ b/emacs.d/wpc/packages/wpc-misc.el @@ -70,7 +70,7 @@ create-lockfiles nil) ;; ensure code wraps at 80 characters by default -(setq-default fill-column 80) +(setq-default fill-column wpc/fill-column) (put 'narrow-to-region 'disabled nil) diff --git a/emacs.d/wpc/packages/wpc-ui.el b/emacs.d/wpc/packages/wpc-ui.el index 307379495..03899e61b 100644 --- a/emacs.d/wpc/packages/wpc-ui.el +++ b/emacs.d/wpc/packages/wpc-ui.el @@ -127,8 +127,11 @@ ;; highlight lines that are over 100 characters long (use-package whitespace :config - (setq whitespace-line-column 100) - (setq whitespace-style '(face lines-tail))) + (setq whitespace-line-column wpc/fill-column) + (setq whitespace-style '(face lines-tail)) + (add-hook 'prog-mode-hook #'whitespace-mode)) + + ;; disable GUI scrollbars (when (display-graphic-p) diff --git a/emacs.d/wpc/variables.el b/emacs.d/wpc/variables.el index bd5af2a01..d0bba2615 100644 --- a/emacs.d/wpc/variables.el +++ b/emacs.d/wpc/variables.el @@ -18,5 +18,9 @@ [mouse-5] [down-mouse-5] [drag-mouse-5] [double-mouse-5] [triple-mouse-5]) "This variable stores all of the mouse-related keybindings that Emacs recognizes.") +(defconst wpc/fill-column + 80 + "Variable used to set the defaults for wrapping, highlighting, etc.") + (provide 'variables) ;;; variables.el ends here