SHELL_SCRIPT
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(function)('function')
      PsiWhiteSpace(' ')
      PsiElement(word)('a')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('b')
          PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(function)('function')
      PsiWhiteSpace(' ')
      PsiElement(word)('a')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('b')
          PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(word)('a')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('b')
          PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(})('}')