Skip to content

Commit 974c280

Browse files
committed
fix(robocop): update robocop documentation urls
New Robocop documentation doesn't use /en/ anymore for all the versions. Additionally, since 6.13.0 it offers docs_url attribute in each diagnostic which can be used to access rule documentation url.
1 parent 6e4b469 commit 974c280

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

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

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -233,25 +233,27 @@ def run_check(self, ast_model, filename, source=None): # type: ignore
233233
return result
234234

235235
def get_code_description(self, version: Version, issue: Any) -> Optional[CodeDescription]:
236+
if hasattr(issue, "docs_url"): # since robocop 6.13
237+
return CodeDescription(issue.docs_url)
236238
if version < (3, 0):
237239
return None
238240

239241
version_letter = "v" if version.major >= 6 else ""
242+
base = f"https://robocop.dev/{version_letter}{version.major}.{version.minor}.{version.patch}"
240243

241-
base = f"https://robocop.readthedocs.io/en/{version_letter}{version.major}.{version.minor}.{version.patch}"
242-
243-
if version < (4, 0):
244-
return CodeDescription(href=f"{base}/rules.html#{issue.name}".lower())
245-
246-
if version < (4, 1):
247-
return CodeDescription(href=f"{base}/rules.html#{issue.name}-{issue.severity.value}{issue.rule_id}".lower())
248-
249-
if version < (4, 1, 1):
244+
if version >= (6, 0):
245+
# https://robocop.dev/v6.0.0/rules/rules_list.html#doc01-missing-doc-keyword
246+
return CodeDescription(href=f"{base}/rules/rules_list.html#{issue.rule.rule_id}-{issue.rule.name}".lower())
247+
if version >= (4, 1, 1):
248+
# https://robocop.dev/4.1.1/rules_list.html#missing-doc-keyword
249+
return CodeDescription(href=f"{base}/rules_list.html#{issue.name}".lower())
250+
if version >= (4, 1):
251+
# https://robocop.dev/4.1.0/rules_list.html#missing-doc-keyword-w0201
250252
return CodeDescription(
251253
href=f"{base}/rules_list.html#{issue.name}-{issue.severity.value}{issue.rule_id}".lower()
252254
)
253-
254-
if version < (6, 0):
255-
return CodeDescription(href=f"{base}/rules_list.html#{issue.name}".lower())
256-
257-
return CodeDescription(href=f"{base}/rules/rules_list.html#{issue.rule.rule_id}-{issue.rule.name}".lower())
255+
if version >= (4, 0):
256+
# https://robocop.dev/4.0.0/rules.html#missing-doc-keyword-w0201
257+
return CodeDescription(href=f"{base}/rules.html#{issue.name}-{issue.severity.value}{issue.rule_id}".lower())
258+
# https://robocop.dev/3.1.0/rules.html#missing-doc-keyword
259+
return CodeDescription(href=f"{base}/rules.html#{issue.name}".lower())

0 commit comments

Comments
 (0)