[TxMt] XCode like behaviour and hyperlink problem

Dave Baldwin dave.baldwin at 3dlabs.com
Thu Dec 22 11:35:23 UTC 2005


On 21 Dec 2005, at 17:30, Charilaos Skiadas wrote:

> Dave
> On Dec 21, 2005, at 10:11 AM, Dave Baldwin wrote:
>>
>> 1.  I would like the run script command (command R) to save all  
>> files and run my designated 'main' file - this may not be the one  
>> that is currently open.  This is what Xcode does and while I could  
>> write a macro to do this it would seem a generally useful thing to  
>> have built in.
>>
> You can probably do what we do in the LaTeX bundle. In there, you  
> can define a project specific environment variable, in that case  
> TM_LATEX_MASTER, and have that be used if it is set, via a command  
> like:
> M=${TM_LATEX_MASTER:=$TM_FILEPATH}
> and then using "$M" whenever you need to. Take a look at the  
> "Typeset & View (PDF)" command in the LaTeX bundle.
> As for saving all files in project, you can set that as the "Save:"  
> option in the command editing window. As I understand it, it is not  
> currently set up because this way you  an execute a Ruby  script  
> even if it is not saved, by saving it in a temporary directory, as  
> the current command does. So I would consider this a separate  
> command, preferably associated to cmd-B (for build).
>> 2.  When I run script (command R) in my 'main' ruby file I get an  
>> error window popping up, but when I click on any of the hyper  
>> links a blank file is opened, rather the one identified in the  
>> error line.  The file in error is in the project.
>>
> I believe that we do that also in the LaTeX bundle, same command.  
> Not sure how we accomplish it though. I think there is a script  
> doing that, but I haven't looked into it too closely.
>> I have looked in the Ruby bundle, but what is going on is a  
>> mystery to me.
>>
> What part of the Ruby bundle are you referring to?

I was looking at the tmruby.rb file.

I have spend some time looking at the Run script and the tmruby file  
and basically understand what they are doing.  I don't think it is  
too hard to get the behaviour I want, and having a TM_MAIN_RUBY or  
some such variable as you have for Latex looks like the best way,  
particularly as this can be bound to a project.  Thanks for this tip.

My main frustration is not being able to click through on reported  
errors.   While I understand what the script is doing, I don't  
understand why the error produces different results when run from the  
terminal or within TextMate.

 From the terminal I get:

/Users/dave/Chips/DES/mediaUI/Classes/ui.rb:63:in `initialize':  
undefined method `readConfigW' for #<UI:0x11087cc  
@allowTransition=false, @keysFromFile=false> (NoMethodError)
         from /Users/dave/Chips/DES/mediaUI/Classes/os_gl.rb:32:in  
`initialize'
         from start.rb:34

but from within TextMate the HTML looks like:
<p id="exception"><strong>NoMethodError</strong>: undefined method  
`readConfigW' for #<UI:0x35b84c @allowTransition=false,  
@keysFromFile=false></p>
<blockquote><table border="0" cellspacing="0" cellpadding="0">
<tr><td><a class="near" title="in ./Classes/ui.rb" href="txmt://open? 
url=file://./Classes/ui.rb&line=63">method initialize</a></td><td>in  
<strong>ui.rb</strong> at line 63</td></tr><tr><td><a class="near"  
title="in ./Classes/os_gl.rb" href="txmt://open?url=file://./Classes/ 
os_gl.rb&line=32">method initialize</a></td><td>in <strong>os_gl.rb</ 
strong> at line 32</td></tr><tr><td><a class="near" title="in /Users/ 
dave/Chips/DES/mediaUI/start.rb" href="txmt://open?url=file:///Users/ 
dave/Chips/DES/mediaUI/start.rb&line=34"><em>at top level</em></a></ 
td><td>in <strong>start.rb</strong> at line 34</td></tr></table></ 
blockquote>

The two differences are

1.  In 'top level' line in terminal just includes the file name while  
in the HTML it has the full path name in the url (and I can click  
through here).

2.  The lower level lines in terminal have the fully qualified path  
name, but the HTML is relative to the top level file (and clicking  
through just opens an empty window

Maybe the cause is the fork?

One fix would be to combine the top level path with the lower level  
paths when making the url to make it an absolute path.

Dave.








>> Thanks for any help,
>>
>> Dave.
>
> Haris
>
>
>
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate




More information about the textmate mailing list