Pre-analyze directories of MATLAB code to create searchable text files for very fast scanning for strings across multiple files.
The MathWorks 'Find Files' interface allows interactive searching for text in MATLAB files. |findInM| (in conjunction with its companion |collectCode|) allows you to search programmatically (i.e., from within a script or function, or at the Command Line), and can be much faster than any other method I've seen.
On first use, or when a New collection is requested, the user will be prompted to select a top-level directory and to indicate whether or not to recurse, and a new code collection will be created and stored. This will allow for very fast subsequent searches.
Brett Shoelson (2020). FAST, PROGRAMMATIC string searching in directories of MATLAB code files (https://www.mathworks.com/matlabcentral/fileexchange/48065-fast-programmatic-string-searching-in-directories-of-matlab-code-files), MATLAB Central File Exchange. Retrieved .
New version (1/5/15) fixes a few minor issues, and removes the 'userpath' function that Jan (rightfully) questioned.
@Jan: Absolutely great question-indeed one that I asked too! Currently, because the userpath function lives in the local toolbox (which can be modified by users), it is treated carefully and distinctly by the matlab.codetools.requiredFilesAndProducts function. If one uses userpath, it is recognized as a dependency by requiredFilesAndProducts. In the Apps packager, there is not currently a way for me to remove auto-detected dependencies. I'm hoping we can figure out a better way to deal with that...but I'm stuck packaging it with my submission at the moment. Very perceptive question! Brett
"userpath" is built-in Matlab function. Why is it included in this submission?
(Once again, removed userpath).
Added special handling for 2-input case:
I made some general improvements, and allowed for sorting by date or size. Better auto-naming of code collections. Also added a screen shot.
Better naming convention