Skip to content

tomtom/templator_vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.