Groesbeek, view of the 'National Liberation Museum 1944-1945' in Groesbeek. © Ton Kersten
Fork me on GitHub

The Header Script

2009-04-02 (7) by Ton Kersten, tagged as old

In my daily working routine I do create a lot of shell scripts, LaTeX source and whatever. I always try to keep things simple and consistent. This not always being easy, so I wrote a Perl program that generates a standard template for a lot of standard code. This could be e.g. Bash shell, Perl, RPM spec file, LaTeX source, C source, etc.

The only thing this program needs is Perl and a file in your home directory called .name.info. This file should contain a tag and the value on a single line. An example:

name Ton Kersten
firm Ton Kersten
adr1 Address line 1
adr2 Address line 2
adr3 Address line 3
zipc Your zip or postal code
cntr The Netherlands
tele Tel: Telephone number
tfax Fax: Faximile number
mail Email adress
cpri Copyright string

Header output

The output of the header --help command

header 4.9 by Ton Kersten
Syntax: header [options]

Options:
    --nameinfo=filename Use an alternative name.info file <~/.name.info>
    --language=language Programming language <bash>
    --file=filename     Output filename
    --copyright=cpy     Copyright message (<short>|yes|gnu|none)
    --short         Use a short header
    --stdout        Print the output to stdout
    --headlang=nl|en    Which header language to use <en>
    --tabstop=n|--ts=n  What tabstop size to use <4>
    --width=n       What headerwidth to use <80>
    --vcs=cvs|svn|none  What version control system to use <svn>
    --help          Print this help

Options can be abbriviated, as long as they can be uniquely identified

Supported program languages:
    atroff bash c config html init js ksh latex nagios pascal
    perl php rexx spec tic vim

The header script

...can be downloaded here