[TxMt] Re: [Python Bundle] Suggestions "stolen" from Ruby Bundle and bugs from the latest SVN
Ryan Wilcox
ryanwilcox at mac.com
Fri Dec 15 23:40:28 UTC 2006
On 12/12/06, at 7:05 AM, Jacob Rus said:
>> #3: super() in class snippet
>>
>> It would be cool if the class snippet inserted super(...) into the
>> constructor for the class. (Is this possible with clever
>> mirroring?)
>
>How would this work? Can you give an example?
In Action:
class SuperSnippetInAction(object):
"""docstring for SuperSnippetInAction"""
def __init__(self, arg):
super(SuperSnippetInAction, self).__init__()
self.arg = arg
The 5th tab selects the whole "super..." line, for easy "fixing". (I suppose tab 5 could be places in between the ()s of the __init__ call, for easy parameter adding too
The Snippet:
class ${1:ClassName}(${2:object}):
${3/.+/"""/}${3:docstring for $1}${3/.+/"""\n/}${3/.+/\t/}def __init__(self${4/([^,])?(.*)/(?1:, )/}${4:arg}):
${5:super($1, self).__init__()}
${4/(\A\s*,\s*\Z)|,?\s*([A-Za-z_][a-zA-Z0-9_]*)\s*(=[^,]*)?(,\s*|$)/(?2:\t\tself.$2 = $2\n)/g} ${0:${4/(\A\Z|\A\s*,\s*\Z)|(.+)/(?1:pass)(?2:)/}}
Or, instead of super, I suppose this could be replaced with $2.__init__()
Thanks to all who replied (and pointed me to dict(), which I didn't know about. Cool!)
Hope this helps,
_Ryan Wilcox
--
Wilcox Development Solutions: <http://www.wilcoxd.com>
Toolsmiths for the Internet Age PGP: 0x2F4E9C31
More information about the textmate
mailing list