SHELL_SCRIPT
  PsiComment(shebang)('#!/usr/bin/env bash')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    IF_COMMAND
      PsiElement(if)('if')
      PsiWhiteSpace(' ')
      COMPOUND_LIST
        CONDITIONAL_COMMAND
          PsiElement([[)('[[')
          PsiWhiteSpace(' ')
          LOGICAL_AND_CONDITION
            EQUALITY_CONDITION
              LITERAL_CONDITION
                VARIABLE
                  PsiElement(var)('$#')
              PsiWhiteSpace(' ')
              PsiElement(==)('==')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                NUMBER
                  PsiElement(int)('1')
            PsiWhiteSpace(' ')
            PsiElement(&&)('&&')
            PsiWhiteSpace(' ')
            PARENTHESES_CONDITION
              PsiElement(()('(')
              LOGICAL_OR_CONDITION
                EQUALITY_CONDITION
                  LITERAL_CONDITION
                    VARIABLE
                      PsiElement(var)('$1')
                  PsiWhiteSpace(' ')
                  PsiElement(==)('==')
                  PsiWhiteSpace(' ')
                  LITERAL_CONDITION
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      PsiElement(STRING_CONTENT)('a')
                      PsiElement(CLOSE_QUOTE)('"')
                PsiWhiteSpace(' ')
                PsiElement(||)('||')
                PsiWhiteSpace(' ')
                REGEX_CONDITION
                  LITERAL_CONDITION
                    VARIABLE
                      PsiElement(var)('$1')
                  PsiWhiteSpace(' ')
                  PsiElement(=~)('=~')
                  PsiWhiteSpace(' ')
                  REGEX_PATTERN
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      PsiElement(STRING_CONTENT)('b')
                      PsiElement(CLOSE_QUOTE)('"')
              PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(]])(']]')
        PsiElement(;)(';')
      PsiWhiteSpace(' ')
      THEN_CLAUSE
        PsiElement(then)('then')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('  ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('pong')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiElement(fi)('fi')