[TxMt] Improving SymbolPopup for LaTeX?

Allan Odgaard throw-away-1 at macromates.com
Sun Dec 4 07:18:43 UTC 2005


On 3/12/2005, at 15:11, Charilaos Skiadas wrote:

> Well, the only thing I found irritating is the lack of a shortcut  
> for the Languages editor and for the Preferences editor, or did I  
> miss them?

There was one in the past, and I do miss it myself. It's a pain for  
me to do shortcuts “correctly” when there's no menu item for the  
action. I'll likely put back the status bar stuff in the menus (so  
they're both places) to get the key.

Though ctrl-opt-cmd B will re-open the bundle editor where you last  
where (it'll switch the filtering, but that shouldn't matter).

> [...] Is that what is being used in the Python code?

The Python code preserves leading whitespace _and_ turns 'def' into  
an em-space (to have methods indented more than classes).

> \x{nnnn} support would be great, as well as explanation of one or  
> two of the choices for nnnn. For instance, I still have no idea  
> what em-space is, guessing some unicode character.

nnnn would just be the character code. An em-space is a space with  
the width of an M. A normal space is generally to small to be used  
for indenting items in a list, where a tab gives too much indent. The  
em-space is generally nice. There's also en-space (for the width of  
N) and figure-space, which has the width of a digit (digits generally  
have the same width in proportional fonts) which can be used to right- 
align numbers. If you open a diff file you can see I spent way too  
much time aligning up line ranges in the symbol list using the digit  
space :)

There are half a dozen other space types, all in unicode. Non- 
breaking space would be known by most, which IIRC is actually used in  
some languages (French?) to keep multiple words as one unit.

> But really, why doesn't plain old space work, both here and in  
> ctags? It seems to be completely ignored if it's at the beginning.

At least for TextMate, it just never sees these because the scope  
selector does not include them. The Python grammar was specifically  
modified to also make the declaration.function.* pick up leading  
spaces (for use in the list).

> Btw, can you make it so that it looks at the number of "sub" in  
> front of section, and puts an equal amount of em-spaces? That would  
> be divine.

Sure…




More information about the textmate mailing list