S/switch keyword



S <expression>
   <constant expression 1>
      <statements 1>
   <constant expression 2>
      <statements 2>
   ...
   [E
      <default statements>]

Expression
<expression>
is compared with constant expressions for equality. If a matching expression is found, then corresponding statements are executed. If no matching expression is found,
<default statements>
[if present] are executed.

The
S
/
switch
can be used in expressions:
V tag = S prev_char()
           ‘*’
              ‘b’
           ‘_’
              ‘u’
           ‘-’
              ‘s’
           ‘~’
              ‘i’
Or in one line. So:
V tag = S prev_char() {‘*’ {‘b’}; ‘_’ {‘u’}; ‘-’ {‘s’}; ‘~’ {‘i’}}
or so:
V tag = S prev_char() {‘*’ {‘b’} ‘_’ {‘u’} ‘-’ {‘s’} ‘~’ {‘i’}}

If you have a very long switch, which does not fit on the screen, you can add comment for each "case":
S message
   WM_CREATE // case
      ...
   WM_DESTROY // case
      ...
   WM_KEYDOWN // case
      ...
   ...
   E // case
      ...
Or this way