code: def print_markers(f):
      
      @click.pass_context
      def new_func(ctx, *args, **kwargs):
          command = ctx.info_name
          assert command is not None
          command_name = ctx.command_path
          click_extensions.echo_with_markers(command_name, marker_color='green')
  
          def print_error(code):
              click_extensions.echo_with_markers('end of {} (exit code: {code})'.format(
                  command_name, code=code), marker_color='red')
  
          def print_success():
              click_extensions.echo_with_markers('end of {}'.format(
                  command_name), marker_color='green')
          try:
              ctx.invoke(f, *args, **kwargs)
          except SystemExit as e:
              code = e.code if e.code is not None else exit_codes.ABORT
              if code == 0:
                  print_success()
              else:
                  print_error(code)
              raise
          except click.ClickException as e:
              code = e.exit_code
              if code == 0:
                  print_success()
              else:
                  print_error(code)
              raise
          except click.Abort as e:
              code = exit_codes.ABORT
              print_error(code)
              raise
          except Exception as e:
              code = -1
              print_error(code)
              raise
          else:
              print_success()
              return
      return update_wrapper(new_func, f)
docs: A decorator that prints the invoked command
      before and after the command.