SHELL_SCRIPT
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$script')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        PATTERN
          PsiElement(word)('*.sh')
        PsiElement())(')')
        PsiElement(\n)('\n')
      PsiWhiteSpace('    ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('    ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              VARIABLE
                PsiElement(var)('$debug')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              VARIABLE
                PsiElement(var)('$script')
              PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace(' ')
            VARIABLE
              PsiElement(var)('$action')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('startup_progress')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('backgrounded')
            PsiElement(=)('=')
            NUMBER
              PsiElement(int)('1')
          PsiElement(\n)('\n')
      PsiWhiteSpace('    ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')