[TxMt] C Library bundle MONSTER

Jacob Rus jrus at hcs.harvard.edu
Wed Dec 6 21:04:08 UTC 2006


Hello,

I'm not sure who this stephen fellow is (he's not listed in the wiki 
[list of aliases][alias]), but he just committed an absolute monster of 
a bundle to the subversion repository, in the form of a "C Library" 
bundle consisting of 1299 snippets, each of which takes the name of a 
function as a tab trigger, and then fills in a skeleton body for that 
library function.  I have a few notes about this.

[alias]: http://macromates.com/wiki/Main/Aliases

1. This doesn't really follow Allan's recently posted [style guide][sg] 
for bundles, which clearly explains how bundles should be constructed. 
Though, to be sure, that style guide needs to be a lot clearer about 
what *not* to do.  Of note: this bundle falls in the "what not to do" 
category.

2. There are a few recently added code completion commands which work 
much better, don't require the user to remember the whole function name, 
only require one menu item, instead of 1299, don't clog up menus (in 
fact they can just be added to the language bundle instead of requiring 
a specialized bundle just for snippets), and are pretty much better in 
every way.

3. Note: Snippets ARE NOT DESIGNED for GENERIC CODE COMPLETION.  This is 
not their purpose, and if you do want to use them this way, you should 
keep such monstrosities in your personal bundles, and not pollute the 
subversion repository with them.  If you absolutely positively must 
distribute such things, please do it on your own server.

4. Yes, there are similar things in existing bundles, which should be 
excised.  This includes the OCamlCodeCompletion bundle, and the recently 
added ColdFusion bundle.  Hopefully something will be done about these soon.

5. I hope it becomes slightly easier to make generic completion commands 
in the future, because at the moment, I'm not sure it can be done by a 
complete newbie, and it's a useful enough feature that it would be nice 
to give even new users such power.  Allan is hopefully considering such 
things for TextMate 2.0.

6. I'm going to remove this new bundle tomorrow if there isn't a very 
compelling reason not to.  If anyone wants to pitch in a code completion 
bundle which does the same thing, only better, I'm sure the C coders who 
use TextMate would be overjoyed.  Hopefully it could be made in a 
general enough fashion to read in arbitrary new header files (like the 
ones included in the current «foo».c file, that is), and complete on 
those functions, as well as functions in the usual C libraries (all the 
stuff like malloc and printf etc. etc.)

Okay, I think that's all.  Hope that didn't come off too strongly.  I 
don't mean to discourage contributions, but please ask around a bit 
before checking in bundles with ~1300 items.

Thanks,
Jacob Rus




More information about the textmate mailing list