43 lines
1.2 KiB
EmacsLisp
43 lines
1.2 KiB
EmacsLisp
;;; app/write/autoload.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload
|
|
(defvar +write-mode-map (make-sparse-keymap)
|
|
"TODO")
|
|
|
|
;;;###autoload
|
|
(define-minor-mode +write-mode
|
|
"Turns Emacs into a more comfortable writing environment and word processor."
|
|
:init-value nil
|
|
:keymap +write-mode-map
|
|
(setq-local visual-fill-column-center-text t)
|
|
(when +write-text-scale
|
|
(text-scale-set (if +write-mode 2 0)))
|
|
(when +write-line-spacing
|
|
(setq-local line-spacing +write-line-spacing)))
|
|
|
|
;;;###autoload
|
|
(defun +write-init-org-mode-h ()
|
|
"Initializes `org-mode' specific settings for `+write-mode'."
|
|
(when (eq major-mode 'org-mode)
|
|
(+org-pretty-mode (if +write-mode +1 -1))))
|
|
|
|
;;;###autoload
|
|
(defun +write-init-line-numbers-h ()
|
|
(display-line-numbers-mode (if +write-mode +1 -1)))
|
|
|
|
;;;###autoload
|
|
(defun +write-init-mixed-pitch-h ()
|
|
(mixed-pitch-mode (if +write-mode +1 -1)))
|
|
|
|
;;;###autoload
|
|
(defun +write-init-visual-fill-column-h ()
|
|
(visual-fill-column-mode (if +write-mode +1 -1)))
|
|
|
|
;;;###autoload
|
|
(add-hook! '+write-mode-hook
|
|
#'(flyspell-mode
|
|
visual-line-mode
|
|
+write-init-mixed-pitch-h
|
|
+write-init-visual-fill-column-h
|
|
+write-init-line-numbers-h
|
|
+write-init-org-mode-h))
|