On 14/11/2005, at 11.19, Graeme Mathieson wrote:
I suspect you're going to say 'no, it's a limitation of the way the parsing is done', but would it be possible to collapse white space in the display of symbols?
Or I could say RTFM :)
[NEW] It's possible to provide one or more regexp transformations to be applied to the symbols extracted via the showInSymbolList bundle preference item. This is done as a scope specific preference (symbolTransformation) and the format of the value is: “s/«regexp»/«format»/«options»” optionally followed by “;” and more regexp transformations. The format string is as in other places (see Help -> Regular Expressions) so there is support for conditional insertions, case folding and similar. For a simple example, see e.g. the Python or Ruby bundle (Symbol List preferences), for a slightly more advanced example, see the Objective-C bundle.
So that'd be:
symbolTransformation = 's/\s+/ /g';
With scope set to the thing for which you want the white space collapsed. You could also do:
symbolTransformation = 's/\s+/ /g; s/^(.{30}).+$/$1…/';
Then it collapses white space and chops of anything after the 30th character and add ellipsis :)
Be aware that if this is Python methods, a symbol transformation is already setup for the scope (so edit that, or better, include what it does in yours, and give yours a more exact scope to make it win).
However, I'll add white space collapsing as the default, since it makes sense.
Actually, on a related note, it would be really nice if the auto- indentation would behave in the way I want it to for indented function arguments. That is, if I hit enter inside an open bracket, the next line should be indented to one beyond the open bracket on the previous line. And when the corresponding closed bracket happens, the indentation should revert to what it was before [...] Is it possible to do this?
Well, it could be done, but requires some work.
You'll have to do a command that does figure out the indent -- see e.g. the Markdown bundle which has a command which inserts as many ='s as the line above, you'd use a similar technique -- then you'd have to put this on return but limit the scope to something like declaration.parameter.
So it's not a simple preference you can tweak.