From 5f931de4cc64962e9b2055c8b2bfb2c30eb25091 Mon Sep 17 00:00:00 2001 From: yannickreiss Date: Mon, 7 Oct 2024 08:19:07 +0200 Subject: [PATCH] Ada snippet update --- UltiSnips/ada.snippets | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/UltiSnips/ada.snippets b/UltiSnips/ada.snippets index 660d482..a6e40e8 100644 --- a/UltiSnips/ada.snippets +++ b/UltiSnips/ada.snippets @@ -68,8 +68,21 @@ snip.rv = "" if t[2].startswith("l"): parameters = [] else: - parameters = t[2].replace("; ", ";").split(";"); + parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '') + parameters = parameters.replace(' ', '').split(";"); +parameter_list = [] for parameter in parameters: + if len(parameter.split(',')) == 1: + parameter_list.append(parameter) + else: + try: + list_type = parameter.split(':')[1] + except: + list_type = "???" + list_parameters = parameter.split(':')[0].replace(' ', '').split(',') + for sub_parameter in list_parameters: + parameter_list.append(f"{sub_parameter} : {list_type}") +for parameter in parameter_list: if not parameter == "" and not parameter.startswith("typ"): parameterless = parameter.replace("\t", "") snip.rv += f"-- @parameter {parameterless}\n" @@ -99,7 +112,8 @@ snip.rv = "" if t[2].startswith("l"): parameters = [] else: - parameters = t[2].replace("; ", ";").split(";"); + parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '') + parameters = parameters.replace(' ', '').split(";"); parameter_list = [] for parameter in parameters: if len(parameter.split(',')) == 1: @@ -111,7 +125,7 @@ for parameter in parameters: list_type = "???" list_parameters = parameter.split(':')[0].replace(' ', '').split(',') for sub_parameter in list_parameters: - parameter_list.append(f"{sub_parameter} : {list_type}") + parameter_list.append(f"{sub_parameter} : {list_type}") for parameter in parameter_list: if not parameter == "" and not parameter.startswith("typ"): parameterless = parameter.replace("\t", "")