##############################################################################
# This file is an example of a Perl::ToPerl6 configuration file.  This
# file is usually called ".perlmogrifyrc" and is usually located in
# your home directory or the working directory of your project.
# However, you can use the -profile option to tell Perl::ToPerl6 use a
# different file in another location.
#
# The area before any of the [Perl::ToPerl6::Transformer] sections is used
# to set default values for the arguments to the Perl::ToPerl6 engine.
# If you are using the "perlmogrify" program, you can override these
# settings at the command-line.  Or if you are using the Perl::ToPerl6
# library, your API arguments will override these settings as well.


#-----------------------------------------------------------------------------
# exclude:  Directs Perl::ToPerl6 to never apply Transformers with names that
# match one of the patterns.  To specify multiple patterns, separate them
# with whitespace.  Do not put quotes around anything.

exclude = Array Variables

#-----------------------------------------------------------------------------
# include: Directs Perl::ToPerl6 to always apply Transformers with names that
# match one of the patterns.  To specify multiple patterns, separate them
# with whitespace.  Do not put quotes around anything.

include   = CodeLayout Modules

#-----------------------------------------------------------------------------
# detail: Directs Perl::ToPerl6 to report more or less detail on the
# transformation being made in the source code. The default is 0. If defined,
# this should be a necessity level from 1 to 5.

detail = 2

#-----------------------------------------------------------------------------
# force: Directs Perl::ToPerl6 to ignore the special "##no mogrify"
# comments embedded in the source code.  The default is 0.  If
# defined, this should be either 1 or 0.

force = 1

#-----------------------------------------------------------------------------
# in-place: Directs Perl::ToPerl6 to alter files in-place. Otherwise
# it adds a .pl6 extension to the existing file, which is the recommended
# setting. The default is 0.  If defined, this should be either 1 or 0.

in-place = 0

#-----------------------------------------------------------------------------
# only: Directs Perl::ToPerl6 to only choose from Transformers that are
# explicitly mentioned in this file.  Otherwise, Perl::ToPerl6 chooses
# from all the Perl::ToPerl6::Transformer classes that are found on the
# local machine.  The default is 0.  If defined, this should be either
# 1 or 0.

only = 1

#-----------------------------------------------------------------------------
# necessity: Sets the default minimum necessity level for Transformers.  The
# default is 5.  If defined, this should be an integer from 1 to 5,
# where 5 is the highest necessity.

necessity = 3

#-----------------------------------------------------------------------------
# theme:  Sets the default theme.  Only Transformers that fit into this
# them shall be applied.  If defined, this should be a valid theme
# expression.  See the Perl::ToPerl6 POD for more details about this.

theme = danger + risky - pbp

#-----------------------------------------------------------------------------
# top:  Directs Perl::ToPerl6 to only report the top N Transformer transformations,
# as ranked by their individual necessity.  If defined, this should be
# a positive integer.

top = 50

#-----------------------------------------------------------------------------
# verbose: Sets the format for printing Transformer transformations.  If
# defined, this should be either a format spcecification, or a numeric
# verbosity level.  See the Perl::ToPerl6 POD for more details.

verbose = 5

#-----------------------------------------------------------------------------
# color-necessity-highest: sets the color used for displaying highest
# necessity transformations when coloring is in effect. This should be a color
# specification acceptable to Term::ANSIColor. See the Perl::ToPerl6 POD
# for details. Do not put quotes around the values. The default is 'bold
# red'.

color-necessity-highest = bold red underline

#-----------------------------------------------------------------------------
# color-necessity-high: sets the color used for displaying high necessity
# transformations when coloring is in effect. This should be a color
# specification acceptable to Term::ANSIColor. See the Perl::ToPerl6 POD
# for details. Do not put quotes around the values. The default is
# 'magenta'.

color-necessity-high = bold magenta

