Skip to content

Commit ef4f418

Browse files
fwpplpil
authored andcommitted
[Python] Handle type hints having ","
Enhance argument parsing for type hints having "," , such as "arg: Tuple[int, int]".
1 parent e081212 commit ef4f418

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

UltiSnips/python.snippets

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,23 @@ class Arg(object):
7373
7474
7575
def get_args(arglist):
76-
args = [Arg(arg) for arg in arglist.split(',') if arg]
76+
args = []
77+
n = len(arglist)
78+
i = 0
79+
while i < n:
80+
l_bracket = 0
81+
start = i
82+
while i < n and (l_bracket > 0 or arglist[i] != ','):
83+
if arglist[i] == '[':
84+
l_bracket += 1
85+
elif arglist[i] == ']' and l_bracket > 0:
86+
l_bracket -= 1
87+
i += 1
88+
arg = arglist[start:i]
89+
if arg:
90+
args.append(Arg(arg))
91+
i += 1
92+
7793
args = [arg for arg in args if arg.name != 'self']
7894
7995
return args

0 commit comments

Comments
 (0)