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
refactor_fcn_name(fcnname, newfcnname, topdir)
refactor_fcn_name(fcnname, newfcnname, topdir, domove)
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':
The refactoring is done by performing a regexprep in the files using the simple regex:
Richard Crozier (2023). refactor_fcn_name (https://www.mathworks.com/matlabcentral/fileexchange/43441-refactor_fcn_name), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!