Function: viper-set-mode-vars-for

viper-set-mode-vars-for is a byte-compiled function defined in viper-cmd.el.gz.

Signature

(viper-set-mode-vars-for STATE)

Documentation

Set Viper minor mode variables to put Viper's state STATE in effect.

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-set-mode-vars-for (state)
  "Set Viper minor mode variables to put Viper's state STATE in effect."

  ;; Emacs state
  (setq viper-vi-minibuffer-minor-mode	     nil
        viper-insert-minibuffer-minor-mode   nil
	viper-vi-intercept-minor-mode	     nil
	viper-insert-intercept-minor-mode    nil

	viper-vi-local-user-minor-mode       nil
	viper-vi-kbd-minor-mode              nil
	viper-vi-global-user-minor-mode      nil
	viper-vi-state-modifier-minor-mode   nil
	viper-vi-diehard-minor-mode          nil
        viper-vi-basic-minor-mode            nil

	viper-replace-minor-mode               nil

	viper-insert-local-user-minor-mode     nil
	viper-insert-kbd-minor-mode            nil
	viper-insert-global-user-minor-mode    nil
	viper-insert-state-modifier-minor-mode nil
	viper-insert-diehard-minor-mode        nil
	viper-insert-basic-minor-mode          nil
	viper-emacs-intercept-minor-mode       t
	viper-emacs-local-user-minor-mode      t
	viper-emacs-kbd-minor-mode             (not (viper-is-in-minibuffer))
	viper-emacs-global-user-minor-mode     t
	viper-emacs-state-modifier-minor-mode  t
	)

  ;; Vi state
  (if (eq state 'vi-state) ; adjust for vi-state
      (setq
       viper-vi-intercept-minor-mode	   t
       viper-vi-minibuffer-minor-mode	   (viper-is-in-minibuffer)
       viper-vi-local-user-minor-mode	   t
       viper-vi-kbd-minor-mode             (not (viper-is-in-minibuffer))
       viper-vi-global-user-minor-mode	   t
       viper-vi-state-modifier-minor-mode    t
       ;; don't let the diehard keymap block command completion
       ;; and other things in the minibuffer
       viper-vi-diehard-minor-mode         (not
					    (or viper-want-emacs-keys-in-vi
						(viper-is-in-minibuffer)))
       viper-vi-basic-minor-mode              t
       viper-emacs-intercept-minor-mode       nil
       viper-emacs-local-user-minor-mode      nil
       viper-emacs-kbd-minor-mode             nil
       viper-emacs-global-user-minor-mode     nil
       viper-emacs-state-modifier-minor-mode  nil
       ))

  ;; Insert and Replace states
  (if (member state '(insert-state replace-state))
      (setq
       viper-insert-intercept-minor-mode      t
       viper-replace-minor-mode	              (eq state 'replace-state)
       viper-insert-minibuffer-minor-mode     (viper-is-in-minibuffer)
       viper-insert-local-user-minor-mode     t
       viper-insert-kbd-minor-mode            (not (viper-is-in-minibuffer))
       viper-insert-global-user-minor-mode     t
       viper-insert-state-modifier-minor-mode  t
       ;; don't let the diehard keymap block command completion
       ;; and other things in the minibuffer
       viper-insert-diehard-minor-mode        (not
					       (or
                                                viper-want-emacs-keys-in-insert
                                                (viper-is-in-minibuffer)))
       viper-insert-basic-minor-mode          t
       viper-emacs-intercept-minor-mode       nil
       viper-emacs-local-user-minor-mode      nil
       viper-emacs-kbd-minor-mode             nil
       viper-emacs-global-user-minor-mode     nil
       viper-emacs-state-modifier-minor-mode  nil
       ))

  ;; minibuffer faces
  (if (viper-has-face-support-p)
      (setq viper-minibuffer-current-face
	    (cond ((eq state 'emacs-state) viper-minibuffer-emacs-face)
		  ((eq state 'vi-state) viper-minibuffer-vi-face)
		  ((memq state '(insert-state replace-state))
		   viper-minibuffer-insert-face))))

  (if (viper-is-in-minibuffer)
      (viper-set-minibuffer-overlay))
  )