Variable: editorconfig-indentation-alist

editorconfig-indentation-alist is a customizable variable defined in editorconfig.el.gz.

Value

Large value
((awk-mode c-basic-offset) (bash-ts-mode sh-basic-offset)
 (bpftrace-mode c-basic-offset) (c++-mode c-basic-offset)
 (c++-ts-mode c-basic-offset c-ts-mode-indent-offset)
 (c-ts-mode c-basic-offset c-ts-mode-indent-offset)
 (cmake-mode cmake-tab-width)
 (cmake-ts-mode cmake-tab-width cmake-ts-mode-indent-offset)
 (coffee-mode coffee-tab-width) (csharp-mode c-basic-offset)
 (csharp-ts-mode c-basic-offset csharp-ts-mode-indent-offset)
 (css-ts-mode css-indent-offset) (d-mode c-basic-offset)
 (elixir-ts-mode elixir-ts-indent-offset)
 (emacs-lisp-mode . editorconfig--get-indentation-lisp-mode)
 (f90-mode f90-associate-indent f90-continuation-indent
	   f90-critical-indent f90-do-indent f90-if-indent
	   f90-program-indent f90-type-indent)
 (feature-mode feature-indent-offset feature-indent-level)
 (fsharp-mode fsharp-continuation-offset fsharp-indent-level
	      fsharp-indent-offset)
 (go-ts-mode go-ts-mode-indent-offset)
 (haskell-mode haskell-indent-spaces haskell-indent-offset
	       haskell-indentation-layout-offset
	       haskell-indentation-left-offset
	       haskell-indentation-starter-offset
	       haskell-indentation-where-post-offset
	       haskell-indentation-where-pre-offset shm-indent-spaces)
 (haxor-mode haxor-tab-width)
 (html-ts-mode html-ts-mode-indent-offset) (idl-mode c-basic-offset)
 (jade-mode jade-tab-width) (java-mode c-basic-offset)
 (java-ts-mode c-basic-offset java-ts-mode-indent-offset)
 (js-ts-mode js-indent-level)
 (js-jsx-mode js-indent-level sgml-basic-offset)
 (js2-jsx-mode js2-basic-offset sgml-basic-offset)
 (json-mode js-indent-level) (json-ts-mode json-ts-mode-indent-offset)
 (jsonian-mode jsonian-default-indentation)
 (kotlin-mode kotlin-tab-width)
 (kotlin-ts-mode kotlin-ts-mode-indent-offset)
 (latex-mode . editorconfig--get-indentation-latex-mode)
 (lisp-mode . editorconfig--get-indentation-lisp-mode)
 (livescript-mode livescript-tab-width)
 (magik-ts-mode magik-indent-level) (meson-mode meson-indent-basic)
 (mips-mode mips-tab-width)
 (nxml-mode . editorconfig--get-indentation-nxml-mode)
 (objc-mode c-basic-offset) (octave-mode octave-block-offset)
 (php-mode c-basic-offset) (php-ts-mode php-ts-mode-indent-offset)
 (pike-mode c-basic-offset) (protobuf-mode c-basic-offset)
 (ps-mode ps-mode-tab) (pug-mode pug-tab-width)
 (python-mode . editorconfig--get-indentation-python-mode)
 (python-ts-mode . editorconfig--get-indentation-python-mode)
 (rjsx-mode js-indent-level sgml-basic-offset)
 (ruby-ts-mode ruby-indent-level)
 (rust-ts-mode rust-indent-offset rust-ts-mode-indent-offset)
 (scala-mode scala-indent:step) (scss-mode css-indent-offset)
 (swift-mode swift-mode:basic-offset)
 (tcl-mode tcl-indent-level tcl-continued-indent-level)
 (toml-ts-mode toml-ts-mode-indent-offset)
 (typescript-ts-base-mode typescript-ts-mode-indent-offset)
 (verilog-mode verilog-indent-level verilog-indent-level-behavioral
	       verilog-indent-level-declaration
	       verilog-indent-level-module verilog-cexp-indent
	       verilog-case-indent)
 (web-mode . editorconfig--get-indentation-web-mode)
 (yaml-ts-mode yaml-indent-offset))

Documentation

Alist of indentation setting methods by modes.

This is a fallback used for those modes which don't set editorconfig-indent-size-vars.

Each element should look like (MODE . SETTING) where SETTING should obey the same rules as editorconfig-indent-size-vars, i.e. be either a list of variable names or a function returning a list of settings in the form (VARIABLE . VALUE).

This variable was added, or its default value changed, in Emacs 30.1.

View in manual

Aliases

edconf-indentation-alist (obsolete since 0.5)

Source Code

