#+TITLE: ui/fill-column #+DATE: August 23, 2020 #+SINCE: 2.0.9 #+STARTUP: inlineimages nofold * Table of Contents :TOC_3:noexport: - [[#description][Description]] - [[#maintainers][Maintainers]] - [[#module-flags][Module Flags]] - [[#plugins][Plugins]] - [[#prerequisites][Prerequisites]] - [[#features][Features]] - [[#configuration][Configuration]] - [[#setting-fill-column-globally][Setting fill-column globally]] - [[#setting-fill-column-for-the-current-buffer-or-mode][Setting fill-column for the current buffer or mode]] - [[#hl-fill-column-only-configuring-the-look-of-the-indicator][(hl-fill-column only) Configuring the look of the indicator]] - [[#troubleshooting][Troubleshooting]] * Description This module provides a fill column indicator to make it obvious when a line reaches or surpasses the 80th column. This serves as a reminder to keep lines short for accessibility and/or convenience. [[https://www.emacswiki.org/emacs/EightyColumnRule][Read more about this on the Emacs Wiki page]]. #+begin_quote This module is deprecated and will be removed once Doom drops Emacs 26.x support. This is because the built-in ~display-fill-column-indicator-mode~ (in 27 and newer) replaces it, and enabling it is a trivial one-liner, which doesn't warrant a module: ~(global-display-fill-column-indicator-mode +1)~ #+end_quote ** Maintainers This module has no dedicated maintainers. ** Module Flags This module provides no flags. ** Plugins + [[https://github.com/laishulu/hl-fill-column][hl-fill-column]]* (unless Emacs >=27) * Prerequisites This module has no prerequisites. * Features The behavior of this module varies slightly depending on your version of Emacs: + In Emacs 26.x, text beyond ~fill-column~ will be highlighted. + In Emacs 27 and newer, a line is drawn down the right side at column 80. * Configuration ** Setting fill-column globally This column limit is controlled by the ~fill-column~ variable (default: ~80~). This variable is buffer-local, therefore, to change this globally, you must use ~setq-default~: #+BEGIN_SRC emacs-lisp (setq-default fill-column 100) #+END_SRC ~hl-fill-column-mode~ (or ~display-fill-column-indicator-mode~ on Emacs 27+) must be restarted to see the change. ** Setting fill-column for the current buffer or mode The ~setq-hook!~ convenience macro makes settings ~fill-column~ for a particular mode (or modes) easy: #+BEGIN_SRC emacs-lisp (setq-hook! 'org-mode-hook fill-column 100) (setq-hook! 'python-mode-hook fill-column 72) (setq-hook! js2-mode fill-column 72) (setq-hook! '(ruby-mode rustic-mode python-mode-hook) fill-column 80) #+END_SRC Any open buffers in these modes must be restarted to see the change. ** (hl-fill-column only) Configuring the look of the indicator To change the appears of hl-fill-column's highlight, change the ~hl-fill-column-face~ face. Doom provides the ~custom-set-faces!~ macro to help you do this: #+BEGIN_SRC emacs-lisp (custom-set-faces! '(hl-fill-column-face :background "red" :foreground "blue" :inverse-video t)) #+END_SRC See =M-x helpful-function RET custom-set-faces\!= for demos and documentation for this macro. * TODO Troubleshooting