Skip to content

Commit 674040a

Browse files
committed
fix(langserver): only show valid headers in resource and init.robot file at completion
1 parent 782bfe6 commit 674040a

File tree

1 file changed

+20
-2
lines changed
  • packages/language_server/src/robotcode/language_server/robotframework/parts

1 file changed

+20
-2
lines changed

packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ async def resolve(self, sender: Any, completion_item: CompletionItem) -> Complet
152152
]
153153

154154
HEADERS = ["Test Case", "Setting", "Variable", "Keyword", "Comment", "Task"]
155+
RESOURCE_HEADERS = ["Setting", "Variable", "Keyword", "Comment"]
155156

156157

157158
__snippets: Optional[Dict[str, List[str]]] = None
@@ -398,8 +399,13 @@ async def resolve(self, completion_item: CompletionItem) -> CompletionItem:
398399
return completion_item
399400

400401
async def create_headers_completion_items(self, range: Optional[Range]) -> List[CompletionItem]:
402+
doc_type = await self.parent.documents_cache.get_document_type(self.document)
403+
401404
if self.namespace.languages is None:
402-
headers: Iterable[str] = HEADERS
405+
if doc_type in [DocumentType.RESOURCE, DocumentType.INIT]:
406+
headers: Iterable[str] = RESOURCE_HEADERS
407+
else:
408+
headers = HEADERS
403409
else:
404410
languages = self.namespace.languages.languages
405411

@@ -410,7 +416,19 @@ async def create_headers_completion_items(self, range: Optional[Range]) -> List[
410416
):
411417
languages = [v for v in languages if v.code != "en"]
412418

413-
headers = set(itertools.chain(*(lang.headers.keys() for lang in languages)))
419+
headers = set(
420+
itertools.chain(
421+
*(
422+
[
423+
k
424+
for k, v in lang.headers.items()
425+
if doc_type not in [DocumentType.RESOURCE, DocumentType.INIT]
426+
or v not in ("Test Cases", "Tasks")
427+
]
428+
for lang in languages
429+
)
430+
)
431+
)
414432

415433
return [
416434
CompletionItem(

0 commit comments

Comments
 (0)