mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
The folding indicators in the fringe haven't been working when clicked for some time now. And they also take precedence over other things displayed in the fringe like git status.
44 lines
1.1 KiB
EmacsLisp
44 lines
1.1 KiB
EmacsLisp
;;; siren-folding.el --- jimeh's Emacs Siren: folding configuration.
|
|
|
|
;;; Commentary:
|
|
|
|
;; Basic configuration for folding code.
|
|
|
|
;;; Code:
|
|
|
|
(use-package hideshow
|
|
:straight (:type built-in)
|
|
|
|
:bind
|
|
("C-=" . siren-folding-toggle-selective-display)
|
|
("C-c C-h" . siren-folding-toggle)
|
|
|
|
:init
|
|
(defun siren-folding (&optional arg)
|
|
"Activate or deactivate code folding.
|
|
Optional ARG is passed directly to mode toggle function."
|
|
(hs-minor-mode (or arg t)))
|
|
|
|
(defun siren-folding-toggle (column)
|
|
"Toggle hiding/showing blocks via hs-mode.
|
|
|
|
Borrowed from: http://www.emacswiki.org/emacs/HideShow"
|
|
(interactive "P")
|
|
(if hs-minor-mode
|
|
(if (condition-case nil
|
|
(hs-toggle-hiding)
|
|
(error t))
|
|
(hs-show-all))
|
|
(siren-folding-toggle-selective-display column)))
|
|
|
|
(defun siren-folding-toggle-selective-display (column)
|
|
"Helper function for `siren-folding-toggle'."
|
|
(interactive "P")
|
|
(set-selective-display
|
|
(or column
|
|
(unless selective-display
|
|
(1+ (current-column)))))))
|
|
|
|
(provide 'siren-folding)
|
|
;;; siren-folding.el ends here
|