     else if match[16]?
       if 'keyword.control.flow.js' is scope
         return JS_RETURN
+    else if match[17]?
+      if 'meta.brace.round.js' is scope or
+       'meta.brace.round.graphql' is scope or
+       'meta.brace.round.directive.geaphql' is scope
+          return PAREN_OPEN
+    else if match[18]?
+      if 'meta.brace.round.js' is scope or
+       'meta.brace.round.graphql' is scope or
+       'meta.brace.round.directive.geaphql' is scope
+          return PAREN_CLOSE
     return NO_TOKEN
 
 

TERNARY_ELSE            = 11      # Ternary :
JS_IF                   = 12      # JS IF
JS_ELSE                 = 13      # JS ELSE
SWITCH_BRACE_OPEN       = 14      # opening brace in swtich { }
SWITCH_BRACE_CLOSE      = 15      # closing brace in swtich { }
SWITCH_CASE             = 16      # switch case statement
SWITCH_DEFAULT          = 17      # switch defauklt statement
JS_RETURN               = 18      # JS return

# eslint property values
TAGALIGNED    = 'tag-aligned'

            stackOfTokensStillOpen.push idxOfToken
            idxOfToken++

          # Javascript brace End } or switch brace end } or paren close )
          when BRACE_CLOSE, SWITCH_BRACE_CLOSE, PAREN_CLOSE

            if token is SWITCH_BRACE_CLOSE
              stackOfTokensStillOpen.push parentTokenIdx = stackOfTokensStillOpen.pop()
