diff --git a/snippets/text-mode/python-mode/class b/snippets/text-mode/python-mode/class index 0a3bff4..9617c07 100644 --- a/snippets/text-mode/python-mode/class +++ b/snippets/text-mode/python-mode/class @@ -1,14 +1,58 @@ -#original contributor : Orestis Markou -#contributor : Nishio Hirokazu -#name : class ... : +# -*- coding: utf-8 -*- +# name: class +# contributor: Orestis Markou +# contributor: Nishio Hirokazu +# contributor: Yasser González Fernández # -- class ${1:ClassName}(${2:object}): - "docstring for $1" - def __init__(self, ${3:args}): - ${3:$ -(mapconcat - '(lambda (x) (concat "self." x " = " x)) - (split-string text ", ") - (concat "\n" (make-string (current-column) 32))) -} + """$3 + """ + + def __init__(self, $4): + """$5 + ${4:$ + (let* ((indent + (concat "\n" (make-string (current-column) 32))) + (args + (mapconcat + '(lambda (x) + (if (not (string= (nth 0 x) "")) + (concat "- " (char-to-string 96) (nth 0 x) + (char-to-string 96) ":"))) + (mapcar + '(lambda (x) + (mapcar + (lambda (x) + (replace-regexp-in-string "[[:blank:]]*$" "" + (replace-regexp-in-string "^[[:blank:]]*" "" x))) x)) + (mapcar '(lambda (x) (split-string x "=")) + (split-string text ","))) + indent))) + (if (string= args "") + (make-string 3 34) + (mapconcat + 'identity + (list "" "Arguments:" args (make-string 3 34)) + indent))) + } + ${4:$ + (let* ((indent (concat "\n" (make-string (current-column) 32))) + (self-vars (mapconcat + '(lambda (x) + (if (not (string= (nth 0 x) "")) + (concat "self._" (nth 0 x) " = " (nth 0 x)))) + (mapcar + '(lambda (x) + (mapcar + '(lambda (x) + (replace-regexp-in-string "[[:blank:]]*$" "" + (replace-regexp-in-string "^[[:blank:]]*" "" x))) + x)) + (mapcar '(lambda (x) (split-string x "=")) + (split-string text ","))) + (concat indent)))) + (if (string= self-vars "") + indent + self-vars)) + } $0