Variable: interpreter-mode-alist
interpreter-mode-alist is a variable defined in files.el.gz.
Value
(("jank" . jank-mode) ("joker" . joker-mode)
("planck" . clojurescript-mode) ("nbb" . clojurescript-mode)
("clj" . clojure-mode) ("clojure" . clojure-mode)
("bb" . clojure-mode) ("j?ruby\\(?:[0-9.]+\\)" . ruby-mode)
("jruby" . ruby-mode) ("rbx" . ruby-mode) ("ruby" . ruby-mode)
("python[0-9.]*" . python-mode)
("php\\(?:-?[34578]\\(?:\\.[0-9]+\\)*\\)?" . php-ts-mode-maybe)
("lua" . lua-mode) ("rhino" . js-mode) ("gjs" . js-mode)
("nodejs" . js-mode) ("node" . js-mode) ("gawk" . awk-mode)
("nawk" . awk-mode) ("mawk" . awk-mode) ("awk" . awk-mode)
("pike" . pike-mode) ("\\(mini\\)?perl5?" . perl-mode)
("wishx?" . tcl-mode) ("tcl\\(sh\\)?" . tcl-mode)
("expect" . tcl-mode) ("octave" . octave-mode) ("scm" . scheme-mode)
("[acjkwz]sh" . sh-mode) ("r?bash2?" . sh-mode) ("dash" . sh-mode)
("mksh" . sh-mode) ("\\(dt\\|pd\\|w\\)ksh" . sh-mode)
("es" . sh-mode) ("i?tcsh" . sh-mode) ("oash" . sh-mode)
("rc" . sh-mode) ("rpm" . sh-mode) ("sh5?" . sh-mode)
("tail" . text-mode) ("more" . text-mode) ("less" . text-mode)
("pg" . text-mode) ("make" . makefile-gmake-mode)
("guile" . scheme-mode) ("clisp" . lisp-mode)
("emacs" . emacs-lisp-mode))
Documentation
Alist mapping interpreter names to major modes.
This is used for files whose first lines match auto-mode-interpreter-regexp.
Each element looks like (REGEXP . MODE).
If REGEXP matches the entire name (minus any directory part) of
the interpreter specified in the first line of a script, enable
major mode MODE.
See also auto-mode-alist.
Probably introduced at or before Emacs version 19.23.
Source Code
;; Defined in /usr/src/emacs/lisp/files.el.gz
(defvar interpreter-mode-alist
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
;; and pike-mode) are added through autoload directives in that
;; file.
'(("\\(mini\\)?perl5?" . perl-mode)
("wishx?" . tcl-mode)
("tcl\\(sh\\)?" . tcl-mode)
("expect" . tcl-mode)
("octave" . octave-mode)
("scm" . scheme-mode)
("[acjkwz]sh" . sh-mode)
("r?bash2?" . sh-mode)
("dash" . sh-mode)
("mksh" . sh-mode)
("\\(dt\\|pd\\|w\\)ksh" . sh-mode)
("es" . sh-mode)
("i?tcsh" . sh-mode)
("oash" . sh-mode)
("rc" . sh-mode)
("rpm" . sh-mode)
("sh5?" . sh-mode)
("tail" . text-mode)
("more" . text-mode)
("less" . text-mode)
("pg" . text-mode)
("make" . makefile-gmake-mode) ; Debian uses this
("guile" . scheme-mode)
("clisp" . lisp-mode)
("emacs" . emacs-lisp-mode))
"Alist mapping interpreter names to major modes.
This is used for files whose first lines match `auto-mode-interpreter-regexp'.
Each element looks like (REGEXP . MODE).
If REGEXP matches the entire name (minus any directory part) of
the interpreter specified in the first line of a script, enable
major mode MODE.
See also `auto-mode-alist'.")