diff --git a/modules/emacs/hideshow/autoload.el b/modules/emacs/hideshow/autoload.el index 3f23e0c4f..087bb62df 100644 --- a/modules/emacs/hideshow/autoload.el +++ b/modules/emacs/hideshow/autoload.el @@ -1,5 +1,10 @@ ;;; emacs/hideshow/autoload.el -*- lexical-binding: t; -*- +(defface +hideshow-folded-face + `((t (:inherit font-lock-comment-face :weight light))) + "Face to hightlight `hideshow' overlays." + :group 'doom-themes) + ;;;###autoload (defun +hideshow-haml-forward-sexp (arg) (haml-forward-sexp arg) @@ -14,6 +19,19 @@ (goto-char (cadr range)) (end-of-line))))) +;;;###autoload +(defun +hideshow-set-up-overlay (ov) + (when (eq 'code (overlay-get ov 'hs)) + (when (featurep 'vimish-fold) + (overlay-put + ov 'before-string + (propertize "…" 'display + (list vimish-fold-indication-mode + 'empty-line + 'vimish-fold-fringe)))) + (overlay-put + ov 'display (propertize " [...] " 'face '+hideshow-folded-face)))) + ;; ;; Indentation detection diff --git a/modules/emacs/hideshow/config.el b/modules/emacs/hideshow/config.el index d1674574a..900f2cd4b 100644 --- a/modules/emacs/hideshow/config.el +++ b/modules/emacs/hideshow/config.el @@ -1,8 +1,11 @@ ;;; emacs/hideshow/config.el -*- lexical-binding: t; -*- (after! hideshow ; built-in - (setq hs-hide-comments-when-hiding-all nil) + (setq hs-hide-comments-when-hiding-all nil + ;; Nicer code-folding overlays (with fringe indicators) + hs-set-up-overlay #'+hideshow-set-up-overlay) + ;; extra folding support for more languages (unless (assq 't hs-special-modes-alist) (setq hs-special-modes-alist (append diff --git a/modules/ui/doom/config.el b/modules/ui/doom/config.el index 35ca8b43f..121586d2c 100644 --- a/modules/ui/doom/config.el +++ b/modules/ui/doom/config.el @@ -63,23 +63,3 @@ ;; considered an unreal buffer, so solaire-mode must be restored. (add-hook 'org-capture-mode-hook #'turn-on-solaire-mode)) - -(after! hideshow - (defface +doom-folded-face `((t (:inherit font-lock-comment-face :weight light))) - "Face to hightlight `hideshow' overlays." - :group 'doom-themes) - - ;; Nicer code-folding overlays (with fringe indicators) - (defun +doom-set-up-overlay (ov) - (when (eq 'code (overlay-get ov 'hs)) - (when (featurep 'vimish-fold) - (overlay-put - ov 'before-string - (propertize "…" 'display - (list vimish-fold-indication-mode - 'empty-line - 'vimish-fold-fringe)))) - (overlay-put - ov 'display (propertize " [...] " 'face '+doom-folded-face)))) - (setq hs-set-up-overlay #'+doom-set-up-overlay)) -