;;; funcs.el --- Spacemacs Evil Layer functions File ;; ;; Copyright (c) 2012-2016 Sylvain Benner & Contributors ;; ;; Author: Sylvain Benner ;; URL: https://github.com/syl20bnr/spacemacs ;; ;; This file is not part of GNU Emacs. ;; ;;; License: GPLv3 (defvar spacemacs--evil-iedit-insert-states-default nil "Default value of the list of additional states enabled in \ `evil-iedit-insert-state'.") (defvar spacemacs--evil-iedit-insert-states-hybrid nil "List of additional states enabled in `evil-iedit-insert-state' when `hybrid-mode' is active.") (defun spacemacs//enable-hs-minor-mode () "Enable hs-minor-mode for code folding." (ignore-errors (hs-minor-mode) (spacemacs|hide-lighter hs-minor-mode))) (defun spacemacs//iedit-insert-state-hybrid (style) "If STYLE is hybrid, update `evil-iedit-insert-state' definition to enable `evil-hybrid-state' instead of `evil-insert-state'. Otherwise, revert to the default behavior (i.e. enable `evil-insert-state')." ;; Populate variables on the first invocation. (unless spacemacs--evil-iedit-insert-states-default (setq spacemacs--evil-iedit-insert-states-default (evil-get-property evil-state-properties 'iedit-insert :enable)) (setq spacemacs--evil-iedit-insert-states-hybrid (mapcar (lambda (item) (if (eq item 'insert) 'hybrid item)) spacemacs--evil-iedit-insert-states-default))) (let ((states (if (eq style 'hybrid) spacemacs--evil-iedit-insert-states-hybrid spacemacs--evil-iedit-insert-states-default))) (evil-put-property 'evil-state-properties 'iedit-insert :enable states)))