##############################################################################
# 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 Policies 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 Policies 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

#-----------------------------------------------------------------------------
# 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

#-----------------------------------------------------------------------------
# only: Directs Perl::ToPerl6 to only choose from Policies 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

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

severity = 3

#-----------------------------------------------------------------------------
# theme:  Sets the default theme.  Only Policies 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 severity.  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-severity-highest: sets the color used for displaying highest
# severity 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-severity-highest = bold red underline

#-----------------------------------------------------------------------------
# color-severity-high: sets the color used for displaying high severity
# 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-severity-high = bold magenta

#-----------------------------------------------------------------------------
# color-severity-medium: sets the color used for displaying medium
# severity 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-severity-medium = blue

#-----------------------------------------------------------------------------
# color-severity-low: sets the color used for displaying low severity
# 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-severity-low =

#-----------------------------------------------------------------------------
# color-severity-lowest: sets the color used for displaying lowest
# severity 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-severity-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 Policies.  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::FormatArrayQws]
[-BasicTypes::Strings::FormatHereDocs]

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

[Builtins::FormatPrint]
severity = 2

[CompoundStatements::FormatConditionals]
severity = 1

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

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

[Operators::AddWhitespace]
add_themes = client_foo
severity   = 3

[Packages::FormatPackageDeclarations]
add_themes = client_foo client_bar
severity   = 3

#-----------------------------------------------------------------------------
# Some Policies 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
severity = 4

[Pragmas::FormatPragmas]
lib_sections = NAME | SYNOPSIS | METHODS | AUTHOR
add_themes = my_favorites
severity   = 4

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

[Packages::FormatPackageDeclarations]
[Packages::FormatPackageUsages]
[Regexes::SwapModifiers]
[Subroutines::RemovePrototypes]


