SHELL_SCRIPT
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(function)('function')
      PsiWhiteSpace(' ')
      PsiElement(word)('a')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace(' ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              PsiElement($)('$')
              SHELL_PARAMETER_EXPANSION
                PsiElement({)('{')
                PsiElement(param_separator)('=')
                NUMBER
                  PsiElement(int)('1')
                PsiElement(})('}')
          PsiElement(\n)('\n')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(function)('function')
      PsiWhiteSpace(' ')
      PsiElement(word)('a')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace(' ')
          PIPELINE_COMMAND_LIST
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)('echo')
              PsiWhiteSpace(' ')
              SIMPLE_COMMAND_ELEMENT
                PsiElement($)('$')
                SHELL_PARAMETER_EXPANSION
                  PsiElement({)('{')
                  PsiElement(param_separator)('=')
                  NUMBER
                    PsiElement(int)('1')
                  PsiElement(})('}')
            PsiElement(;)(';')
            PsiWhiteSpace(' ')
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
          PsiElement(\n)('\n')
        PsiElement(})('}')