# -*- mode: snippet -*-
|
|
# -*- coding: utf-8 -*-
|
|
# name: docstring function
|
|
# contributor: Andrea Giugliano
|
|
# key: docfun
|
|
# inspired by a snippet by Tibor Simko et al.
|
|
# --
|
|
/**
|
|
* $1
|
|
* ${3:$
|
|
(let* ((indent
|
|
(concat "\n * "))
|
|
(args
|
|
(mapconcat
|
|
'(lambda (x)
|
|
(if (not (string= (nth 0 x) ""))
|
|
;; in Scala I get a separator : for the type
|
|
(let ((par-type (mapcar 'string-trim (split-string (nth 0 x) ":")))) (concat "@param " (first par-type) indent "@tparam " (second par-type) indent))
|
|
))
|
|
(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 yas-text ",")))
|
|
indent)))
|
|
(if (string= args "")
|
|
(concat indent "@return: " indent "@rtype: " indent (make-string 3 34))
|
|
(mapconcat
|
|
'identity
|
|
(list "" args )
|
|
indent)))
|
|
}
|
|
* @return ${4:$(yas-text)}
|
|
*
|
|
**/
|
|
def ${2:name}($3): $4 = $0
|