From 8a9b9d83d17ccd59bbefe2da3cd2e79c0d363025 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Sun, 26 Mar 2023 08:26:45 -0400 Subject: Improvements to org-mode and performance --- lisp/python-custom.el | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'lisp/python-custom.el') diff --git a/lisp/python-custom.el b/lisp/python-custom.el index 432ad48..10c4cfc 100644 --- a/lisp/python-custom.el +++ b/lisp/python-custom.el @@ -9,5 +9,30 @@ :hook ((python-mode . eglot-ensure))) +(defun python-args-to-google-docstring (text &optional make-fields) + "Return a reST docstring format for the python arguments in yas-text." + (let* ((indent (concat "\n" (make-string (current-column) 32))) + (args (python-split-args text)) + (nr 0) + (formatted-args + (mapconcat + (lambda (x) + (concat " " (nth 0 x) + (if make-fields (format " ${%d:arg%d}" (cl-incf nr) nr)) + (if (nth 1 x) (concat " \(default " (nth 1 x) "\)")))) + args + indent))) + (unless (string= formatted-args "") + (concat + (mapconcat 'identity + (list "" "Args:" formatted-args) + indent) + "\n")))) + +(use-package yasnippet + :ensure t + :config + (yas-global-mode 1)) + (provide 'python-custom) ;;; python-custom.el ends here -- cgit v1.2.1