Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tomtom/templator_vim

Multi-file project templates using skeleton/snippets engines
https://github.com/tomtom/templator_vim

vim vim-plugin vim-script

Last synced: 11 days ago
JSON representation

Multi-file project templates using skeleton/snippets engines

Awesome Lists containing this project

README

        

In many programming languages/environments, you usually work with a set of files
that belong together. E.g. if you create a c file, you usually also want to
create a h header file. If you create a viewer file, you usually also want to
create corresponding model and controller files. If you want to create a
library file, you usually also want to create some test file etc. This is were
templator comes in.

The templator plugin allows the creation of filesets based on multi-file
templates. Possible use cases:

- Create multi-file projects
- Create multiple-files within a project, e.g.
- a source file and the corresponding header file
- a source file and the corresponding test file
- files for a model, a view, and a controller

Templates can be written in any code template/skeleton/snippets style. At the
time of writing, templates can be written in:

- template vim (see |templator-tvim|) ("tvim" extension)
- tskeleton (vimscript #1160) ("tskel" extension)

It shouldn't be too difficult to add support for additional template
engines.

The |:Templator| command can be used to create multi-file projects.

Example 1: Create files for the "vimplugin" template-set in the current root
directory, which usually is the current working directory unless
|b:templator_root_dir| is set (see |templator-arguments| for details): >

:Templator vimplugin myplugin

"myplugin" is the plugin's name. The argument is required by the
template set used in this example. It is also possible to use named
arguments.

Example 2: Create files for the "vimplugin" template-set in some directory (the
directory is created if it doesn't already exist): >

:Templator ~/src/foo/bar/vimplugin myplugin

Templates are kept in "templator" subdirectories in your 'runtimepath' (e.g.
~/.vim/templator). A subdirectory's name consists of
"TEMPLATE_NAME.TEMPLATE_TYPE". TEMPLATE_NAME is the name that is used for the
|:Templator| command. TEMPLATE_TYPE is the name of the template engine used to
expand file templates.

Templates consist of a bunch of files and an optional vim script (see
|templator-scripts|) that is run after creating the files.

-----------------------------------------------------------------------

Status: Experimental
Install: See http://github.com/tomtom/vimtlib/blob/master/INSTALL.TXT
See http://github.com/tomtom for related plugins.