code: def indentation(logical_line, previous_logical, indent_char,
                  indent_level, previous_indent_level):
      r
      c = 0 if logical_line else 3
      tmpl = "E11%d %s" if logical_line else "E11%d %s (comment)"
      if indent_level % 4:
          yield 0, tmpl % (1 + c, "indentation is not a multiple of four")
      indent_expect = previous_logical.endswith(':')
      if indent_expect and indent_level <= previous_indent_level:
          yield 0, tmpl % (2 + c, "expected an indented block")
      elif not indent_expect and indent_level > previous_indent_level:
          yield 0, tmpl % (3 + c, "unexpected indentation")
docs: r"""Use 4 spaces per indentation level.
  
      For really old code that you don't want to mess up, you can continue to
      use 8-space tabs.
  
      Okay: a = 1
      Okay: if a == 0:\n    a = 1
      E111:   a = 1
      E114:   # a = 1
  
      Okay: for item in items:\n    pass
      E112: for item in items:\npass
      E115: for item in items:\n# Hi\n    pass
  
      Okay: a = 1\nb = 2
      E113: a = 1\n    b = 2
      E116: a = 1\n    # b = 2