#-----------------------------------------------------------------------------
# color-necessity-medium: sets the color used for displaying medium
# necessity transformations when coloring is in effect. This should be a color
# specification acceptable to Term::ANSIColor. See the Perl::ToPerl6 POD
# for details. Do not put quotes around the values. The default is ''.

color-necessity-medium = blue

#-----------------------------------------------------------------------------
# color-necessity-low: sets the color used for displaying low necessity
# transformations when coloring is in effect. This should be a color
# specification acceptable to Term::ANSIColor. See the Perl::ToPerl6 POD
# for details. Do not put quotes around the values. The default is ''.

color-necessity-low =

#-----------------------------------------------------------------------------
# color-necessity-lowest: sets the color used for displaying lowest
# necessity transformations when coloring is in effect. This should be a color
# specification acceptable to Term::ANSIColor. See the Perl::ToPerl6 POD
# for details. Do not put quotes around the values. The default is ''.

color-necessity-lowest =

#-----------------------------------------------------------------------------
# program-extensions: specifies the file name endings for files that should
# be interpreted as programs rather than modules. This should be a space-
# delimited list of the name endings, with leading '.' if that is desired.
# These are case-sensitive. See the Perl::ToPerl6 POD for details, but in
# general any file beginning with a shebang line, any file whose name ends
# '.PL', and any file whose name ends in one of the values specified here
# will be considered a program; any other file will be considered a module.
# Do not put quotes around the values. The default is ''.

program-extensions =

##############################################################################
# The rest of the file consists of several named blocks that contain
# configuration parameters for each of the Transformers.  The names of
# each blocks correspond to the names of the Transformer modules.  For
# brevity, the "Perl::ToPerl6::Transformer" portion of the name can be
# omitted.  See the POD for the appropriate Transformer for a complete
# description of the configuration parameters that it supports.


#-----------------------------------------------------------------------------
# If you vehmently disagree with a particular Transformer, putting a "-" in
# front of the Transformer name will effectively disables that Transformer.  It
# will never be applied unless you use the "-include" option to apply
# it explicitly.

[-Arrays::AddWhitespace]
[-BasicTypes::Strings::RewriteHereDocs]

#-----------------------------------------------------------------------------
# If you agree with a Transformer, but feel that it's necessity level is not
# appropriate, then you can change the necessity for any Transformer.  If
# defined this should be an integer from 1 to 5, where 5 is the
# highest necessity.

[Builtins::RewritePrint]
necessity = 2

[CompoundStatements::RenameForeach]
necessity = 1

[BasicTypes::Strings::Interpolation]
necessity = 5

#-----------------------------------------------------------------------------
# Transformers are also organized into themes.  Themes are just names for
# arbitrary groups of Transformers.  You can define new themes and add
# them to any Transformer.  If defined, this should be a string of
# whitespace-delimited words.

[Operators::FormatOperators]
add_themes = client_foo
necessity   = 3

[Packages::RewriteDeclarations]
add_themes = client_foo client_bar
necessity   = 3

#-----------------------------------------------------------------------------
# Some Transformers also have specialized configuration parameters.  In
# all cases, these are repsented as simple name=value pairs.  See the
# POD for the appropriate Transformer for a complete discussion of its
# configuration parameters.

[PostfixExpressions::AddWhitespace]
allow    = for if
necessity = 4

[Pragmas::RewritePragmas]
lib_sections = NAME | SYNOPSIS | METHODS | AUTHOR
add_themes = my_favorites
necessity   = 4

#-----------------------------------------------------------------------------
# If you set the "only" flag, then Perl::ToPerl6 only chooses from
# Transformers that are mentioned in your configuration file.  This is
# helpful when you want to use only a very small subset of the
# Transformers.  So just create blocks for any other Transformers that you
# want to use.

[Packages::RewriteDeclarations]
[Packages::RewriteUsages]
[Regexes::SwapModifiers]
[Subroutines::RemovePrototypes]


