@@ -16,13 +16,14 @@ async def get_run_keyword_keyworddoc_and_token_from_position(
16
16
namespace : Namespace ,
17
17
position : Position ,
18
18
) -> Tuple [Optional [Tuple [Optional [KeywordDoc ], Token ]], List [Token ]]:
19
+ from robot .utils .escaping import unescape
19
20
20
21
if keyword_doc is None or not keyword_doc .is_any_run_keyword ():
21
22
return None , argument_tokens
22
23
23
24
if keyword_doc .is_run_keyword () and len (argument_tokens ) > 0 and is_not_variable_token (argument_tokens [0 ]):
24
25
result = await self .get_keyworddoc_and_token_from_position (
25
- argument_tokens [0 ].value , argument_tokens [0 ], argument_tokens [1 :], namespace , position
26
+ unescape ( argument_tokens [0 ].value ) , argument_tokens [0 ], argument_tokens [1 :], namespace , position
26
27
)
27
28
28
29
return result , argument_tokens [1 :]
@@ -32,7 +33,7 @@ async def get_run_keyword_keyworddoc_and_token_from_position(
32
33
and is_not_variable_token (argument_tokens [1 ])
33
34
):
34
35
result = await self .get_keyworddoc_and_token_from_position (
35
- argument_tokens [1 ].value , argument_tokens [1 ], argument_tokens [2 :], namespace , position
36
+ unescape ( argument_tokens [1 ].value ) , argument_tokens [1 ], argument_tokens [2 :], namespace , position
36
37
)
37
38
38
39
return result , argument_tokens [2 :]
@@ -55,7 +56,9 @@ async def get_run_keyword_keyworddoc_and_token_from_position(
55
56
else :
56
57
args = []
57
58
58
- result = await self .get_keyworddoc_and_token_from_position (t .value , t , args , namespace , position )
59
+ result = await self .get_keyworddoc_and_token_from_position (
60
+ unescape (t .value ), t , args , namespace , position
61
+ )
59
62
if result is not None and result [0 ] is not None :
60
63
return result , []
61
64
@@ -99,7 +102,7 @@ def skip_args() -> None:
99
102
100
103
while argument_tokens :
101
104
if argument_tokens [0 ].value == "ELSE" and len (argument_tokens ) > 1 :
102
- inner_keyword_doc = await namespace .find_keyword (argument_tokens [1 ].value )
105
+ inner_keyword_doc = await namespace .find_keyword (unescape ( argument_tokens [1 ].value ) )
103
106
104
107
if position .is_in_range (range_from_token (argument_tokens [1 ])):
105
108
return (inner_keyword_doc , argument_tokens [1 ]), argument_tokens [2 :]
@@ -119,7 +122,7 @@ def skip_args() -> None:
119
122
120
123
break
121
124
elif argument_tokens [0 ].value == "ELSE IF" and len (argument_tokens ) > 2 :
122
- inner_keyword_doc = await namespace .find_keyword (argument_tokens [2 ].value )
125
+ inner_keyword_doc = await namespace .find_keyword (unescape ( argument_tokens [2 ].value ) )
123
126
124
127
if position .is_in_range (range_from_token (argument_tokens [2 ])):
125
128
return (inner_keyword_doc , argument_tokens [2 ]), argument_tokens [3 :]
0 commit comments