diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
new file mode 100755
index 8e45b18..2de7a53
*** a/src/tools/pgindent/pgindent
--- b/src/tools/pgindent/pgindent
*************** my $indent_opts =
*** 22,31 ****
  # indent-dependant settings
  my $extra_opts = "";
  
! my ($typedefs_file, $code_base, $excludes, $indent, $build);
  
  my %options = (
  	"typedefs=s"  => \$typedefs_file,
  	"code-base=s" => \$code_base,
  	"excludes=s"  => \$excludes,
  	"indent=s"    => \$indent,
--- 22,32 ----
  # indent-dependant settings
  my $extra_opts = "";
  
! my ($typedefs_file, $typedef_str, $code_base, $excludes, $indent, $build);
  
  my %options = (
  	"typedefs=s"  => \$typedefs_file,
+ 	"list-of-typedefs=s"  => \$typedef_str,
  	"code-base=s" => \$code_base,
  	"excludes=s"  => \$excludes,
  	"indent=s"    => \$indent,
*************** sub load_typedefs
*** 125,130 ****
--- 126,138 ----
  	  || die "cannot open typedefs file \"$typedefs_file\": $!\n";
  	my @typedefs = <$typedefs_fh>;
  	close($typedefs_fh);
+ 	if (defined($typedef_str))
+ 	{
+ 		foreach my $typedef (split(m/[, \t\n]+/, $typedef_str))
+ 		{
+ 			push(@typedefs, $typedef . "\n");
+ 		}
+ 	}
  
  	# remove certain entries
  	@typedefs =
