refactor_fcn_name
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 (2024). refactor_fcn_name (https://www.mathworks.com/matlabcentral/fileexchange/43441-refactor_fcn_name), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: samesize, regexprepfile
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.