Outline or fold mode for editing Emacs Lisp code

elisp, emacs, folding

Solution

Here's my setup:

(require 'hideshow)
(global-set-key (kbd "C-M-h") 'hs-toggle-hiding)
(global-set-key (kbd "<f2> h h") 'hs-hide-all)
(global-set-key (kbd "<f2> h j") 'hs-show-all)

Problem

Is there a minor mode that I can use in combination with Emacs-Lisp mode such that each function definition can be switched on or off easily without inserting special code in the text file? for instance ``` (defun test1() (message "Hi!")) (defun test2() (message "Bye")) ``` Pressing F1 will fold each function definition into the top line/header as ``` + (defun test1() + (defun test2() ``` Pressing the `+` sign in front will unfold a given function and make it editable.. Pressing F2 will unfold all definitions..

Original source