From 4acae3052a9c7c43275b016335f8e5d90e10b637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nina=20Chl=C3=B3e=20Kassandra=20Rei=C3=9F?= Date: Tue, 2 Jun 2026 20:17:51 +0200 Subject: [PATCH] Class and shebang snippet for python --- UltiSnips/python.snippets | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/UltiSnips/python.snippets b/UltiSnips/python.snippets index 47e5dd9..bd5fb85 100644 --- a/UltiSnips/python.snippets +++ b/UltiSnips/python.snippets @@ -44,3 +44,39 @@ if t[4] != "" and len(t[4].split(":")) > 1: $0 endsnippet + +snippet class "Python class description" b +class ${1:`!p snip.rv = fn.split('.')[0]`}`!p +if t[2] != "": + snip.rv = " (" +else: + snip.rv = ""`${2:object}`!p +if t[2] == "": + snip.rv = "" +else: + snip.rv = ")"`: + """ + ${3:Description of module $1.} + """ + def __init__(${4:self}`!p +if not t[4].startswith("self"): + t[4] = f"self, {t[4]}" +t[4] = t[4].replace(' ', '') +t[4] = t[4].replace(':', ': ') +t[4] = t[4].replace(',', ', ')`): + """`!p +parameters: list = t[4].split(", ") +snip.rv = "\n" +for parameter in parameters: + parameter_meta = parameter.split(": ") + if len(parameter_meta) == 1: + snip.rv += f"\t\tnotype:\t{parameter_meta[0]}\n" + else: + snip.rv += f"\t\t{parameter_meta[0]}:\t{parameter_meta[1]}\n"` + """ +endsnippet + +snippet #! "Environment Shebang" b +#!/usr/bin/env bash +$0 +endsnippet