SHELL_SCRIPT
  PsiComment(shebang)('#!/usr/bin/env bash')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('branch')
      PsiElement(=)('=')
      PsiElement($)('$')
      SUBSHELL_COMMAND
        PsiElement(()('(')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('git')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('rev-parse')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('--abbrev-ref')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('HEAD')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              REDIRECTION
                NUMBER
                  PsiElement(int)('2')
                PsiElement(>)('>')
                PsiElement(word)('/dev/null')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('output')
      PsiElement(=)('=')
      PsiElement($)('$')
      SUBSHELL_COMMAND
        PsiElement(()('(')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('tr')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              CONDITIONAL_COMMAND
                PsiElement([)('[')
                LITERAL_CONDITION
                  PsiElement(word)(':lower:')
                PsiElement(])(']')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              CONDITIONAL_COMMAND
                PsiElement([)('[')
                LITERAL_CONDITION
                  PsiElement(word)(':upper:')
                PsiElement(])(']')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              REDIRECTION
                PsiElement(<<<)('<<<')
                PsiWhiteSpace(' ')
                PsiElement(word)('[')
                PsiElement($)('$')
                SHELL_PARAMETER_EXPANSION
                  PsiElement({)('{')
                  PsiElement(word)('branch')
                  PsiElement(})('}')
                PsiElement(word)(']')
        PsiElement())(')')
    PsiElement(;)(';')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    IF_COMMAND
      PsiElement(if)('if')
      PsiWhiteSpace(' ')
      COMPOUND_LIST
        PIPELINE_COMMAND_LIST
          CONDITIONAL_COMMAND
            PsiElement([)('[')
            PsiWhiteSpace(' ')
            LITERAL_CONDITION
              PsiElement(word)('-n')
            PsiWhiteSpace(' ')
            LITERAL_CONDITION
              PsiElement($)('$')
              SHELL_PARAMETER_EXPANSION
                PsiElement({)('{')
                PsiElement(word)('branch')
                PsiElement(})('}')
            PsiWhiteSpace(' ')
            PsiElement(])(']')
          PsiWhiteSpace(' ')
          PsiElement(&&)('&&')
          PsiWhiteSpace(' ')
          PIPELINE_COMMAND
            PsiElement(!)('!')
            PsiWhiteSpace(' ')
            CONDITIONAL_COMMAND
              PsiElement([[)('[[')
              PsiWhiteSpace(' ')
              REGEX_CONDITION
                LITERAL_CONDITION
                  PsiElement($)('$')
                  SUBSHELL_COMMAND
                    PsiElement(()('(')
                    COMPOUND_LIST
                      GENERIC_COMMAND_DIRECTIVE
                        REDIRECTION
                          PsiElement(<)('<')
                          PsiWhiteSpace(' ')
                          VARIABLE
                            PsiElement(var)('$1')
                    PsiElement())(')')
                PsiWhiteSpace(' ')
                PsiElement(=~)('=~')
                PsiWhiteSpace(' ')
                REGEX_PATTERN
                  VARIABLE
                    PsiElement(var)('$output')
              PsiWhiteSpace(' ')
              PsiElement(]])(']]')
          PsiWhiteSpace(' ')
          PsiElement(&&)('&&')
          PsiWhiteSpace(' ')
          CONDITIONAL_COMMAND
            PsiElement([)('[')
            PsiWhiteSpace(' ')
            EQUALITY_CONDITION
              LITERAL_CONDITION
                PsiElement($)('$')
                SHELL_PARAMETER_EXPANSION
                  PsiElement({)('{')
                  PsiElement(word)('branch')
                  PsiElement(})('}')
              PsiWhiteSpace(' ')
              PsiElement(!=)('!=')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(RAW_STRING)(''master'')
            PsiWhiteSpace(' ')
            PsiElement(])(']')
        PsiElement(;)(';')
        PsiElement(\n)('\n')
      PsiWhiteSpace('    ')
      THEN_CLAUSE
        PsiElement(then)('then')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              VARIABLE
                PsiElement(var)('$output')
              PsiElement(STRING_CONTENT)(' ')
              PsiElement($)('$')
              SUBSHELL_COMMAND
                PsiElement(()('(')
                COMPOUND_LIST
                  GENERIC_COMMAND_DIRECTIVE
                    REDIRECTION
                      PsiElement(<)('<')
                      PsiWhiteSpace(' ')
                      VARIABLE
                        PsiElement(var)('$1')
                PsiElement())(')')
              PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              REDIRECTION
                PsiElement(>)('>')
                PsiWhiteSpace(' ')
                VARIABLE
                  PsiElement(var)('$1')
          PsiElement(;)(';')
          PsiElement(\n)('\n')
      PsiElement(fi)('fi')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CONDITIONAL_COMMAND
      PsiElement([[)('[[')
      PsiWhiteSpace(' ')
      LITERAL_CONDITION
        PsiElement($)('$')
        SUBSHELL_COMMAND
          PsiElement(()('(')
          COMPOUND_LIST
            GENERIC_COMMAND_DIRECTIVE
              REDIRECTION
                PsiElement(<)('<')
                PsiWhiteSpace(' ')
                VARIABLE
                  PsiElement(var)('$1')
          PsiElement())(')')
      PsiWhiteSpace(' ')
      PsiElement(]])(']]')