Fix ido micro-state which could persist between different ido sessions

This commit is contained in:
syl20bnr 2015-02-23 22:51:36 -05:00
parent c9e7276e41
commit 1c39ed852d
2 changed files with 12 additions and 13 deletions

View file

@ -83,14 +83,13 @@
"fec" 'find-contrib-file
"fed" 'find-dotfile
"fev" 'spacemacs/display-and-copy-version
"ff" 'ido-find-file
"fg" 'rgrep
"fj" 'dired-jump
"fo" 'spacemacs/open-in-external-app
"fS" 'evil-write-all
"fs" 'evil-write
"fy" 'show-and-copy-buffer-filename)
(unless (configuration-layer/package-declaredp 'ido-vertical-mode)
(evil-leader/set-key "ff" 'ido-find-file))
;; insert stuff ---------------------------------------------------------------
(evil-leader/set-key
"ij" (lambda (count)

View file

@ -1418,21 +1418,21 @@ Put (global-hungry-delete-mode) in dotspacemacs/config to enable by default."
(progn
(ido-vertical-mode t)
(defun spacemacs/ido-find-file ()
"Start `ido-find-file'"
(interactive)
(setq spacemacs--ido-navigation-ms-enabled nil)
(ido-find-file))
(evil-leader/set-key "ff" 'spacemacs/ido-find-file)
(defun spacemacs//ido-vertical-minibuffer-setup ()
(defun spacemacs//ido-minibuffer-setup ()
"Setup the minibuffer."
;; Since ido is implemented in a while loop where each
;; iteration setup a whole new minibuffer, we have to keep
;; track of any activated ido navigation micro-state and force
;; the reactivation at each iteration.
(when spacemacs--ido-navigation-ms-enabled
(spacemacs/ido-navigation-micro-state)))
(add-hook 'ido-minibuffer-setup-hook 'spacemacs//ido-vertical-minibuffer-setup)
(add-hook 'ido-minibuffer-setup-hook 'spacemacs//ido-minibuffer-setup)
(defun spacemacs//ido-vertical-define-keys ()
(defun spacemacs//ido-setup ()
(when face-remapping-alist
(setq face-remapping-alist nil))
;; be sure to wipe any previous micro-state flag
(setq spacemacs--ido-navigation-ms-enabled nil)
;; overwrite the key bindings for ido vertical mode only
(define-key ido-completion-map (kbd "C-d") 'ido-delete-file-at-head)
(define-key ido-completion-map (kbd "C-k") 'ido-prev-match)
@ -1463,7 +1463,7 @@ Put (global-hungry-delete-mode) in dotspacemacs/config to enable by default."
(define-key ido-completion-map (kbd "C-SPC") 'spacemacs/ido-navigation-micro-state)
(define-key ido-completion-map (kbd "C-@") 'spacemacs/ido-navigation-micro-state)
)
(add-hook 'ido-setup-hook 'spacemacs//ido-vertical-define-keys)
(add-hook 'ido-setup-hook 'spacemacs//ido-setup)
(defvar spacemacs--ido-navigation-ms-enabled nil
"Flag which is non nil when ido navigation micro-state is enabled.")