From f2859670fbaef15c1c7814986d2bb14f934c7a5c Mon Sep 17 00:00:00 2001 From: York Zhao Date: Sat, 30 Jul 2011 22:21:35 -0400 Subject: [PATCH 2/3] `hideshow' Integration Integrate with `hideshow' to provide "za","zm","zr","zo", "zc" commands. --- evil-integration.el | 16 ++++++++++++++++ evil-vars.el | 5 +++++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/evil-integration.el b/evil-integration.el index 88b5994..24e2421 100644 --- a/evil-integration.el +++ b/evil-integration.el @@ -100,6 +100,22 @@ (when (overlayp show-paren-overlay-1) (delete-overlay show-paren-overlay-1)))))) +;;; Folding + +(eval-after-load 'hideshow + '(progn + (defun evil-za () + (interactive) + (hs-toggle-hiding) + (hs-hide-level evil-fold-level)) + (defun evil-hs-setup () + (define-key evil-normal-state-map "za" 'evil-za) + (define-key evil-normal-state-map "zm" 'hs-hide-all) + (define-key evil-normal-state-map "zr" 'hs-show-all) + (define-key evil-normal-state-map "zo" 'hs-show-block) + (define-key evil-normal-state-map "zc" 'hs-hide-block)) + (add-hook 'hs-minor-mode-hook 'evil-hs-setup))) + (provide 'evil-integration) ;;; evil-integration.el ends here diff --git a/evil-vars.el b/evil-vars.el index 79b3f9c..a6ebe5d 100644 --- a/evil-vars.el +++ b/evil-vars.el @@ -193,6 +193,11 @@ which causes the parenthesis to be highlighted." :type '(repeat symbol) :group 'evil) +(defcustom evil-fold-level 0 + "Default fold level." + :type 'integer + :group 'evil) + ;;; Variables (defvar evil-state nil -- 1.7.5.GIT