diff --git a/layers/+tools/imenu-list/README.org b/layers/+tools/imenu-list/README.org new file mode 100644 index 000000000..a8a4b4383 --- /dev/null +++ b/layers/+tools/imenu-list/README.org @@ -0,0 +1,32 @@ +* imenu-list contribution layer for Spacemacs +** Table of Contents :TOC@4: + - [[#imenu-list-contribution-layer-for-spacemacs][imenu-list contribution layer for Spacemacs]] + - [[#description][Description]] + - [[#install][Install]] + - [[#key-bindings][Key bindings]] + - [[#from-any-buffer][From any buffer]] + - [[#from-imenu-list-buffer][From imenu-list buffer]] + +** Description +This layer uses [[https://github.com/bmag/imenu-list][imenu-list]] to show the current buffer's index in a side bar. +[[file:img/imenu-list-example.png]] + +** Install +To use this contribution add it to your =~/.spacemacs= + +#+begin_src emacs-lisp + (setq-default dotspacemacs-configuration-layers '(imenu-list)) +#+end_src + +** Key bindings +*** From any buffer +| Key Binding | Description | +|-------------+--------------------------| +| ~SPC b i~ | toggle imenu-list window | +*** From imenu-list buffer +| Key Binding | Description | +|-------------+--------------------------------------------------------| +| ~q~ | quit imenu-list window | +| ~RET~ | go to current entry | +| ~d~ | display current entry, keep focus on imenu-list window | +| ~f~ | fold/unfold current section | diff --git a/layers/+tools/imenu-list/img/imenu-list-example.png b/layers/+tools/imenu-list/img/imenu-list-example.png new file mode 100644 index 000000000..5b310dfa0 Binary files /dev/null and b/layers/+tools/imenu-list/img/imenu-list-example.png differ diff --git a/layers/+tools/imenu-list/packages.el b/layers/+tools/imenu-list/packages.el new file mode 100644 index 000000000..767653ec7 --- /dev/null +++ b/layers/+tools/imenu-list/packages.el @@ -0,0 +1,33 @@ +;;; packages.el --- imenu-list Layer packages File for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Sylvain Benner & Contributors +;; +;; Author: Sylvain Benner +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +;; List of all packages to install and/or initialize. Built-in packages +;; which require an initialization must be listed explicitly in the list. +(setq imenu-list-packages '(imenu-list)) + +;; List of packages to exclude. +(setq imenu-list-excluded-packages '()) + +(defun imenu-list/init-imenu-list () + (use-package imenu-list + :defer t + :init + (progn + (setq imenu-list-focus-after-activation t + imenu-list-auto-resize t) + (spacemacs/set-leader-keys "bi" #'imenu-list-minor-mode)) + :config + (evilified-state-evilify-map imenu-list-major-mode-map + :mode imenu-list-major-mode + :bindings + "d" #'imenu-list-display-entry + "q" #'imenu-list-minor-mode)))