>#if 1
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst constant.numeric.integer.typst
>#if [] 1
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.square.typst
#     ^ source.typst meta.expr.if.typst meta.brace.square.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst constant.numeric.integer.typst
>#if [] else [] 1
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.square.typst
#     ^ source.typst meta.expr.if.typst meta.brace.square.typst
#      ^ source.typst meta.expr.if.typst
#       ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#           ^ source.typst meta.expr.if.typst
#            ^ source.typst meta.expr.if.typst meta.brace.square.typst
#             ^ source.typst meta.expr.if.typst meta.brace.square.typst
#              ^^^ source.typst
>#if 1 [] else [] 1
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst constant.numeric.integer.typst
#     ^ source.typst meta.expr.if.typst
#      ^ source.typst meta.expr.if.typst meta.brace.square.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst
#         ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#             ^ source.typst meta.expr.if.typst
#              ^ source.typst meta.expr.if.typst meta.brace.square.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^^^ source.typst
>#if {} [] else [] #1
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.curly.typst
#     ^ source.typst meta.expr.if.typst meta.brace.curly.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                 ^ source.typst
#                  ^ source.typst constant.numeric.hash.typst
#                   ^ source.typst constant.numeric.integer.typst
>#if [] [] else [] []
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.square.typst
#     ^ source.typst meta.expr.if.typst meta.brace.square.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                 ^ source.typst
#                  ^ source.typst markup.content.brace.typst
#                   ^ source.typst markup.content.brace.typst
>#if () [] else [] # a
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.round.typst
#     ^ source.typst meta.expr.if.typst meta.brace.round.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                 ^ source.typst
#                  ^ source.typst punctuation.definition.hash.typst
#                   ^ source.typst
#                    ^^ source.typst
>
>#if () [] else []
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.round.typst
#     ^ source.typst meta.expr.if.typst meta.brace.round.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
>1
#^^ source.typst
>
>#if () [] else []
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.round.typst
#     ^ source.typst meta.expr.if.typst meta.brace.round.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
>[]
#^ source.typst markup.content.brace.typst
# ^ source.typst markup.content.brace.typst
>
>#if () [] else []
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.round.typst
#     ^ source.typst meta.expr.if.typst meta.brace.round.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
>{
#^ source.typst markup.content.brace.typst
>#if () [] else []
#^ source.typst keyword.control.hash.typst
# ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#   ^ source.typst meta.expr.if.typst
#    ^ source.typst meta.expr.if.typst meta.brace.round.typst
#     ^ source.typst meta.expr.if.typst meta.brace.round.typst
#      ^ source.typst meta.expr.if.typst
#       ^ source.typst meta.expr.if.typst meta.brace.square.typst
#        ^ source.typst meta.expr.if.typst meta.brace.square.typst
#         ^ source.typst meta.expr.if.typst
#          ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#              ^ source.typst meta.expr.if.typst
#               ^ source.typst meta.expr.if.typst meta.brace.square.typst
#                ^ source.typst meta.expr.if.typst meta.brace.square.typst
>
>
>1
#^^ source.typst
># if () [] else []
#^ source.typst punctuation.definition.hash.typst
# ^ source.typst
#  ^^^ source.typst
#     ^ source.typst markup.content.brace.typst
#      ^ source.typst markup.content.brace.typst
#       ^ source.typst
#        ^ source.typst markup.content.brace.typst
#         ^ source.typst markup.content.brace.typst
#          ^^^^^^ source.typst
#                ^ source.typst markup.content.brace.typst
#                 ^ source.typst markup.content.brace.typst
>1
#^^ source.typst
>
>A#if false {} else thing
#^ source.typst
# ^ source.typst keyword.control.hash.typst
#  ^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#    ^ source.typst meta.expr.if.typst
#     ^^^^^ source.typst meta.expr.if.typst constant.language.boolean.typst
#          ^ source.typst meta.expr.if.typst
#           ^ source.typst meta.expr.if.typst meta.brace.curly.typst
#            ^ source.typst meta.expr.if.typst meta.brace.curly.typst
#             ^ source.typst meta.expr.if.typst
#              ^^^^ source.typst meta.expr.if.typst keyword.control.conditional.typst
#                  ^^^^^^^ source.typst
>
>
>