@@ -152,6 +152,7 @@ async def resolve(self, sender: Any, completion_item: CompletionItem) -> Complet
152
152
]
153
153
154
154
HEADERS = ["Test Case" , "Setting" , "Variable" , "Keyword" , "Comment" , "Task" ]
155
+ RESOURCE_HEADERS = ["Setting" , "Variable" , "Keyword" , "Comment" ]
155
156
156
157
157
158
__snippets : Optional [Dict [str , List [str ]]] = None
@@ -398,8 +399,13 @@ async def resolve(self, completion_item: CompletionItem) -> CompletionItem:
398
399
return completion_item
399
400
400
401
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
+
401
404
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
403
409
else :
404
410
languages = self .namespace .languages .languages
405
411
@@ -410,7 +416,19 @@ async def create_headers_completion_items(self, range: Optional[Range]) -> List[
410
416
):
411
417
languages = [v for v in languages if v .code != "en" ]
412
418
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
+ )
414
432
415
433
return [
416
434
CompletionItem (
0 commit comments