refactor_fcn_name

Change the name of a function called in your m-files and optionally move it too.

You are now following this Submission

refactor the name of a function, changing all references to the function name in the path and moving the function file to the new named file

Syntax

refactor_fcn_name(fcnname, newfcnname)
refactor_fcn_name(fcnname, newfcnname, topdir)
refactor_fcn_name(fcnname, newfcnname, topdir, domove)

Description

refactor_fcn_name(fcnname, newfcnname) finds all uses of the function name in fcnname and replaces it with the string in newfcnname in the entire matlab path. The function must be function in an m-file on the Matlab path. By default the mfile containing the fuction is also then renamed to the new name.

refactor_fcn_name(fcnname, newfcnname, topdir) performs the same action but searching the folder provided in 'topdir' and all it's subdirectories rather than the entire Matlab path.

refactor_fcn_name(fcnname, newfcnname, topdir, domove) performs the same action but the 'domove' flag determines whether the function file is actually moved or not. If this evaluates to true the file is moved to the mfile with the new name, if false nothing is moved.

This function requires my other file exchange contributions 'regexprepfile' and 'samesize':

https://www.mathworks.co.uk/matlabcentral/fileexchange/43396-regexprepfile

https://www.mathworks.co.uk/matlabcentral/fileexchange/36636-samesize

Details:

The refactoring is done by performing a regexprep in the files using the simple regex:

\<fcnname\>

Cite As

Richard Crozier (2026). refactor_fcn_name (https://in.mathworks.com/matlabcentral/fileexchange/43441-refactor_fcn_name), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: samesize, regexprepfile

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0.0

Added missing path2cell subfunction

1.0.0.0