On 16. Oct 2004, at 14:56, Mats Persson wrote:
Using the above outputs the following:
echo $TM_FILEPATH echo $TM_PROJECT_DIRECTORY echo $TM_FILEPATH | sed "s|^$TM_PROJECT_DIRECTORY/(.*)$|\1|" /Volumes/WorkDisk/Users/mats/Sites/projectName/index.php /Volumes/WorkDisk/Users/mats/TextMateProjects /Volumes/WorkDisk/Users/mats/Sites/projectName/index.php
Okay, so basically the TM_PROJECT_DIRECTORY is useless in this context, since the “logical” project directory is not where the actual tmproj file is kept.
Yes, however with the help of your suggestion and a bit of own brain activity - a rare but appreciated event - I created a work around for my system that works by using a custom shell variable that contains the path to the Sites directory.
echo $TM_SITES_DIRECTORY /Volumes/WorkDisk/Users/mats/Sites
Ah, yes -- I think that's really the only "general" solution, seeing how there is no way we can extract the “logical” project directory from the existing variables.
IMPORTANT: Possible BUG ??
In the template I use ${TM_FILEPATH} and when I create a new template TM_FILEPATH takes the value of the currently selected Tab in the Tab bar.
You should use TM_NEW_FILE instead :)
I really have to learn all the hidden shell stuff that's available in OS X now, as it can do much of great interest.
It's _really_ a time saver! ;)
Do you have any recommendations about good resources for learning that stuff, books or online ? How did you grasp it all ?
uh... I think I learned it by years and years of reading man files ;)
I'd recommend starting by getting familiar with the GNU textutils, unfortunately not all are available on OS X, and the OS X versions are not always as flexible, but it's a good overview of what you'd probably need 90% of the time: http://www.gnu.org/software/textutils/textutils.html (you can actually get the GNU versions for OS X btw, though I personally haven't).
Additionally there is sed and awk, which are also _very_ helpful for manipulating text.
And for actual shell programming, I guess the bash man file has some info, but maybe someone else can give a better reference? since man files can be rather intimidating at first, especially when they have the length and layout of the bash man file ;)
Also remember that often you can pipe text through a perl or ruby script giving on the command line, which is what I do to expand the variables in the default HTML templates (though let me add, I expect to soon make the "output option" for templates be "insert as snippet", so we can have placeholders, embedded shell commands a.s.o.).
Other than that, it's probably like learning any other programming language, a bit at a time, reading through all the "public" sources which are available (at least when they do something "impressive") and ask questions whenever you have some!
Personally I don't mind unix questions sent to this list, since TextMate is so tied to shell stuff.
Kind regards Allan