Two great features in the last release. I really appreciate reveal in project and the symbol popup is great.
Thanks Allan.
M
-- Matt Mower :: http://matt.blogs.it/
It's a great thing, problem is though, it's somewhat slow (I suppose there's nothing to do about that) but when I constantly press an arrow key, it never updates. This isn't all that critical though since I will see all symbols scrolling by anyways in such a case.
I'd like to see encoding down there in the status bar as well, I don't really know why actually, but all other editors have it :)
Andreas
On Nov 10, 2005, at 11:28 , Matt Mower wrote:
Two great features in the last release. I really appreciate reveal in project and the symbol popup is great.
Thanks Allan.
M
-- Matt Mower :: http://matt.blogs.it/
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
On 10/11/2005, at 12.12, Andreas Wahlin wrote:
It's a great thing, problem is though, it's somewhat slow (I suppose there's nothing to do about that) but when I constantly press an arrow key, it never updates.
It updates 1.5 seconds after last “change”. But it'll be instant for non-mutating changes (when I add a cache for the extracted list of symbols).
I'd like to see encoding down there in the status bar as well, I don't really know why actually, but all other editors have it :)
See Erics recent reference to Hyatts “all other modern browsers” :)
There are two reasons why I don't want to put it there, despite it being oft requested:
1) people should use utf-8, especially with TM's tight shell integration, this is important because the commands that need to work on files (like svn diff, TODO, PyMate/RubyMate (showing script output) etc.) can't possibly know about encodings, and utf-8 is the only encoding which can be recognized with near certainty, and is the only encoding which is ASCII compatible and can represent all typeable characters.
2) changing the encoding in TM is done _when saving_ -- that is, TextMate uses unicode internally, but offers the capability to *convert* this when saving the buffer, thus that choice should be made in the save dialog (i.e. if I were to offer it in the status bar, the proper thing to do would then also be to disallow typing of characters not supported by the current encoding, but I really do not feel like this, when utf-8 is the silver bullet, has been recommended by IETF etc. for 7+ years, the iso-8859 people/committee I think have stated that they no longer work on that set of encodings because of utf-8 etc.).
The faster we phase out all legacy encodings, the better -- and I'm playing an active role trying to promote utf-8 (despite this not always being popular)!
There are two reasons why I don't want to put it there, despite it being oft requested:
I agree with both reasons very much, in fact, the reason I wanted it down there was to detect non UTF-8 files, just in case anyone pops up :) Perhaps we could get a warning dialog or something in those cases?
Andreas
On 10 nov. 05, at 11:28, Matt Mower wrote:
...and the symbol popup is great.
Well, it's a good start yes, but it's pretty much close to useless, for me at least :p
A simple Ruby example:
class Foo def initialize end end
class Bar def initialize end end
The symbol popup for this file will show:
When it should at least show something like: Foo::initialize Bar::initialize
Or better: Foo initialize Bar initialize
Or even better, like SubEthaEdit with cute little icons :)
Looking forward to see what the next updates will bring us... Can I also have SubEthaEdit's superior block editing ? Please ? ;)
On 10/11/05, Luc Heinrich luc@honk-honk.com wrote:
On 10 nov. 05, at 11:28, Matt Mower wrote: class Foo def initialize end end
class Bar def initialize end end
Ah, I haven't seen this because I haven't yet opened a file with two classes defined inside. The SubEthaEdit styling is certainly very nice and if Allan can do it I'd be very glad to see that (or something even better) included.
M
-- Matt Mower :: http://matt.blogs.it/
On 10/11/2005, at 16.53, Matt Mower wrote:
Ah, I haven't seen this because I haven't yet opened a file with two classes defined inside. The SubEthaEdit styling is certainly very nice and if Allan can do it I'd be very glad to see that (or something even better) included.
I do plan to add 3 extra scope settings to set indent (e.g. for classes), regexp transform (for pretty printing, and should allow better capturing of obj-c methods), and a pointer to an image -- but the way SEE does it is closer to how the TmCodeBrowser works, where my system uses the language grammar system, which has the advantage of supporting mixed documents, but the disadvantage of being restrained to what the langauge grammars can do, and how things can be extracted from that (i.e. scope selectors).
I won't rule out that it'll be possible to augment the system with some external command in the future -- but for now I just want to do the minimal implementation to get it out of the way and move on to 1.2…
On Nov 10, 2005, at 9:03 AM, Luc Heinrich wrote:
On 10 nov. 05, at 11:28, Matt Mower wrote:
...and the symbol popup is great.
Well, it's a good start yes, but it's pretty much close to useless, for me at least :p
A simple Ruby example:
class Foo def initialize end end
class Bar def initialize end end
The symbol popup for this file will show: <TxM_symbol_popup.png>
When it should at least show something like: Foo::initialize Bar::initialize
Or better: Foo initialize Bar initialize
Or even better, like SubEthaEdit with cute little icons :) <SEE_symbol_popup.png>
Looking forward to see what the next updates will bring us... Can I also have SubEthaEdit's superior block editing ? Please ? ;)
You can get pretty close to the same thing already. You won't have the nice icons, but you will have class and or def to set apart the class declarations from the method definitions. Note, this example is for Python not Ruby so you will have to translate the scope names to their ruby equivalents...
First go open up your language in the Bundle editor and create a new preferences. The contents of this new preference should be { showInSymbolList = '1'; }
Now the critical part is to set the scope: In python I set the scope to: source.python declaration.function, declaration.class
Now close the bundle editor.
With those definitions Here's what my symbols menu looks like for a file with multiple classes....
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
Hi Brad,
This is really cool...
On 11/11/05, Brad Miller bonelake@mac.com wrote:
First go open up your language in the Bundle editor and create a new preferences. The contents of this new preference should be { showInSymbolList = '1'; }
Now the critical part is to set the scope: In python I set the scope to: source.python declaration.function, declaration.class
Now close the bundle editor.
I did this in my Python Bundle changing "source.python" to "source.ruby". It sort of works in that I now see def <function_name>( <params> ) instead of just the function name. I don't get class <ClassName>.
Any ideas?
Matt
-- Matt Mower :: http://matt.blogs.it/
On 11/11/2005, at 11.35, Matt Mower wrote:
I did this in my Python Bundle changing "source.python" to "source.ruby". It sort of works in that I now see def <function_name>( <params> ) instead of just the function name. I don't get class <ClassName>.
Any ideas?
declaration.class should also work for Ruby (the entire line, just the class name has scope entity.name.class.ruby, you can see the scope with ctrl-shift P, and the scope selector is a bit like a CSS selector, see [1] for more info) -- but in the current ruby syntax, there's a problem correctly marking up classes/modules when they have no leading indent (because of the first rule in the grammar, which eats the keyword), I've re-arranged the rule on the repository (so will work in next build).
[1] http://macromates.com/blog/archives/2005/07/06/introduction-to- scopes/