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"))