Skip to content

Commit dbca774

Browse files
committed
fix: correct completion of argument types for RF7
1 parent 470bcff commit dbca774

File tree

3 files changed

+104
-127
lines changed

3 files changed

+104
-127
lines changed

packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,6 @@ class TypeDoc:
263263
usages: List[str] = field(default_factory=list)
264264
members: Optional[List[EnumMember]] = None
265265
items: Optional[List[TypedDictItem]] = None
266-
267266
libname: Optional[str] = None
268267
libtype: Optional[str] = None
269268

@@ -391,6 +390,8 @@ def from_robot(arg: Any) -> ArgumentInfo:
391390
types=robot_arg.types_reprs
392391
if get_robot_version() < (7, 0)
393392
else [str(robot_arg.type)]
393+
if not robot_arg.type.is_union
394+
else [str(t) for t in robot_arg.type.nested]
394395
if robot_arg.type
395396
else None,
396397
kind=KeywordArgumentKind[robot_arg.kind],
@@ -1824,7 +1825,10 @@ def _get_type_docs(keywords: List[Any], custom_converters: List[Any]) -> Set[Rob
18241825
kw.type_docs[arg.name] = {}
18251826
for type_info in _yield_type_info(arg.type):
18261827
if type_info.type is not None:
1827-
type_doc = RobotTypeDoc.for_type(type_info.type, custom_converters)
1828+
if get_robot_version() < (7, 0):
1829+
type_doc = RobotTypeDoc.for_type(type_info.type, custom_converters)
1830+
else:
1831+
type_doc = RobotTypeDoc.for_type(type_info, custom_converters)
18281832
if type_doc:
18291833
kw.type_docs[arg.name][type_info.name] = type_doc.name
18301834
type_docs.setdefault(type_doc, set()).add(kw.name)

0 commit comments

Comments
 (0)