auto-insert-alist

auto-insert-alist is a variable defined in `autoinsert.el'.
Its value is shown below.

Documentation:
A list specifying text to insert by default into a new file.
Elements look like (CONDITION . ACTION) or ((CONDITION . DESCRIPTION) . ACTION).
CONDITION may be a regexp that must match the new file's name, or it may be
a symbol that must match the major mode for this element to apply.
Only the first matching element is effective.
Optional DESCRIPTION is a string for filling `auto-insert-prompt'.
ACTION may be a skeleton to insert (see `skeleton-insert'), an absolute
file-name or one relative to `auto-insert-directory' or a function to call.
ACTION may also be a vector containing several successive single actions as
described above, e.g. ["header.insert" date-and-author-update].

You can customize this variable.

This variable was introduced, or its default value was changed, in version 25.1 of Emacs.

Value:

((("\\.\\([Hh]\\|hh\\|hpp\\|hxx\\|h\\+\\+\\)\\'" . "C / C++ header") (replace-regexp-in-string "[^A-Z0-9]" "_" (replace-regexp-in-string "\\+" "P" (upcase (file-name-nondirectory buffer-file-name)))) "#ifndef " str n "#define " str "\n\n" _ "\n\n#endif") (("\\.\\([Cc]\\|cc\\|cpp\\|cxx\\|c\\+\\+\\)\\'" . "C / C++ program") nil "#include \"" (let ((stem (file-name-sans-extension buffer-file-name)) ret) (dolist (ext '("H" "h" "hh" "hpp" "hxx" "h++") ret) (when (file-exists-p (concat stem "." ext)) (setq ret (file-name-nondirectory (concat stem "." ext)))))) & 34 | -10) (("[Mm]akefile\\'" . "Makefile") . "makefile.inc") (html-mode lambda nil (sgml-tag "html")) (plain-tex-mode . "tex-insert.tex") (bibtex-mode . "tex-insert.tex") (latex-mode "options, RET: " "\\documentclass[" str & 93 | -1 123 (read-string "class: ") "}\n" ("package, %s: " "\\usepackage[" (read-string "options, RET: ") & 93 | -1 123 str "}\n") _ "\n\\begin{document}\n" _ "\n\\end{document}") (("/bin/.*[^/]\\'" . "Shell-Script mode magic number") lambda nil (if (eq major-mode (default-value 'major-mode)) (sh-mode))) (ada-mode . ada-header) (("\\.[1-9]\\'" . "Man page skeleton") "Short description: " ".\\\" Copyright (C), " (format-time-string "%Y") " " (getenv "ORGANIZATION") | (progn user-full-name) "\n.\\\" You may distribute this file under the terms of the GNU Free\n.\\\" Documentation License.\n.TH " (file-name-base) " " (file-name-extension (buffer-file-name)) " " (format-time-string "%Y-%m-%d ") "\n.SH NAME\n" (file-name-base) " \\- " str "\n.SH SYNOPSIS\n.B " (file-name-base) "\n" _ "\n.SH DESCRIPTION\n.SH OPTIONS\n.SH FILES\n.SH \"SEE ALSO\"\n.SH BUGS\n.SH AUTHOR\n" (user-full-name) '(if (search-backward "&" (line-beginning-position) t) (replace-match (capitalize (user-login-name)) t t)) '(end-of-line 1) " <" (progn user-mail-address) ">\n") (("\\.el\\'" . "Emacs Lisp header") "Short description: " ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str (make-string (max 2 (- 80 (current-column) 27)) 32) "-*- lexical-binding: t; -*-" '(setq lexical-binding t) "\n\n;; Copyright (C) " (format-time-string "%Y") " " (getenv "ORGANIZATION") | (progn user-full-name) "\n\n;; Author: " (user-full-name) '(if (search-backward "&" (line-beginning-position) t) (replace-match (capitalize (user-login-name)) t t)) '(end-of-line 1) " <" (progn user-mail-address) ">\n;; Keywords: " '(require 'finder) '(setq v1 (mapcar (lambda (x) (list (symbol-name (car x)))) finder-known-keywords) v2 (mapconcat (lambda (x) (format "%12s: %s" (car x) (cdr x))) finder-known-keywords "\n")) ((let ((minibuffer-help-form v2)) (completing-read "Keyword, C-h: " v1 nil t)) str ", ") & -2 "\n\n;; This program is free software; you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; This program is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with this program. If not, see .\n\n;;; Commentary:\n\n;; " _ "\n\n;;; Code:\n\n\n\n(provide '" (file-name-base) ")\n;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n") (("\\.texi\\(nfo\\)?\\'" . "Texinfo file skeleton") "Title: " "\\input texinfo @c -*-texinfo-*-\n@c %**start of header\n@setfilename " (file-name-base) ".info\n" "@settitle " str "\n@c %**end of header\n@copying\n" (setq short-description (read-string "Short description: ")) ".\n\n" "Copyright @copyright{} " (format-time-string "%Y") " " (getenv "ORGANIZATION") | (progn user-full-name) "\n\n@quotation\nPermission is granted to copy, distribute and/or modify this document\nunder the terms of the GNU Free Documentation License, Version 1.3\nor any later version published by the Free Software Foundation;\nwith no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.\nA copy of the license is included in the section entitled ``GNU\nFree Documentation License''.\n\nA copy of the license is also available from the Free Software\nFoundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.\n\n@end quotation\n\nThe document was typeset with\n@uref{http://www.texinfo.org/, GNU Texinfo}.\n\n@end copying\n\n@titlepage\n@title " str "\n@subtitle " short-description "\n@author " (getenv "ORGANIZATION") | (progn user-full-name) " <" (progn user-mail-address) ">\n@page\n@vskip 0pt plus 1filll\n@insertcopying\n@end titlepage\n\n@c Output the table of the contents at the beginning.\n@contents\n\n@ifnottex\n@node Top\n@top " str "\n\n@insertcopying\n@end ifnottex\n\n@c Generate the nodes for this menu with `C-c C-u C-m'.\n@menu\n@end menu\n\n@c Update all node entries with `C-c C-u C-n'.\n@c Insert new nodes with `C-c C-c n'.\n@node Chapter One\n@chapter Chapter One\n\n" _ "\n\n@node Copying This Manual\n@appendix Copying This Manual\n\n@menu\n* GNU Free Documentation License:: License for copying this manual.\n@end menu\n\n@c Get fdl.texi from http://www.gnu.org/licenses/fdl.html\n@include fdl.texi\n\n@node Index\n@unnumbered Index\n\n@printindex cp\n\n@bye\n\n@c " (file-name-nondirectory (buffer-file-name)) " ends here\n"))