;; Defined in /usr/src/emacs/lisp/editorconfig.el.gz
(defcustom editorconfig-indentation-alist
  ;; For contributors: Sort modes in alphabetical order
  '((awk-mode c-basic-offset)
    (bash-ts-mode sh-basic-offset)
    (bpftrace-mode c-basic-offset)
    (c++-mode c-basic-offset)
    (c++-ts-mode c-basic-offset
                 c-ts-mode-indent-offset)
    (c-ts-mode c-basic-offset
               c-ts-mode-indent-offset)
    (cmake-mode cmake-tab-width)
    (cmake-ts-mode cmake-tab-width
                   cmake-ts-mode-indent-offset)
    (coffee-mode coffee-tab-width)
    (csharp-mode c-basic-offset)
    (csharp-ts-mode c-basic-offset
                    csharp-ts-mode-indent-offset)
    (css-ts-mode css-indent-offset)
    (d-mode c-basic-offset)
    (elixir-ts-mode elixir-ts-indent-offset)
    (emacs-lisp-mode . editorconfig--get-indentation-lisp-mode)
    (f90-mode f90-associate-indent
              f90-continuation-indent
              f90-critical-indent
              f90-do-indent
              f90-if-indent
              f90-program-indent
              f90-type-indent)
    (feature-mode feature-indent-offset
                  feature-indent-level)
    (fsharp-mode fsharp-continuation-offset
                 fsharp-indent-level
                 fsharp-indent-offset)
    (go-ts-mode go-ts-mode-indent-offset)
    (haskell-mode haskell-indent-spaces
                  haskell-indent-offset
                  haskell-indentation-layout-offset
                  haskell-indentation-left-offset
                  haskell-indentation-starter-offset
                  haskell-indentation-where-post-offset
                  haskell-indentation-where-pre-offset
                  shm-indent-spaces)
    (haxor-mode haxor-tab-width)
    (html-ts-mode html-ts-mode-indent-offset)
    (idl-mode c-basic-offset)
    (jade-mode jade-tab-width)
    (java-mode c-basic-offset)
    (java-ts-mode c-basic-offset
                  java-ts-mode-indent-offset)
    (js-ts-mode js-indent-level)
    (js-jsx-mode js-indent-level sgml-basic-offset)
    (js2-jsx-mode js2-basic-offset sgml-basic-offset)
    (json-mode js-indent-level)
    (json-ts-mode json-ts-mode-indent-offset)
    (jsonian-mode jsonian-default-indentation)
    (kotlin-mode kotlin-tab-width)
    (kotlin-ts-mode kotlin-ts-mode-indent-offset)
    (latex-mode . editorconfig--get-indentation-latex-mode)
    (lisp-mode . editorconfig--get-indentation-lisp-mode)
    (livescript-mode livescript-tab-width)
    (magik-ts-mode magik-indent-level)
    (meson-mode meson-indent-basic)
    (mips-mode mips-tab-width)
    (nxml-mode . editorconfig--get-indentation-nxml-mode)
    (objc-mode c-basic-offset)
    (octave-mode octave-block-offset)
    ;; No need to change `php-mode-coding-style' value for php-mode
    ;; since we run editorconfig later than it resets `c-basic-offset'.
    ;; See https://github.com/editorconfig/editorconfig-emacs/issues/116
    ;; for details.
    (php-mode c-basic-offset)
    (php-ts-mode php-ts-mode-indent-offset)
    (pike-mode c-basic-offset)
    (protobuf-mode c-basic-offset)
    (ps-mode ps-mode-tab)
    (pug-mode pug-tab-width)
    (python-mode . editorconfig--get-indentation-python-mode)
    (python-ts-mode . editorconfig--get-indentation-python-mode)
    (rjsx-mode js-indent-level sgml-basic-offset)
    (ruby-ts-mode ruby-indent-level)
    (rust-ts-mode rust-indent-offset
                  rust-ts-mode-indent-offset)
    (scala-mode scala-indent:step)
    (scss-mode css-indent-offset)
    (swift-mode swift-mode:basic-offset)
    (tcl-mode tcl-indent-level
              tcl-continued-indent-level)
    (toml-ts-mode toml-ts-mode-indent-offset)
    (typescript-ts-base-mode typescript-ts-mode-indent-offset)
    (verilog-mode verilog-indent-level
                  verilog-indent-level-behavioral
                  verilog-indent-level-declaration
                  verilog-indent-level-module
                  verilog-cexp-indent
                  verilog-case-indent)
    (web-mode . editorconfig--get-indentation-web-mode)
    (yaml-ts-mode yaml-indent-offset)
    )
  "Alist of indentation setting methods by modes.

This is a fallback used for those modes which don't set
`editorconfig-indent-size-vars'.

Each element should look like (MODE . SETTING) where SETTING
should obey the same rules as `editorconfig-indent-size-vars',
i.e. be either a list of variable names or a function returning
a list of settings in the form (VARIABLE . VALUE)."
  :type '(alist :key-type symbol
                :value-type (choice function
                                    (repeat
                                     (choice symbol
                                             (cons symbol integer)))))
  :version "30.1"
  :risky t)