I'm pretty good at programming (made a few apps and done a few internships), but really don't have much experience dealing with the nit & gritty workings of text editors/file systems. Here's some context as to what I'm trying to do:
I want to build a tool where a user can upload or mount any text file, open/edit it in any text editor, and also have another user do the same. Changes between the user would be handled and propagated to each user via this tool.
My initial thoughts were that doing something like this might be impossible because text editors may place a "lock" of some sort on a file, or that they store the file in memory first and then they save it to the disk. I also thought it may be possible to stream the file to the editor and then manipulate that stream...? I'm guessing it also might depend on each text editor and how it works as well.
So I'm wondering if anyone can give me some advice or insight into how text editors go about editing files? Do they load the file into memory like I thought? Is it even feasible to modify that memory once it's loaded, or is that protected?