logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PPIx::EditorTools::RenameVariable - Lexically replace a variable name in Perl code

Authors

       •   Steffen Mueller "smueller@cpan.org"

       •   Mark Grimes "mgrimes@cpan.org"

       •   Ahmad M. Zawawi <ahmad.zawawi@gmail.com>

       •   Gabor Szabo  <gabor@szabgab.com>

       •   Yanick Champoux <yanick@cpan.org>

Description

       This module will lexically replace a variable name.

Methods

new()
           Constructor. Generally shouldn't be called with any arguments.

       rename( ppi => PPI::Document $ppi, line => Int, column => Int, replacement => Str )
       rename( code => Str $code, line => Int, column => Int, replacement => Str )
       rename( code => Str $code, line => Int, column => Int, to_camel_case => Bool, [ucfirst => Bool] )
       rename( code => Str $code, line => Int, column => Int, from_camel_case => Bool, [ucfirst => Bool] )
           Accepts  either a "PPI::Document" to process or a string containing the code (which will be converted
           into a "PPI::Document") to process.  Renames the variable found at line, column with that supplied in
           the "replacement" parameter  and  returns  a  "PPIx::EditorTools::ReturnObject"  with  the  new  code
           available  via  the  "ppi"  or  "code" accessors, as a "PPI::Document" or "string", respectively. The
           "PPI::Token" found at line, column is available via the "element" accessor.

           Instead  of  specifying  an  explicit  replacement  variable  name,  you  may  choose  to   use   the
           "to_camel_case"  or  "from_camel_case"  options that automatically convert to/from camelCase. In that
           mode, the "ucfirst" option will force uppercasing of the first letter.

           You can not specify a replacement name and use the "to/from_camel_case" options.

           Croaks with a "no token" exception if no  token  is  found  at  the  location.   Croaks  with  a  "no
           declaration" exception if unable to find the declaration.

Name

       PPIx::EditorTools::RenameVariable - Lexically replace a variable name in Perl code

See Also

       This class inherits from "PPIx::EditorTools".  Also see App::EditorTools, Padre, and PPI.

Synopsis

           my $munged = PPIx::EditorTools::RenameVariable->new->rename(
               code        => $code,
               line        => 15,
               column      => 13,
               replacement => 'stuff',
           );
           my $code_as_strig = $munged->code;
           my $code_as_ppi   = $munged->ppi;
           my $location      = $munged->element->location;

Version

       version 0.21

See Also