Skip to content

Commit 40a5e42

Browse files
committed
feat(langserver): implemented deprecation warning for old [RETURN] setting for RF 7
1 parent dbef3a1 commit 40a5e42

File tree

2 files changed

+14
-1
lines changed
  • packages/language_server/src/robotcode/language_server/robotframework/diagnostics

2 files changed

+14
-1
lines changed

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@ async def visit_TemplateArguments(self, node: ast.AST) -> None: # noqa: N802
954954
async def visit_ForceTags(self, node: Statement) -> None: # noqa: N802
955955
if get_robot_version() >= (6, 0):
956956
tag = node.get_token(Token.FORCE_TAGS)
957-
if tag.value.upper() == "FORCE TAGS":
957+
if tag is not None and tag.value.upper() == "FORCE TAGS":
958958
self.append_diagnostics(
959959
range=range_from_node_or_token(node, tag),
960960
message="`Force Tags` is deprecated in favour of new `Test Tags` setting.",
@@ -990,6 +990,18 @@ async def visit_Tags(self, node: Statement) -> None: # noqa: N802
990990
code=Error.DEPRECATED_HYPHEN_TAG,
991991
)
992992

993+
async def visit_ReturnSetting(self, node: Statement) -> None: # noqa: N802
994+
if get_robot_version() >= (7, 0):
995+
token = node.get_token(Token.RETURN_SETTING)
996+
if token is not None and token.error:
997+
self.append_diagnostics(
998+
range=range_from_node_or_token(node, token),
999+
message=token.error,
1000+
severity=DiagnosticSeverity.WARNING,
1001+
tags=[DiagnosticTag.DEPRECATED],
1002+
code=Error.DEPRECATED_RETURN_SETTING,
1003+
)
1004+
9931005
def _check_import_name(self, value: Optional[str], node: ast.AST, type: str) -> None:
9941006
if not value:
9951007
self.append_diagnostics(

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class Error:
2727
TESTCASE_NAME_EMPTY = "TestCaseNameEmpty"
2828
KEYWORD_CONTAINS_NORMAL_AND_EMBBEDED_ARGUMENTS = "KeywordContainsNormalAndEmbbededArguments"
2929
DEPRECATED_HYPHEN_TAG = "DeprecatedHyphenTag"
30+
DEPRECATED_RETURN_SETTING = "DeprecatedReturnSetting"
3031
DEPRECATED_FORCE_TAG = "DeprecatedForceTag"
3132
IMPORT_REQUIRES_VALUE = "ImportRequiresValue"
3233
KEYWORD_ERROR = "KeywordError"

0 commit comments

Comments
 (0)