Folded file flattener

Download from http://www.nyangau.org/flatten/flatten.zip.

What it does

FLATTEN processes folded files and produces flattened output.

Folded files are edited by Andys Source Code Folding Editor and contain "fold-creases' in special reserved comments. As a result they can look strange when edited in other editors, and when printed.

Usage

usage: flatten [-f] [-F] [-v] [-V] [-l] [-a|-A] [-r] [-i inifn] [-d lang] {fn}
flags: -f        display contents of open folds
       -F        display contents of all folds (implies -f)
       -v        display contents of open virtual folds
       -V        display contents of all virtual folds (implies -v)
       -l        disable output of fold lines
       -a -A     highlight output in colour, or don't (ANSI)
       -r        show reserved comment start rules first
       -i inifn  specify initialisation file to scan for language info
       -d lang   override default language (used if can't guess the language
                 from the name, or if reading stdin, default is "top")
       fn        filename(s), no extension assumed (- for stdin)

Example

Consider this contrived example :-

$ cat myfunctest.c 
/* Sample */

/*...sincludes:0:*/
#include <stdio.h>
#include "myfunc.h"
/*...vmyfunc\46\h:0:*/
/*...e*/

int main(void)
        {
        if ( myfunc_init() )
/*...sdo the test:16:*/
{
printf("Test result is %d\n", myfunc_test(1,2,3));
myfunc_term();
}
/*...e*/
        return 0;
        }

We can use flatten to flatten it :-

$ flatten -F myfunctest.c 
/* Sample */

{{{ includes
#include <stdio.h>
#include "myfunc.h"
::: myfunc.h
}}}

int main(void)
  {
  if ( myfunc_init() )
          {{{ do the test
          {
          printf("Test result is %d\n", myfunc_test(1,2,3));
          myfunc_term();
          }
          }}}
  return 0;
  }

-F tells FLATTEN to enter all folds.


This documentation is written and maintained by the FLATTEN author, Andy Key
andy.z.key@googlemail.com