Suggest working source trees automatically
Working source trees allow to show and to use relative paths to source and object files. Unfortunately, they cannot be determined automatically in the general case but it seems that we can consider minimal common parts of paths to input/output files to compilation commands as a first approximation of them. Most likely, it will be enough for most projects.
Updated by Evgeny Novikov about 2 months ago
I made some improvements and fixes in the same branch. Now files from "/tmp" are ignored as they most likely do not correspond to original source and object files of programs. Also, if one of resulting working source trees is a common prefix for other ones, just it is considered as a working source tree. This is necessary to avoid most ambiguities.