mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
Consider #!strongSpaces for keyword operators too.
When #!strongSpaces is on, every operator affected by it gains priority higher than any operator not affected by it. This includes comparison operators, addition, etc. It seems that counting spaces for keywords operators don't break anything in the parser. Of course, they can't have 0 spaces between their operands, but at least their precedence will work accordingly to their 1+ spaces.
This commit is contained in:
@@ -227,11 +227,12 @@ proc getPrecedence(tok: TToken, strongSpaces: bool): int =
|
||||
of '.': considerAsgn(6)
|
||||
of '?': result = considerStrongSpaces(2)
|
||||
else: considerAsgn(2)
|
||||
of tkDiv, tkMod, tkShl, tkShr: result = 9
|
||||
of tkIn, tkNotin, tkIs, tkIsnot, tkNot, tkOf, tkAs: result = 5
|
||||
of tkDiv, tkMod, tkShl, tkShr: result = considerStrongSpaces(9)
|
||||
of tkIn, tkNotin, tkIs, tkIsnot, tkNot, tkOf, tkAs:
|
||||
result = considerStrongSpaces(5)
|
||||
of tkDotDot: result = considerStrongSpaces(6)
|
||||
of tkAnd: result = 4
|
||||
of tkOr, tkXor, tkPtr, tkRef: result = 3
|
||||
of tkAnd: result = considerStrongSpaces(4)
|
||||
of tkOr, tkXor, tkPtr, tkRef: result = considerStrongSpaces(3)
|
||||
else: result = -10
|
||||
|
||||
proc isOperator(tok: TToken): bool =
|
||||
|
||||
Reference in New Issue
Block a user