class_docstr: Transformer for help syntax: obj? and obj??
class_docstr_tok: ["Transformer","for","help","syntax",":","obj","?","and","obj","?","?"]
docstr: Find the first help command (foo?) in the cell.
          
docstr_tok: ["Find","the","first","help","command","(","foo","?",")","in","the","cell","."]
code: def find(cls, tokens_by_line):
      """Find the first help command (foo?) in the cell."""
      for line in tokens_by_line:
          # Last token is NEWLINE; look at last but one
          if len(line) > 2 and line[-2].string == "?":
              # Find the first token that's not INDENT/DEDENT
              ix = 0
              while line[ix].type in {tokenize.INDENT, tokenize.DEDENT}:
                  ix += 1
              return cls(line[ix].start, line[-2].start)
  
imports: import ast
  from codeop import CommandCompiler, Compile
  import re
  import sys
  import tokenize
  from typing import List, Tuple, Optional, Any
  import warnings
  from IPython.utils import tokenutil
label_desc: Use image node_id 2 for calling the HelpEnd obj's underlying member method code with example usage: obj.find(cls, tokens_by_line) and returns: cls