[TxMt] Improving SymbolPopup for LaTeX?
Allan Odgaard
throw-away-1 at macromates.com
Sat Dec 3 11:02:20 UTC 2005
On 3/12/2005, at 1:00, Charilaos Skiadas wrote:
> 1) First of all, you need to create a new preferences item. WHY?
> I'd really like to know that.
You don't. I made the current one: text.latex meta.section.latex and
it works. But you have to make one edit to the document, before the
symbol list is rebuilt, so maybe that's what threw you off.
> 2) Second, any changes you make only take effect after you closed
> the bundle editor. Again, WHY? That's not the case for commands and
> snippets and stuff.
I hope it will change real-time in the future, but a preference
change affects a lot, so a lot of caches needs to be flushed, things
needs to be re-parsed, a.s.o. -- so currently this only happens when
you close the window.
Commands, snippets, etc. are special in that when you execute one of
these, it “commits” the current changes in the bundle editor. But
things like preferences, language grammars etc. are in use all the
time, so you (currently) need to manually commit (by closing the
window, or for the latter, using the Test button).
> 3) This is the code I used now [...] two questions on that:
> a) Why don't the spaces that $1 catches being shown? They are in
> the python thing.
Because meta.section match “\(sub)*section…” and not “(^\s*)?\(sub)
*section…”. I.e. the leading spaces are not included in the scope.
> b) the \subsubsection rule gives me: \subsubsection{stuff} instead
> of just "stuff".
You rule had a (closing) ' before the last subst. This works for me:
symbolTransformation = '
s/^(\s*)\\section\{(.+)\}/$1 $2/;
s/^(\s*)\\subsection\{(.+)\}/$1\t $2/;
s/^(\s*)\\subsubsection\{(.+)\}/$1 \t \t $2/;
';
Of course the “^(\s*)” part has no meaning unless the language
grammar gets changed.
> Other than that, it works well. The tabs inserted by \t get
> interpreted, even though spaces seem not to.
As for using \t, I use the em-space in the few transformation I've
made (e.g. Markdown headings), this looks a little better. Though
you'll have to copy/paste it, and with a fixed width font (bundle
editor), it looks just like a regular space -- I'll add support for \x
{nnnn} for these things.
More information about the textmate
mailing list