(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-f>}] redirects:[] do_fork:T)
    (command.ShAssignment
      left: <Id.Lit_VarLike 'file_patterns='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'file_patterns='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file_patterns='> name:file_patterns)
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'\n'> <'*.1\n'> <'*.c\n'> <'*.cpp\n'> <'*.h\n'> <'*.jl\n'> <'*.lsp\n'> <'*.scm\n'> 
                <'*.inc\n'> <'*.make\n'> <'*.mk\n'> <'*.md\n'> <'*.rst\n'> <'*.sh\n'> <'*.yml\n'> <'*Makefile\n'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <git>
                      more_env: []
                      words: [
                        {<git>}
                        {<--no-pager>}
                        {<grep>}
                        {<--color>}
                        {<-n>}
                        {<--full-name>}
                        {<-e>}
                        {(SQ <' $'>)}
                        {<-->}
                        {($ Id.VSub_DollarName file_patterns)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Error: trailing whitespace found in source file(s)'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'This can often be fixed with:'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'    git rebase --whitespace=fix HEAD~1'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <or>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'    git rebase --whitespace=fix master'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'and then a forced push of the correct branch'>)}]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [48 73]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
  ]
)