:editor file-templates
Fill the void in your empty files
1. Description
This module pre-fills new, empty files with a file template, powered by yasnippet.
1.1. Maintainers
1.2. Module flags
This module has no flags.
1.3. Packages
1.4. Hacks
No hacks documented for this module.
2. Prerequisites
This module has no external prerequisites.
3. Usage
File templates are automatically expanded when opening empty files.
They are also regular yasnippet snippets, which can be expanded by typing their
trigger and pressing TAB. By convention, the triggers for file templates are
prefixed with two underscores __
.
3.1. Inserting OSS licenses
A special command is available for inserting software licenses: M-x
+file-templates/insert-license
.
Licenses with a
-bp
suffix are boilerplate templates, which are shorter versions of OSS licenses suited for comment headers in code.
4. Configuration
4.1. Registering a new file template
Look into the documentation of set-file-template!
and set-file-templates!
.
4.2. Changing existing file templates
Simply register a new template (using set-file-template!
) that matches the
same file. The new template would be pushed to the top of +file-template-alist
and thus would take priority while searching for a template to insert.
4.3. Adding new OSS licenses
The +file-templates/insert-license
command searches for snippets under
text-mode
that are named __license-ABC
, where ABC is the short name of the
license. e.g. __license-mit
.
So long as these files exist, +file-templates/insert-license
will recognize
them.
5. Troubleshooting
If a file template isn’t expanding where you expect it to, run M-x
+file-templates/debug
. This will report to you what file template rule would
apply for the correct file.
6. TODO Appendix
This module’s appendix is incomplete. Write more?
6.1. API
set-file-template! PRED &rest PLIST
set-file-templates! &rest TEMPLATES
6.2. Commands
+file-templates/insert-license
+file-templates/debug
6.3. Variables
+file-templates-dir
+file-templates-default-trigger
+file-templates-alist