Skip to content

Commit e713cc3

Browse files
committed
Highlight parameters/arguments with 'variable.parameter'
1 parent 9daab61 commit e713cc3

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,9 @@
166166
],
167167
"config": [
168168
"comment.line.configuration.robotframework"
169+
],
170+
"namedArgument": [
171+
"variable.parameter.function-call.robotframework"
169172
]
170173
}
171174
}

robotcode/language_server/robotframework/parts/semantic_tokens.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ class RobotSemTokenTypes(Enum):
9393
NAMESPACE = "namespace"
9494
ERROR = "error"
9595
CONFIG = "config"
96+
NAMED_ARGUMENT = "namedArgument"
9697

9798

9899
class RobotSemTokenModifiers(Enum):
@@ -178,7 +179,7 @@ def generate_mapping(cls) -> Dict[str, Tuple[Enum, Optional[Set[Enum]]]]:
178179
frozenset({RobotToken.VARIABLE, RobotToken.ASSIGN}): (RobotSemTokenTypes.VARIABLE, None),
179180
frozenset({RobotToken.KEYWORD}): (RobotSemTokenTypes.KEYWORD, None),
180181
frozenset({ROBOT_KEYWORD_INNER}): (RobotSemTokenTypes.KEYWORD_INNER, None),
181-
frozenset({ROBOT_NAMED_ARGUMENT}): (RobotSemTokenTypes.VARIABLE, None),
182+
frozenset({ROBOT_NAMED_ARGUMENT}): (RobotSemTokenTypes.NAMED_ARGUMENT, None),
182183
frozenset({ROBOT_OPERATOR}): (SemanticTokenTypes.OPERATOR, None),
183184
frozenset({RobotToken.NAME}): (RobotSemTokenTypes.NAME, None),
184185
frozenset({RobotToken.CONTINUATION}): (RobotSemTokenTypes.CONTINUATION, None),
@@ -254,6 +255,7 @@ async def generate_sem_sub_tokens(
254255
) -> AsyncGenerator[SemTokenInfo, None]:
255256
from robot.parsing.lexer.tokens import Token as RobotToken
256257
from robot.parsing.model.statements import (
258+
Arguments,
257259
Documentation,
258260
Fixture,
259261
LibraryImport,
@@ -283,7 +285,13 @@ async def generate_sem_sub_tokens(
283285
if last_index >= 0:
284286
yield SemTokenInfo(token.lineno, col_offset, 2, RobotSemTokenTypes.VARIABLE_BEGIN, sem_mod)
285287

286-
yield SemTokenInfo.from_token(token, sem_type, sem_mod, col_offset + 2, last_index - 2)
288+
yield SemTokenInfo.from_token(
289+
token,
290+
SemanticTokenTypes.PARAMETER if isinstance(node, Arguments) else sem_type,
291+
sem_mod,
292+
col_offset + 2,
293+
last_index - 2,
294+
)
287295

288296
yield SemTokenInfo(
289297
token.lineno, col_offset + last_index, 1, RobotSemTokenTypes.VARIABLE_END, sem_mod

0 commit comments

Comments
 (0)