[TxMt] Re: [OT] BBEdit, virtues thereof

Chris Thomas chris at cjack.com
Mon Mar 21 07:23:47 UTC 2005


On Mar 20, 2005, at 12:36 AM, Allan Odgaard wrote:

> On Mar 20, 2005, at 5:06, Chris Thomas wrote:
>
>> MPW-style worksheets are basically Terminal in a text window [...]  
>> This would be a great thing to have in TextMate.
>
> Agree -- initially I dropped this item because I thought I'd have  
> to do terminal emulation, which I still wait for some knight in  
> shining armor to write for me. But I guess in majority of cases,  
> this isn't necessary!?!

On reflection, there are different issues bundled up in the concept  
of 'worksheets'.

(*) MPW-style worksheet capability is sort of separate from the  
question of terminal emulation. The salient features of MPW as far as  
I can remember are these:

- Per-window autosave-on-close (window always saves itself on close).  
MPW had one 'Worksheet' window that was always open, but you could  
create essentially any number of them by setting the autosave-on- 
close per-window variable.

- Bind the execute-command-in-shell key to Enter (no modifiers) and  
Command-Return.

- Redirection to a specific window. If I specify a pathname while  
piping ("echo something | tm /path/to/file"), open a window for that  
file and direct the output of the pipe to it. Probably want both  
append and replace command-line options. If the file is already open  
in TM, just bring the window to front. [In MPW, because the shell  
language was intimately bound into the application, you'd actually  
just redirect to the path of an open file using standard shell append  
and replace redirection, and the output would appear in the file's  
window, no intermediate tool required.]

(*) Full terminal emulation, sufficient to -- say -- run emacs,  
doesn't make sense to me; Terminal and iTerm are fine. Others may  
disagree (vehemently :). The question is what value TM can add to the  
experience. Really basic interactivity -- sufficient to run language  
interpreters -- is probably more interesting. irb with syntax  
highlight and other features of TM's editor. I _think_ what you'd do  
is allocate a psuedotty and do line-buffered input, i.e. do not send  
each character, instead send a full line to the input pipe when the  
user presses return. This does not handle all possible command-line  
interactivity, but it ought to work for all the cases that are  
interesting for a text editor/IDE, and also for some standard tools  
like gdb and ssh. [I wonder what happens in the cases where it  
doesn't work, though.]

My thoughts,
Chris




More information about the textmate mailing list