Variable: electric-indent-mode

electric-indent-mode is a customizable variable defined in electric.el.gz.

Value

t

Documentation

Non-nil if Electric-Indent mode is enabled.

See the electric-indent-mode(var)/electric-indent-mode(fun) command for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node (emacs)Easy Customization) or call the function electric-indent-mode(var)/electric-indent-mode(fun).

View in manual

Probably introduced at or before Emacs version 24.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/electric.el.gz
;;;###autoload
(define-minor-mode electric-indent-mode
  "Toggle on-the-fly reindentation of text lines (Electric Indent mode).

When enabled, this reindents whenever the hook `electric-indent-functions'
returns non-nil, or if you insert one of the \"electric characters\".
The electric characters normally include the newline, but can
also include other characters as needed by the major mode; see
`electric-indent-chars' for the actual list.

By \"reindent\" we mean remove any existing indentation, and then
indent the line according to context and rules of the major mode.

This is a global minor mode.  To toggle the mode in a single buffer,
use `electric-indent-local-mode'."
  :global t :group 'electricity
  :initialize #'custom-initialize-after-file-load
  :init-value t
  (if (not electric-indent-mode)
      (unless (catch 'found
                (dolist (buf (buffer-list))
                  (with-current-buffer buf
                    (if electric-indent-mode (throw 'found t)))))
        (remove-hook 'post-self-insert-hook
                     #'electric-indent-post-self-insert-function))

    (add-hook 'post-self-insert-hook
              #'electric-indent-post-self-insert-function
              60))

  ;; Toggle the reindentation on actions
  (electric-indent--activate-indent-actions electric-indent-mode))