SHELL_SCRIPT
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('mv')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-v')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('!(src|*.sh)')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        PsiElement($)('$')
        SHELL_PARAMETER_EXPANSION
          PsiElement({)('{')
          PsiElement(word)('dir')
          PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    IF_COMMAND
      PsiElement(if)('if')
      PsiWhiteSpace(' ')
      COMPOUND_LIST
        PIPELINE_COMMAND
          PsiElement(!)('!')
          PsiWhiteSpace(' ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('mv')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-v')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('!(src|*.sh)')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              PsiElement($)('$')
              SHELL_PARAMETER_EXPANSION
                PsiElement({)('{')
                PsiElement(word)('dir')
                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)('Text sample')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiElement(fi)('fi')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('!(a)')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('ls')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-la')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('!(a|b|c|z*)')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('@(a|lib)')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('ls')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-la')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('@(a|lib|a*|lib*)')