I am in the process of testing the addition of some file related functions, and am uncertain where I should add them. Is FileManager supposed to handle only file loading/saving, or can I use it as a candidate location to work on?
Depends on what you've in mind. If you address a single file only yes. If you mean to address functions for files belonging to a project or with relevance to a project, "projectfile" might be a better candidate.
I am attempting to see if I can speed up search/replace in files by pre-indexing files. The files involved in indexing would (most likely) consist of project files, loose/recently opened files, and files in recently searched directories. Within the index, it would not keep track of where the files came from.
Can you think about making this api reusable in the ThreadSearch plugin?
Plugin friendly API is already in my plans :) .