Add imenu-list layer

imenu-list provides a side bar that shows all imenu entries of the
current buffer
This commit is contained in:
bmag 2015-09-22 22:11:33 +03:00 committed by syl20bnr
parent b364697125
commit 6f2e2df275
3 changed files with 65 additions and 0 deletions

View File

@ -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 |

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

View File

@ -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 <sylvain.benner@gmail.com>
;; 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)))