I am hoping I¹m just missing something obvious... Is there some kind of list of functions/methods? I.e. Similar to BBEdit or SEE¹s popup function list?
I have used TM very little so far, but one thing that attracted me was the much more ³native² or ³OSX² feel of it, as compared to say BBEdit. We use SubEthaEdit for specific things (collaborative editing only), but BBEdit has reigned so far. Yet, I don¹t really like BBEdit. It just feels old (even the new 8.0), and it still seems WAY behind at least the editors I use on Windows and Linux (these are primarily Visual SlickEdit (for just about anything), IDEA for Java work, and Visual Studio .Net for Windows C++ work). While I realize TM is not an IDE, I thought it was targeted at programmers, so this kind of thing seems like one of the more standard features to expect.
Aside from that, I¹m starting to get some time to play with it, and the shell integration aspects seem super cool.
One other thing I¹d really like to see is the equivalent of the ³bbedit w² command line syntax, so that I can use TM as my Perforce editor.
Anyway, so if I¹m just totally missing it, or there is an alternative way, let me know, otherwise, consider it a feature request :)
On Nov 29, 2004, at 19:34, Chris Bailey wrote:
[...] I thought it was targeted at programmers, so this kind of thing seems like one of the more standard features to expect.
I thought it was one of those features that the implementor thought where nice to have but no-one actually used. But I think I've gotten around 20-30 requests for such a popup ;)
I'll add it in v1.1 where the syntax definition files will be extended to extract amongst other such info from the document.
One other thing I’d really like to see is the equivalent of the “bbedit –w” command line syntax, so that I can use TM as my Perforce editor.
What does -w do?
I'm guessing it starts BBEdit and doesn't exit before the document is closed again in BBEdit -- I made an OS X service which does this, I can probably turn that into a command line tool in a few minutes, then I can also add a -l/--line option which I've seen requested.
On 29-nov-2004, at 20:01, Allan Odgaard wrote:
I thought it was one of those features that the implementor thought where nice to have but no-one actually used. But I think I've gotten around 20-30 requests for such a popup ;)
I'll add it in v1.1 where the syntax definition files will be extended to extract amongst other such info from the document.
An interesting alternative to a button which shows all functions / classes would be to treat the file as a virtual directory. When a file with functions is selected the treeview shows all the definitions in the file, if one is clicked it jumps to the right offset in the file.
This way you could oversee your functions and classes in different files within your project at one glance..
A button would suit me just fine for the moment, but to me "adding a button" is not very much the TextMate way doing things ;)
Brgds Paul
Yes, this is actually much more preferable. Basically, I'd like to have what Visual SlickEdit provides, which is I believe what you describe. VSE will show me a tree with the files, then expanding a file shows the members/fields, methods, includes/imports, etc, etc. (all of these particular items are configurable in terms of what you want to see - often I just have functions/methods turned on).
Going the next step, what you really want is to then be able to have more of a full tags implementation, where you can right click on a symbol in a file, and say "go to definition" type of thing. This is more often seen in IDE's, but seems like a very useful thing anytime your source code is more than one or two files :) I guess BBEdit has added ctags support in 8.0, but I haven't tried it. The one thing I hate, is when an editor says "we have this wonderful tags support", but then you read the fine print, and realize that you have to run ctags on your tree separately, instead of the editor just doing this all for you. The problem is that if it's separate, then you have a greater likelyhood of it not being properly sync'ed, etc.
As a side comment, and as people can probably guess, I want Visual SlickEdit for MacOS X. But, wait a minute! You say - it is available. Well, yes it is, but as I found out during the beta testing period, it is just a port of their X Windows version, and thus runs under Apple's X11, and a) doesn't look like a Mac app, b) has some problems interacting with native Mac applications and clipboard, and c) doesn't work well from the terminal (not xterm!) command line. I think it's great they took advantage of this to get it up and going on Mac, but for something I tend to have running anytime my machine is running, and live in all day, I don't want a ported app that isn't "native".
On 11/29/04 11:38 AM, "Paul Jongsma" paulj@webtic.com wrote:
On 29-nov-2004, at 20:01, Allan Odgaard wrote:
I thought it was one of those features that the implementor thought where nice to have but no-one actually used. But I think I've gotten around 20-30 requests for such a popup ;)
I'll add it in v1.1 where the syntax definition files will be extended to extract amongst other such info from the document.
An interesting alternative to a button which shows all functions / classes would be to treat the file as a virtual directory. When a file with functions is selected the treeview shows all the definitions in the file, if one is clicked it jumps to the right offset in the file.
This way you could oversee your functions and classes in different files within your project at one glance..
A button would suit me just fine for the moment, but to me "adding a button" is not very much the TextMate way doing things ;)
Brgds Paul
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/mailman/listinfo/textmate
__ Christopher Bailey Senior Computer Scientist Online Services Engineering Adobe Systems Incorporated mailto: chbailey@adobe.com Rocklin Vox: 916.415.0471
On Nov 29, 2004, at 1:01 PM, Allan Odgaard wrote:
On Nov 29, 2004, at 19:34, Chris Bailey wrote:
[...] I thought it was targeted at programmers, so this kind of thing seems like one of the more standard features to expect.
I thought it was one of those features that the implementor thought where nice to have but no-one actually used. But I think I've gotten around 20-30 requests for such a popup ;)
I'll add it in v1.1 where the syntax definition files will be extended to extract amongst other such info from the document.
just to reiterate how this would be useful (to me anyway) : With a popup menu of all defined classes and functions you could jump to a function in two clicks. On our development team we define functions alphabetically, for easy lookup, but when you are trying to move around a legacy file or some large class, scrolling is a pain no matter what. Emacs on Linux lets you search forward (Ctl-S) or search back (Ctl-R) but this to me isn't the perfect solution either because then you end up typing a lot more than necessary. in fact, doing a key command to popup the function-browser menu then typing through the list to get a funciton alphabetically, one could really move fast.
even though I probably couldn't make a valid argument that this is more than just a "nice to have" feature, it is almost essential to working in poorly organized, large class files (I switch to SubEthaEdit when I am in that situation currently). When officially switching to TextMate the lack of a function-popup made me feel crippled :(
anyway, glad to hear this has made the to-do list. I think TextMate will officially clobber BBEdit with this feature plus the SFTP/ CVS, etc in 1.1 :D
-Kumar
One other thing I’d really like to see is the equivalent of the “bbedit –w” command line syntax, so that I can use TM as my Perforce editor.
What does -w do?
I'm guessing it starts BBEdit and doesn't exit before the document is closed again in BBEdit -- I made an OS X service which does this, I can probably turn that into a command line tool in a few minutes, then I can also add a -l/--line option which I've seen requested.
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/mailman/listinfo/textmate
On 30/11/2004, at 6:38 AM, Paul Jongsma wrote:
An interesting alternative to a button which shows all functions / classes would be to treat the file as a virtual directory. When a file with functions is selected the treeview shows all the definitions in the file, if one is clicked it jumps to the right offset in the file.
-1
Every time I've seen this done (various IDEs), it's been done badly. Work on a file with 15-20 methods, and suddenly you can't navigate your files. It's better (IMHO) to keep the two elements separate, either by using a popup menu in the style of XCode and SubEthaEdit, or simply a floating window.
In my IDE of choice, I find it _very_ efficient to be able to navigate to any method in a file by hitting a single key chord, the first few letters of the method name, and enter. It is therefore important to:
1) Have a keyboard accelerator to access the function list 2) Have type-ahead find within the menu
Oh. And.
Support ctags.
Or something very much like it.
Charles Miller
On Nov 29, 2004, at 11:01 AM, Allan Odgaard wrote:
On Nov 29, 2004, at 19:34, Chris Bailey wrote:
[...] I thought it was targeted at programmers, so this kind of thing seems like one of the more standard features to expect.
I thought it was one of those features that the implementor thought where nice to have but no-one actually used. But I think I've gotten around 20-30 requests for such a popup ;)
I'll add it in v1.1 where the syntax definition files will be extended to extract amongst other such info from the document.
Cool. One implementation request: please consider support for arbitrary bookmarks embedded within text. For example, CodeWarrior and Xcode both support "#pragma mark <Text>" in C/C++/ObjC/ObjC++ files, where <Text> is the name of the boomark; this then appears in the class/function navigation menu. Using a dash ("#pragma mark -") inserts a divider item. One typical idiom for this is:
#if 0 #pragma mark - #pragma mark Zork Entropy Analysis Methods #endif
The conditional eliminates any potential 'unrecognized pragma' warnings.
One other thing I’d really like to see is the equivalent of the “bbedit –w” command line syntax, so that I can use TM as my Perforce editor.
(BTW, I've considered doing a Perforce command bundle, but haven't had the time. I've only got p4 edit "$TM_FILEPATH" with output as a tooltip. Useful, but hardly complete enough to release...)
What does -w do?
I'm guessing it starts BBEdit and doesn't exit before the document is closed again in BBEdit -- I made an OS X service which does this, I can probably turn that into a command line tool in a few minutes, then I can also add a -l/--line option which I've seen requested.
I would use it frequently. (Both BBEdit and SubEthaEdit have such tools, if I'm not mistaken.)
Chris
On Nov 30, 2004, at 0:15, Chris Thomas wrote:
Cool. One implementation request: please consider support for arbitrary bookmarks embedded within text [...]
Noted.
I'm guessing it starts BBEdit and doesn't exit before the document is closed again in BBEdit -- I made an OS X service which does this, I can probably turn that into a command line tool in a few minutes, then I can also add a -l/--line option which I've seen requested.
I would use it frequently. (Both BBEdit and SubEthaEdit have such tools, if I'm not mistaken.)
I just have this in my .bash_profile: tm () { open -a TextMate.app "$*"; }
It allows me to type »tm some_file« to edit that file. There was a script which also allowed to edit stdin, it's on the wiki AFAIK.
But using it as external editor won't work because the command doesn't delay exit till the file gets closed. This is only doable with an actual commnad (or apple script). I'll see if I can't have it added for beta 8.
On Nov 29, 2004, at 6:15 PM, Chris Thomas wrote:
What does -w do?
I'm guessing it starts BBEdit and doesn't exit before the document is closed again in BBEdit -- I made an OS X service which does this, I can probably turn that into a command line tool in a few minutes, then I can also add a -l/--line option which I've seen requested.
I would use it frequently. (Both BBEdit and SubEthaEdit have such tools, if I'm not mistaken.)
I was just thinking about such a beast today, for use with svn.
As a definite unix newbie this was a great tip -- thanks!
Much nicer than opening files in pico... :) In testing it I found a ".bash_history" file which I didn't even know existed!
BTW thanks to the Cyberduck tip posted a few weeks ago, I'm now editing files via SFTP in TextMate; works like a charm.
Hmmm... I ssh into a remote server frequently; if I add the "tm ()..." command to my .bash_profile remotely will TM open it during the ssh session? That would really save time... I'll try.
Paul
On 30 Nov 2004, at 00:39, Allan Odgaard wrote:
I just have this in my .bash_profile: tm () { open -a TextMate.app "$*"; }
It allows me to type »tm some_file« to edit that file. There was a script which also allowed to edit stdin, it's on the wiki AFAIK.
On 30.11.2004, at 09:48, Paul Nordstrom August wrote:
Hmmm... I ssh into a remote server frequently; if I add the "tm ()..." command to my .bash_profile remotely will TM open it during the ssh session? That would really save time... I'll try.
Don't bother, that won't work unfortunately. I'm in the same situation: I work on remote servers via ssh frequently, and would like to use TM as my editor. I came up with the idea for a possible solution (I implemented about 90% of the functionality, but currently have no time to work on it) that would look like this:
A command line wrapper around /usr/bin/ssh that looks for special strings (like odb://me@linux.com:/etc/httpd.conf) in ssh's output and notifies a faceless background app on your mac when it finds one. The app will then download the remote file to a temporary directory using /usr/bin/scp and act as an ODB Editor, which means it will tell your favorite ODB-compliant editor (TM, SEE, BBEdit, ...) to open the downloaded file, and when the file has been modified or closed, it will re-upload the file to the server.
The faceless background application could actually be replaced by TM's SFTP support, once that's available (but would not work with editors that support ODB, but not SFTP or SCP). The wrapper around ssh is just for convenience: It would allow me to issue a command like
me@linux /etc $ tm httpd.conf
on the remote server (where tm is a function or alias that expands "httpd.conf" to "odb://me@linux.com:/etc/httpd.conf"), instead of switching to another terminal window and telling TM to open the remote file, like in
me@mac ~ $ tm -sftp me@linux.com:/etc/httpd.conf
or whatever the syntax for TM's SFTP support will be.
I'm not sure wether I'll finish implementing the general solution using the faceless background app or just wait for TM to support SFTP. One of the problems I'm having is that I can't come up with a decent name for the whole thing, and of course this will always be a hack by it's very nature and never be an elegant solution :-(
Cheers, -Ralph.
PS: Which editors currently do support opening remote files via SCP/SFTP from the command line? Anyone?
On 30 Nov 2004, at 00:39, Allan Odgaard wrote:
I just have this in my .bash_profile: tm () { open -a TextMate.app "$*"; }
It allows me to type »tm some_file« to edit that file. There was a script which also allowed to edit stdin, it's on the wiki AFAIK.