[SVN] Re: Sync output from TextMate::Process.run ?

Luke Daley ld at ldaley.com
Sun Nov 15 08:51:14 UTC 2009


This is always trick because of the level of indirection.

Is the output from your command multiline?

On 15/11/2009, at 6:34 PM, Stray <dailystraying at googlemail.com> wrote:

> Unfortunately yes... didn't make a difference. In the script only
> version, granularity =>  makes it add a letter at a time, but in the
> command it's just the same - no output from the git pull reaches the
> html pane until the process is complete.
>
> On 14 Nov 2009, at 23:01, Luke Daley wrote:
>
>> Have you tried passing :granularity => 1 to Process.run()?
>>
>> Check the docs in the file for what it means.
>>
>> On 13/11/2009, at 9:41 PM, Stray wrote:
>>
>>> I'm developing a bundle for RobotLegs AS3 projects, mostly using
>>> Ruby.
>>>
>>> I have a command, 'Create New RobotLegs Project', which sets up
>>> directories and files, pulling the required code libraries from
>>> github.
>>>
>>> When the script clones the git repository, the output is sync if I
>>> run
>>> a .rb script (using the Ruby Bundle's Run command in TextMate), but
>>> when I paste that script direct into the tmCommand, the git output  
>>> is
>>> suppressed until the end of the clone, when it all comes through in
>>> one go. It all works as a command, but I don't get the feedback in
>>> real time.
>>>
>>> Relevant part of the code is:
>>>
>>>    args = ["clone", "-v", "git://github.com/robotlegs/robotlegs- 
>>> framework.git
>>> ", "robotlegs/"]
>>>    TextMate::Process.run("git", args, :interactive_input => false)  
>>> do |
>>> str|
>>>        STDOUT.puts str
>>>    end
>>>
>>> I have STDOUT.sync = true higher up in the script.
>>>
>>> I have also tried
>>>
>>>    STDOUT << str
>>>
>>> and
>>>
>>>    puts str
>>>
>>> They both work, but are also stalled until the end of the clone
>>> process.
>>>
>>> ---
>>>
>>> To be clear - when running the script normally, the 'STDOUT.puts  
>>> str'
>>> line executes in real time, but when running the command all the
>>> output comes through in one block at the end.  The code in the
>>> command
>>> is identical to the code in the .rb script.  I am including the
>>> html_header and using <pre/> around this output.
>>>
>>> I'm aware that I could try TextMate::Executor.run as well, but I'd
>>> much rather keep the actual ruby code in the command itself where
>>> it's
>>> easier for the Bundle's users to tweak it to suit them.
>>>
>>> Does anyone have any ideas? I'm really out of them...
>>>
>>> _______________________________________________
>>> textmate-dev mailing list
>>> textmate-dev at lists.macromates.com
>>> http://lists.macromates.com/listinfo/textmate-dev
>>
>> _______________________________________________
>> textmate-dev mailing list
>> textmate-dev at lists.macromates.com
>> http://lists.macromates.com/listinfo/textmate-dev
>
> _______________________________________________
> textmate-dev mailing list
> textmate-dev at lists.macromates.com
> http://lists.macromates.com/listinfo/textmate-dev



More information about the textmate-dev mailing list