On May 15, 2006, at 7:27 PM, Allan Odgaard wrote:
On 16/5/2006, at 1:21, Timothy Reaves wrote:
Ya, but that wouldn't be correct either. The heuristic that it should be using is the top level file system folder (as added to the project drawer) for either the file being edited, or the selected folder in the drawer.
No, the project folder is unrelated to the current file or the currently selected file/folder in the drawer. There are other variables to give you that -- the project folder is supposed to be the common ancestor of all files in your project.
I understand this; but what if all the files in your project do not have a common ancestor?
As TextMate provides no meaningful way of doing things like code insight / completion, I have a group that contains my project folder, and a group that contains the source for libraries I use. This arrangement in theory allows me to perhaps do text processing with regular expressions to find class definitions in the libraries. But to do this, the libraries must be part of the project. But they are not part of my code base, and do not belong there. Hence the two groups.
I can not seem to find how to specify project specific environment variables as you referred to in your previous post. And it seems to me that what I suggest is not that unreasonable. Why not have the project folder - or even add a variable called parent_group_folder or some such - that is the top most folder in the group for the file that is current in the editor? As TextMate can only shell to other programs, and play with regular expressions, I'd think this a valuable piece of information to have at hand. I could even pass a list of these - on for each group in the project - to an external application for more developer type activities.